soapdog 1 day ago [-]
Tell us more about your books. I'm addicted to scheme books :-)
Also, what made you choose Haskell for your project? Can you share some of the reasoning?
reply
mark_l_watson 1 day ago [-]
I think the deployment story for Haskell is better than Racket. It is easy enough make standalone Racket executables but with stack and cabal it is baked in to easily build multiple executables, separate libraries, keep everything tidy.
Racket is much better to get something done and working quickly. Same comment for Common Lisp.
Haskell has great support for strongly types web services (servant) and lots of great libraries. Racket has a very rich ecosystem of libraries, custom languages (like Typed Racket). Both are great.
EDIT: It takes me longer to get to working code in Haskell but once written the code has higher value to me because it is so much faster/easier to refactor, change APIs, reuse in other projects, etc. I just did a major refactoring/code-tidying this morning, and it was very simple to do.
reply
---
" But now suppose we want to use a conditional in place of the operator, not the right-hand value. In a Lisp, because everything is an expression—including the operator itself—this is easy:
((if (< 1 0) + *) 42 100)
((if (< 1 0) + *) 42 100)
But if you try the same thing in Python, it will raise a syntax error:
42 (+ if 1 < 0 else *) 100
42 (+ if 1 < 0 else *) 100
Why? Because Python operators are not expressions. " [1]