\foo bar baz -> case (foo, bar, baz) of (Just 4, 3, False) -> 42 _ -> 0 -- becomes \cases (Just 4) 3 False -> 42 _ _ _ ->
extremelyLengthyFunctionIdentifier (Just a) False = Just 42 extremelyLengthyFunctionIdentifier (Just a) True = Just (a / 2) extremelyLengthyFunctionIdentifier _ _ = Nothing -- becomes extremelyLengthyFunctionIdentifier = \cases (Just a) False -> Just 42 (Just a) True -> Just (a / 2) _ _ -> Nothing
If you're curious about Haskell, IHP is a good starting point (https://ihp.digitallyinduced.com/ https://github.com/digitallyinduced/ihp). IHP is Haskell's version of Laravel/Rails/Django. It's really a superpower to have Haskell's type system combined with the rapid development approach of Rails :) (Disclaimer: I'm founder of the company that makes IHP)
1. Wasn't clear on environment/toolchain and ended up compiling for a long time just to install one package. Pretty sure I was doing it the wrong way but saw inconsistent information about what to do. I'm almost sure this is fixed by now, or at least enough for me to stop complaining about it.
2. The runtime seemed more annoying than I'm accustomed to. I remember trying to load some haskell code into another program, and it was modifying the signal handlers, which was totally unacceptable for my use case so I gave up. This is an area rust is much better.
3. It was difficult to use ghci-like functionality from another program (compile bits of haskell code). Maybe it's more library-like now and I can just use ghci now? Neither rust nor haskell is great here.
Interesting, is this a blockchain proof of stake/work system where the work done is running a CI for GHC?