What I've learned since quitting Elm
qiita.com
qiita.com
There’s only a brief statement about Elm, in the beginning, describing why the author has quit using Elm, and then:
> In this post, I'll just highlight some of the most important things I've learned since the beginning of 2016 by using PureScript.
Quitting Elm has little relevance to what the author has learned about PureScript.
I guess the title could’ve just simply been What I learned in PureScript
Why do you think that? Haskell sees pretty widespread industry usage these days.
As for "hard to grasp libs," I find them much easier to use than C libraries. They're actually quite well suited to certain domains.
Yes, just for one example:
https://www.reddit.com/r/haskell/comments/86cg1u/jobs_obsidi...
Each week some new job gets posted on r/haskell.
For many, functional programming is just as much about expressive type systems, purity, and immutability as is about robust first-class funtions and higher order functions.
Lisp is like the python version of Haskell (as compared to Java I guess?) It's a rough metaphor but I think it makes enough sense.
Lisps are not very much like Haskell at all, and have different goals. Which is why today's ML-centric worldview of functional programming so often forgets about them.
I'd suggest waiting with OCaml until dependently-typed languages become more practical.
If you put the most valuable thing in the universe inside a box that can't be opened or permeated by any force in the universe--then that thing is no longer valuable. Go find the former #2. If you have a programming ideal and that ideal requires laziness--then you've messed up. You have to conclude that there was something flawed about the ideal.
I'm a lot more confident about laziness being bad than about what you're thinking of as "a pure immutable language" being bad, but part of the problem about laziness is that it's a feature apart from the language it's in. If you implement a cache with a hash table in any normal language, then you can later on check and see how much data you have cached, keep track of your cache hit rate, empty the cache, pre-load your cache from a previous run, and so on. To work with your cache, you have the language itself at your disposal. If you implement a cache with a lazy list in language X, then language X can't help you. You'll need to hope that whatever Gods dangled laziness before you, also have some tools dangled elsewhere.
Not at all what I am talking about.
Please consult the literature on the subject and then we can continue this conversation as equals.
Maybe if I read enough Foucault, or drink enough bleach, we'll be able to continue this conversation as equals :)
It is quite obvious from what you have said you are not aware of the literature surrounding laziness.
[0]: https://teratail.com
Anything port talks to is NOT Elm. Any custom element is also NOT elm. I really like some smart people in Elm community, they are kind. But I think they are like 3% of all. The real problem is development process and communication.
Agreed. It's a non-open-access open source project.
You may find it distracts from whatever technical point you were trying to make.
It's absolutely hilarious how Elm of all things was the #1 enemy of HN the last couple days. A language just about nobody uses (except me).
Yet suddenly everyone is just three degrees away from someone else who was irreparably wronged by Elm's creator. People coming out of the woodwork to show that they, too, are offended by such reprehensible behavior like removing a couple features from a programming language.
Web developers are literally the most oppressed people on the planet. This Evan guy messed with the wrong motherfuckers!
It's a great language. The community has been nothing but stellar to me - a complete novice at not just FP, but also JS and web in general.
The entitlement is unreal. "How DARE you create this great free thing, and have the AUDACITY to make it work the way you want it to?!"
Someone’s always going to get bent out of shape (<— I expect I’m creating a demonstration of that right here) with language usage, but please don’t write like a computer when talking with humans so as to avoid these sorts of remarks.
It’s kind of like interrupting someone when they are trying to make a point that is important to them by saying, “hey, you’re having a bad hair day” and then acting like this shouldn’t impact the confidence they have in their point.
In that case, why not use typescript for everything? Being pure is nice and all but it's not a goal in itself, especially if the language is extremely limited as a result.
I've quickly learned that I much more enjoy scrapping redundant code and relying even more on the type system, with things like Higher-kinded types, GADTs, etc.
Elm for me fills the niche of stepping stone into Pure FP (pure as in purity). It's a language I would be able to convince my coworkers to try out, and once they've gotten their feet wet, they can move onto PureScript or GHCJS.
The reason why stopping at Elm, IMHO, is bad, is that it does not foster innovation and trying out things, but restricts itself purely to the subset of what the core team has discovered/learned. This makes it impossible to try out new exciting things like this "A proof-of-concept UI library based on the incremental lambda calculus"[0] that does away with the need for VDOM diffing, and other interesting things.
Don't get me wrong, there is certainly appeal to having a simple language that everyone can quickly master (like Go), but it isn't the be all end all.
It's kind of like how Java and Go are shitty when all you want to do is masturbate over clever solutions, but there's something to appreciate about them for that same reason.
I agree that HN is quite serious, that's why I rarely comment. I'm actually a fun person lol
This "Elm" is some sort of JS precompiler, claiming a better program's name? Join the post-ES6 scrapheap with CoffeeScript, TypeScript, and every other joke precompiler. Write JavaScript in JavaScript, and if it's not sufficient, file bugs on ES6/7.
“... spare time trying o
ut Elm, to render...”
It’s basically unreadable without Safari’s reader mode.
word-break: break-allI assume this is normally a Japanese language site.