LIST ONLY - NOT FOR SHARING
Elm 0.17 is finally done enough to share. I am really happy with how things came out, and I hope folks are able to see how everything fits together in the new world. Now again, please do not post around about this on the internet. Discussions and questions should happen on elm-dev and #elm-dev as appropriate. Finally, please read this entire post.
Why so quiet about 0.17 so far?
I think Elm has benefited greatly from the fact that I am very deliberate about the overall narrative. How does Elm relate to JS? What makes this release timely? What makes it unique?
It is totally possible that I am being overly risk averse here. Or making bad estimates about the magnitude of the risk. Maybe! I just wanted to explain my behavior over the past few months. I am in a rough place trying to be open and predictable for the Elm community and trying to do what's best for Elm in terms of narrative. Please be kind to me, this project, and this community!
I am currently preparing a bunch of resources updated for 0.17. Not everything is done, but they are close enough. I recommend you read them in this order:
Examples showing the new stuff:
I have made a tarball of binaries for linux. Just untar it and add the executables to your PATH ahead of your existing Elm stuff.
If you can go this route, I'd like to know if you run into any problems. It would be best to catch any platform specific problems before the release!
Note: One person has reported that they needed to delete
~/.elm/to get things working. Please let us know if this is true for you as well.
Here are the things I still need to do:
- Write the 0.17 announcement
- Add back laziness primitives to
- Continue improving the gitbook (basically, lots of existing docs are moving to a different format and I'm adding stuff that has been on the back burner for a while)
I will be working on these things over the next week or two. Nothing is too hard, just need to churn through it on my own.
In particular, I think the 0.17 announcement will clarify the overall vision here and go into some details that may not be super clear based on the docs yet.
Covering the Web Platform
I outlined the overall goals for covering more of the web platform in this post. Currently 0.17 covers the following stuff:
I focused on these three to try to develop a nice pattern for web platform libraries. This is how subscriptions came to be in the first place. I expect to add libraries for mouse, keyboard, and history in the next few weeks. They are all pretty simple.
I am curious to get your feedback after you have read all the links I provided and made something with 0.17.
There is a lot going on here. Some of it seems scary if you do not know the whole story yet. For example, it seems crazy that there is not a signal library anymore. How can that be?! But when you see how everything fits together in 0.17, it becomes pretty obvious that this is a better world. It means my thesis now has very little to do with Elm, which is sad for me, but ultimately not that big a deal if it means Elm is a better and simpler language.
Also, please try to be friendly and positive in your discussions with me. Like, if you can frame things as a question (not a demand or statement) I would really appreciate that.