🔥 The fastest way to build type safe web apps. IHP is a new batteries-included web framework optimized for longterm productivity and programmer happiness
In recent years the Haskell ecosystem has drastically improved.
With Haskell Language Server (HLS) there's now great autocompletion and inline error reporting for e.g. VSCode and other editors.
We've recently got dot-notation, so you can type `myRecord.myField` instead of `myField myRecord`, which makes Haskell code feel more familiar when switching from other languages.
With IHP we now even have a Haskell version of Rails/Laravel. Check it out here: https://ihp.digitallyinduced.com/ (I'm founder of IHP)
So I came to Haskell from Scheme background, so the tail recursion was actually natural to me. In fact, about a month ago I did 2016 Advent of Code in Haskell, and toward the end, I felt like I was abusing tail recursion  to write iterative algorithms like breadth-first-search by essentially "repeatedly consing on to the params of tails calls", as Lispers would probably call it.
The whole I'm wondering if I'm just writing Haskell "with a heavy Scheme accent", since I see others' Haskell code make extensive use of state monads (which I still haven't attempted to understand), and I also found others' using way more of the monadic / applicative operators like "bind", etc than I have.
I found the hard part of Haskell not the iteration, which from tail recursion was completely natural and straightforward, but rather worrying about the efficiency of the "repeatedly consing" part. For things like stacks, the cost is O(1), but for things like Data.Array, I wasn't sure how much shared structure there was; I mean it could totally be copying the entire array every time I "mutate" an element (not really, since it was still sort of "consing" onto the old array and not actually mutating it).
Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.
clasp Common Lisp environment (by clasp-developers)
A curated list of awesome functional reactive programming stuff in js
bacon.js, most, and flyd. See also: https://github.com/stoeffel/awesome-frp-js
What was most helpful was the tutorials and explanations these projects had. Haskell projects, if they have documentation at all, are often written for other Haskell users, and so hard for me to understand as a novice.
IHP v1.1.0 has been released 🎉
1 project | /r/haskell | 24 Jul 2023
IHP Haskell Framework v1.1.0 has been released
1 project | news.ycombinator.com | 21 Jul 2023
Haskell Optimization Handbook
2 projects | news.ycombinator.com | 27 May 2023
Servant or framework
1 project | /r/haskell | 29 May 2023
IHP Haskell Framework v1.0.1 has been released
1 project | news.ycombinator.com | 6 Feb 2023