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

If that's what you're looking for, why not rip out most of the language? You'll end up with something that looks a lot like Elm. You'll end up with a purely deterministic program with no i/o (albeit with a kind of crappy debugging experience).


Well because you need the rest of the language to make your program tell your system to do stuff.

Turns out `IO` is the most essential and useful bit of a Haskell program. That part can be left to the programmers. Haskell has a lot of facilities for making that nicer to work with as well.

I find that when I tell folks I work in Haskell full-time you can see their opinion of you change on their face. I'm not some kind of PhD genius programmer. I'm pretty middle-of-the-road to be honest.

It's just nice to have a language that makes the work of writing BLOBS straight-forward.


> Well because you need the rest of the language to make your program tell your system to do stuff.

That's not necessary for business logic, though. This would presumably be embedded in infrastructure that handled i/o separately.


I've heard of systems like Roc + Nea taking this to the extreme [0]. Totally a way to go.

Haskell, to some extent, can help you structure your program in this way where the business logic is just simple, plain, old functional code. You can write the data marshalling, logging, and networking layers separately. There are a few ways to tackle that in Haskell in varying levels of complexity as you would expect coming from other general-purpose programming languages.

[0] https://www.youtube.com/watch?v=zMRfCZo8eAc&t=952s




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

Search: