|
|
|
|
|
by wyager
3826 days ago
|
|
The liquid Haskell constraint approach is very interesting. I have not tried it yet, but it looks like it might be quite usable. Of course, the other popular approach is to use dependent types. I've recently run up against the limits of Haskell's type system in a number of projects, so I've been playing around with Idris. It's very cool to be able to promote arbitrary functions to the type level (and higher). The potential applications for static analysis are awesome. I recommend everyone play around with cutting-edge type systems. Doing so has really influenced the way I program and do math. Haskell is pretty far up there, especially with standard GHC extensions (DataKinds etc.). Liquid Haskell, idris, agda, etc. are even more powerful. If you're coming from a C/Python/Java/etc. background like I did, you'll be totally blown away. |
|