Andrew Martin
Andrew Martin
Also, I'm using liquidhaskell as a GHC plugin, not the old way, if that matters.
You're right. I just found `GHC.CString.spec`. The trick is that LH does something strange with module scope and reexports. I had to use `GHC.Prim.indexArray#` (and the same for `Array#`). Even...
But the LH spec parser does not like unboxed tuples, so it then fails on: GHC.Prim.indexArray# :: forall a. x:(GHC.Prim.Array# a) -> {v:Int# | v >= 0} -> (# a...
Impressively, LH understands this spec: GHC.Prim.indexIntArray# :: forall a. x:GHC.Prim.ByteArray# -> {v:GHC.Prim.Int# | v >= 0} -> GHC.Prim.Int# And then even more impressively, LH understands all the unlifted arithmetic operations:...
Thanks. That does work, and I've checked and found that `stitch-lh` actually does this same thing to get a usable version of `max`. One thing that's still unclear to me...
Yes, that makes perfect sense. I've PRed some documentation to GHC.Classes explaining the situation and the workarounds.
Dumping out some thoughts on this since I've been pondering today. One option would be to just treat an IP address as `Natural`. It wouldn't impact the type system at...
I think it's 1.0.0: /usr/lib/x86_64-linux-gnu/libuv.so.1.0.0
Ubuntu 18.04. I guess the libuv in its repo is just outdated.
This would be rather useful. For a number of applications that I develop, I use them both at the command line (for playing around with the tool I've built interactively)...