kthielen
kthielen
By the way, out of curiosity, why not do your arithmetic lift like this? ``` $ cat arith.hob instance (Add a b c) => Add [a] [b] [c] where xs...
Hi adam, I created a pull request to add an option to the shell to allow you to see constraints as they're resolved (https://github.com/Morgan-Stanley/hobbes/pull/344). This was enough to see what...
I see, `Op2` helps you avoid that boilerplate. But are you really filling out `Op2` with each primitive type? The way I wrote those array lifts for `Add`, it'll work...
A lens library is a good idea, we've got algebraic data types so it does little harm to introduce calculus (by way of infinitesimal types). We already have structural types...
FWIW, the path syntax is a pretty useful shorthand for consecutive field selection, for example: ``` $ hi -s > map( .x.y.z, [{a=1,b=2,x={c=3,d=4,y={e=5,f=6,z=i,g=7},h=8,i=9},j=10,k=11}|i o instance UpdateField () f x ()...
Doing that without type annotations is an interesting problem. It's come up before in other ways. The problem is that we've got to communicate to the 'Add' constraint that the...
Putting these previous bits together, I guess you could make something kind of like what you describe this way (using a phantom type to carry the intended modification field): ```...
Also if you don't like that syntax for updating and you prefer your `u(record, field, func)` syntax, if you've loaded that rupd.hob script above, then you can get this pretty...
Oops, sorry, you'd said that your goal was doomed so I took it as a challenge. If you're still looking for weekend plans, extending it to deeper paths is a...
Hmm, I'll have to look at that closely to see where the LLVM error gets through. It's definitely a bug if that happens. Taking a step back, the `uapply` definition...