In accordance with our meta agreement, since one candidate received more votes than the others, we have a new featured language! Throughout April 2022, our Language of the Month will be:
Curry
What's a Language of the Month?
See the meta post for nominations. In short, during April, those who wish to participate should learn (at least the basics of) Curry, and use it to solve challenges. Participation is completely optional, but is anticipated to be fun!
Information about Curry
At first brush Curry just looks like a dialect of site darling Haskell. It has a slightly different basic library, and slightly more powerful pattern matching.
But Curry has something that makes it really interesting. Curry can also do logical programming. Meaning that while Haskell always takes the first available path, Curry will take all paths looking for correct result. You can get the compiler to do the search for you. This is the power behind Prolog combined with the clean expressive functional nature of Haskell.
Not only does this make Curry really unique and interesting as a language, this opens up all sorts of opportunities for golfing. Curry can be logical when it's the best and functional when it's not.
If you're into Haskell or Prolog golf I cannot recommend Curry enough. If you're not so into those but you are interested I think Curry is an excellent way to sample both techniques.
Resources
- Curry chatroom on CGCC
- PAKCS on TIO
- Sloth on TIO
- The MCC implementation.
- The KiCS2 implementation.
- The Curry2Go implementation.
- A Curry tutorial
- The KiCS2 manual.
- Currygle a Curry search engine based on Hoogle.