Today, I'm proud to announce a (free and open-source) project that I've been working on for many years:
NeoHaskell, a dialect of Haskell that pri...
Some comments have been hidden by the post's author - find out more
For further actions, you may consider blocking this person and/or reporting abuse
Great post my friend, I see myself as one wannabe Haskell developer who always give up because all that complexity that you mention. Fortunately, I found refuge in Ruby, but the intention to go deeper with Haskell is always behind me 🤣 like a shadow.
Glad that you've liked it, I hope one day NeoHaskell will be so smooth that you can replace Ruby with it :)
I support your goals. I got halfway through a book titled An Outsider's Guide to Statically-Typed Functional Programming, which intended to build up a dev's knowledge, starting with Elm and moving to PureScript, and I gave it up for some of the same reasons you started this project.
The Elm portion of that book (all that I completed) might be of use to you, as I think it provides what I thought was a beginner-friendly path that's aligned with your goals. I could be tempted to rewrite the book in NeoHaskell...
P.S. I couldn't join the discord: "Invite Invalid
This invite may be expired, or you might not have permission to join."
Send me a DM on Discord to NickSeagull. Some people are having trouble with the link, and I'm not sure why.
Sorry I lost this. I've sent you a friend request.
This sounds very valuable. I love writing Haskell code, but I wasted many hours trying to get the tooling to work for me. In its current state, there's a 0% I can use Haskell at work, because even though I'm competent in the language, it would be irresponsible for me to commit to a language (and particularly libraries) where I have to worry about getting stuck. Not to mention that my coworkers would not be able to contribute and would not be excited to learn entirely new paradigms and syntax (unlike me).
But if the tooling story were clearer and more trustworthy, I would definitely use Haskell more often.
You may take some flack for this, but this is a very good philosophy IMO. Good for you.
Good luck :-)
What about Elm? Elm sounds like a stripped version of Haskell. Simple and reliable, I would also add that it's not difficult to learn. The only tasks that's left is to make it a backend language.
Elm is great! In fact, I've given a stab trying to make it a backend language at some point. Still, it is not designed with backend in mind, so there are things that are still rough in terms of DX, like, defining services (as in code-organization), or even, there are tasks that are inherently imperative, like scripts, and processors.
Yes, Elm could be modified to support that, but in reality, Haskell already supports all of Elm (except anonymous records, but that's solvable), as well as the other good stuff for backend dev.
On top of that GHC is a great compiler that is very extendable, as well as a great performant runtime.
My theory is that by transmuting Haskell into NeoHaskell will have a much better outcome than trying to make Elm something that it wasn't designed for :)
You've made a good point of Elm's design not supporting backend from the beginning. Thanks.
what an awesome work, I'm thrilled to see this evolving, I have a lot of curiosity with haskell but couldn't get my head around it
Continual satisfaction is really desirable :-) . My only concern is that the return of reverse Polish notation won't bring it to me....
I sincerely hope your languages can be for Haskell what Elixir became for Erlang. Users before anything!
Share and enjoy!
Where do you place this within roc and gleam and others in related spaces?
Roc and Gleam are projects that I've tried and I'm excited about :)
The thing is that they are new ecosystems on their own, and I wanted to build something within Haskell, as I believe it has a lot of potential, and it is already being used in production :)
You mean NeoHaskell being a simpler (yet as powerful) version of Haskell could use all Haskell's libraries?
Correct! Think of NeoHaskell for Haskell as Elixir for Erlang :)
It will limit the things that you can do, but also it will allow you to do other stuff, while retaining the possibility of interacting with all Haskell's libraries :D
The reason I was asking this precise question about Haskell libraries, wouldn't the person deling with Haskell librarie know Haskell itself? Meaning the person will eventually grow out of NeoHaskell because of using Haskell's ecosystem. Or it could be used irregardless whether you know Haskell or not?
So, the idea is to be a parallel ecosystem that leverages the Haskell one. Yes, at the beginning it will be harsh (same as when Python libraries were beginning and had to interface with C. But with time, the ecosystem will be NeoHaskell
NeoHaskell in other words: The discipline not to get advanced with Haskell. At the end of the day, Haskell is, first and foremost, a research language and many people are tempted to apply its cutting edge features, which understandably make things overly complex.
I don't see it as that. The issue is not being advanced or not (in many languages they are doing advanced things with reflection, meta-programming, and other stuff) the thing with Haskell is that it is rooted in math concepts that are tangent to the world of software development. In C# folks are using LINQ without knowing what a Monad is, or Express.js middlewares without knowing what a Monoid is.
NeoHaskell is focusing on software development and pragmatism, removing the nice to haves
This post has rainbow puke all over it...
I had to laugh heartily at "oh, yes, I didn't implement anything yet" and "I'm the one who calls the shots" one paragraph before that. Good luck but I won't be holding my breath. Better advocate for Scala 3 I guess.