Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Is it just me or is it actually impossible to type anything?
  • I thought you were talking about typing in Haskell at first lol.
  • Hm, works fine here (Firefox on Ubuntu).

    But getLine doesn't seem to be implemented, so there is output but not yet input :)

  • Just you. Once the editor actually loads (turning the “Haskell source” pane on the left from the page background’s deep violet into a dark gray and displaying a “hello world” program), I can type perfectly fine. And I’m using a browser based on WebKitGTK, which is not exactly known for its stellar compatibility.
  • Serious question. Is Haskell still a thing?
  • We cannot even include it in stagex because there is still literally no way to compile it from source and thus no way to do a real reproducible build, and there is no one left that cares about the language enough to do this.

    Honestly it has to be regarded as a dead language until this is resolved.

  • Yes, it's still a thing.
  • Pandoc is an extremely popular Haskell tool.
  • https://emanote.srid.ca is written in Haskell.

    (I'm the author)

    by srid
  • Actual title: "GHC now runs in your browser"
  • Can anyone point to a "practical Haskell" tutorial/book/whatever for people that already know functional programming? I'm in this sour spot where most tutorials are boring to me so I just can't follow through.

    I know what a monad is. What a typeclass is. Even what HKTs are. I can make sense of "a monad is just a monoid in the category of endofunctors" if I give it a few minutes to unravel the ball of twine... But I wouldn't be able to code a "ToDo list" in Haskell if my life depended on it.

    Pls help.

    by kaoD
  • Have you tried Real World Haskell?
  • Build a snake game in stages: https://github.com/lsmor/snake-fury

    Build a small web-app: https://jaspervdj.be/posts/2017-12-07-getting-things-done-in... (the video link is down, but exists somewhere on youtube.)

  • That is a really tough spot to be in. I don't know of any content that's aimed at someone like you.

    You might be interested in reading the Monday Morning Haskell blog[0] series, which presents examples of how to do certain tasks in Haskell. See [1] for an example.

    [0]: https://mmhaskell.com/blog

    [1]: https://mmhaskell.com/blog/2025/5/19/comparing-code-leetcode...

  • I typically recommend LYAH (https://learnyouahaskell.github.io/chapters.html), followed by Real World Haskell (already mentioned).
  • You might be better served talking to ChatGPT/Claude so it can tailor explanations based on your level of understanding. I've found that being super clear about concepts you understand well vs concepts you're unclear about makes for really effective explanations.
  • I always liked https://www.extrema.is/articles/haskell-books/haskell-tutori... . But there's a lot out there. Have a look at https://joyful.com/Haskell+map . Or: read code. Or, just build practical stuff and seek help in the chats/fora when you hit problems.
  • Seconding Haskell in Depth.

    But aside from resources, if you actually have something you want to build in Haskell, just go for it and struggle through --- that's the best way to learn that I've found

  • Can someone please help me understand the difference between features like this and the technologies like Blazor Wasm which actually let you write frontend in non js for websites?
  • Does it use WasmGC, or bundle its own garbage collector?
  • WasmGC is still a 1.0, there are many kind of GC semantics that it cannot handle, for example it still doesn't cover all use cases needed for languages like C# and Go, e.g. interior pointers.
  • I think WasmGC is very hard to make work with laziness. A lazy value is always a closure on the heap.

    If an expression might be unused, throw a closure which computes it on the heap

    If the value is actually needed, invoke the closure. Optionally replace the closure with a black hole. A black hole is just a closure which pauses any thread which calls it, to be resumed once the first thread finishes with the expression

    Once finished, replace with a closure which immediately returns the computation result. (Or often save the indirection because most concrete values also act as closures which immediately returns themselves using info table pointers trickery)

    Anyway, iirc WasmGC wants very rigid types without dynamic type changes. Extra indirections could fix that, Oor maybe defunctionalizing thunks into a tagged union, but both sound expensive. Especially without being able to hook into the tracing step for indirection removal.

    Also, Haskell supports finalizers so WasmGC would need that as well.

  • This is very impressive. I once built an educational Haskell programming + math. + art web site (mathvas.com). Something like this would have simplified that a lot.
  • Cannot paste into the editor (safari on iphone).
  • For those not well versed in Haskell, GHC is apparently this:

    https://www.haskell.org/ghc/

    What is GHC?

    GHC is a state-of-the-art, open source compiler and interactive environment for the functional language Haskell.

  • GHC (the Glasgow Haskell Compiler, after its original host university) is the de facto Haskell compiler and simultaneously the main research vehicle for the language and the neighbouring design space in general.

    And frankly, while the compiler is awesome and so is the research, the constant churn and seeming inability to settle on what the good programming style and set of features actually is is what eventually turned me away from the language and to the more stable (if near-abandoned) pastures of Standard ML. (That was during the type families upheaval, so, about ten years ago? Don’t know how well it reflects the current state of the project.)

  • Can the Haskell people help me refresh my memory?

    I remember running a Haskell interpreter on an HP Jornada running Jlime Linux. It was a long time ago in high school and I felt it was great because I thought it was a convenient way to do math classes since I could input some math formulas directly into the interpreter pretty much as they were. Definitely better than the Cassio scientific calculator my math teacher had us use.

    It ran from a CF card so there was no chance it was as big as GHC. I can't seem to find the name of the interpreter.