Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yep, that's what I was getting at: Erlang/Elixir do this effortlessly. I'd love for the popular system languages to have the BEAM runtime.

Well, based on your comment, I might reevaluate Haskell. Last time I was severely put off by lack of good tooling (but I did hear cabal was improving) and a fragmented ecosystem. Maybe things have changed.



both cabal and stack have improved, there's now a pretty good language server in HLS, there's ghcup to download and install both GHC and tooling and manage it (both on linux and on windows). And for quick one-off experiments I usually use nix (I don't fully use it, too complex for my brain, but being able to do

    nix-shell -p 'haskell.packages.ghc{version).ghcWithPackages (pkgs: with pkgs; [any number of packages here])'
is just an insane superpower that lets me experiment stuff in ways that most other ecosystems would dream of)


You're probably aware of this but not many share the love for Nix. I tried it and got put off by the unnecessarily alien syntax. They honestly didn't need to invent their own language, there are plenty out there that are pretty close to what they are aiming at.

But it's not only that. It's a general problem of a high initial learning curve.

Modern tool inventors really have to finally learn that everyone is super busy these days. Make it brain-dead quick to learn or your tool will forever remain a niche curiosity for hobbyists.


I totally get that sentiment about nix, and actually I sort of share a variation of it too: I really want to learn it, and I like the featureset in theory, but I can't get used to it in practice, and I don't have the time to invest myself into something that difficult to get going.

The reason I brought up the nix command is that I only use nix, for haskell development, for that specific command: I found it once in a blog post, saved it, then put it under a function into my bashrc, and I use nix quite literally for only that purpose. I've done a lot of development on various functional languages (with a dayjob in F# that lasted 3 years) and being able to quickly experiment with libraries was something that I sorely missed when doing repl experimentation in those languages (I think F# recently got a #nuget directive, but that was after I stopped using it).


Curious and interesting.

Not to be the party pooper: didn't Docker work well for your Haskell use-case?


I personally haven't had much chance to use docker with Haskell specifically, but I imagine that it would definitely work, it would just take a bit more work to get going, so I just take the option that is less friction (at least for my specific usecases). Nix is also somewhat popular in the haskell community - especially when it comes to GHCJS (with tools like obelisk making it easier to develop cross-platform apps using web tech). So I just go along with the flow of the community, personally, especially considering that I use Haskell exclusively for my own personal stuff (sadly).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: