Guide to installing Elm, comments welcome

97 views
Skip to first unread message

Claudia Doppioslash

unread,
Aug 14, 2015, 7:17:27 AM8/14/15
to Elm Discuss
Hello all,

I've made a guide to installing Elm locally in an easily upgradable and command-line friendly way on Mac/Unix.
Looking for feedback before I push it to lambdacat.com and post it to twitter.
My method may be a bit different than what everyone else is doing, would be good to have some comments.

Cheers,

---
Claudia Doppioslash

@doppioslash

Janis Voigtländer

unread,
Aug 14, 2015, 7:48:27 AM8/14/15
to elm-d...@googlegroups.com

I’m not a user of various of the tools in your post (halcyon, elmenv, sublime), so I can’t comment on many of the details in your steps. Just a few other comments, maybe useful:

When referring to the Haskell platform, saying that it is “a few versions behind, so when you want to use libraries that require a newer ghc or cabal, you will end up straight in cabal hell” is not right. Yes, there are pros and cons about the platform. But as a matter of fact, the current Haskell platform is using the brand new version of ghc (released two weeks ago), and is also using the latest version of cabal. No “few versions behind” in sight.

A typo: “Haskelll”.

The example at the very end: Have you tried running this code in debug mode? I bet it isn’t doing what you say it does. Is there really a watch coming up in the reactor? As far as I know, something like Debug.watch "mouse" Mouse.position will not work. Instead you need Signal.map (Debug.watch "mouse") Mouse.position. See this note. Without having it tried again now, I’d say your example code will show zero watches, which is probably a disappointing close for a reader of the post trying this out.


--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Claudia Doppioslash

unread,
Aug 14, 2015, 8:30:48 AM8/14/15
to elm-d...@googlegroups.com
Hi Janis,

thanks for your comments.

When referring to the Haskell platform, saying that it is “a few versions behind, so when you want to use libraries that require a newer ghc or cabal, you will end up straight in cabal hell” is not right. Yes, there are pros and cons about the platform. But as a matter of fact, the current Haskell platform is using the brand new version of ghc (released two weeks ago), and is also using the latest version of cabal. No “few versions behind” in sight.

It is up to date now, but it's updated rarely enough that before the next one will land there will be cabal hell.
My experience with Haskell is mainly compiling tools I want to use, and starting to learn it time and time again. And every time I started from scratch I fell into cabal hell because I used the Haskell Platform. Which is not something you want a developer new to Elm to have to do.
I'll try to find a way to phrase my objection better.

The example at the very end: Have you tried running this code in debug mode? I bet it isn’t doing what you say it does. Is there really a watch coming up in the reactor? As far as I know, something like Debug.watch "mouse" Mouse.position will not work. Instead you need Signal.map (Debug.watch "mouse") Mouse.position. See this note. Without having it tried again now, I’d say your example code will show zero watches, which is probably a disappointing close for a reader of the post trying this out.

I have tried and it didn't show anything, thanks for the fix.

--

Janis Voigtländer

unread,
Aug 14, 2015, 8:41:47 AM8/14/15
to elm-d...@googlegroups.com

Yeah, I didn’t say the Haskell platform was perfect. Just pointing out the factual contradiction.

As a tangent, Re:

It is up to date now, but it’s updated rarely enough that before the next one will land there will be cabal hell.
My experience with Haskell is mainly compiling tools I want to use, and starting to learn it time and time again. And every time I started from scratch I fell into cabal hell because I used the Haskell Platform. Which is not something you want a developer new to Elm to have to do.
I’ll try to find a way to phrase my objection better.

There’s actually hope that concerning the Haskell platform specifically, the situation will improve. It’s not pure coincidence that the current release came out right after the latest ghc. They have actually switched the version number scheme of the platform to mirror that of ghc (rather than being some year/month combination). So at least the ambition is that from now on you won’t see the versions of ghc generally and ghc in the platform diverge like in the past. The current release marks a beginning.


--

Claudia Doppioslash

unread,
Aug 14, 2015, 8:52:06 AM8/14/15
to elm-d...@googlegroups.com

Yeah, I didn’t say the Haskell platform was perfect. Just pointing out the factual contradiction.

I assumed that, while not relevant now, it would be true again in a little time, a cyclical truth just momentarily imprecise, 

There’s actually hope that concerning the Haskell platform specifically, the situation will improve. It’s not pure coincidence that the current release came out right after the latest ghc. They have actually switched the version number scheme of the platform to mirror that of ghc (rather than being some year/month combination). So at least the ambition is that from now on you won’t see the versions of ghc generally and ghc in the platform diverge like in the past. The current release marks a beginning.

I see, that makes sense. Also renders my description of the Haskell Platform definitively outdated. Thanks for pointing it out.
Hope that works out as intended, the Haskell Platform being treacherous has set my learning of Haskell back multiple times and left me quite bitter.

Gil Mizrahi

unread,
Aug 14, 2015, 10:10:41 AM8/14/15
to Elm Discuss
Regarding Haskell Platform, it is also possible to get Haskell stuff on one's computer using stack. It might be worth a look.

Regarding the guide, I have a to say that I find it hard to believe that I should go through all the trouble of installing Elm using this process instead just installing Elm from an official installer. Especially when I need to install halycon, GHC and Cabal, build from source, and all the guide says is one line to run and "see the halcyon tutorial for issues".

Also, the guide is a little bit divided to two section, one is actually about the setup of elm environment and the other is about using elm. Perhaps it will make more sense to divide it to two parts? (I don't know.)

Thank you for writing this guide and I hope my feedback helps in any way,

Gil

Claudia Doppioslash

unread,
Aug 14, 2015, 10:40:43 AM8/14/15
to elm-d...@googlegroups.com

Regarding Haskell Platform, it is also possible to get Haskell stuff on one's computer using stack. It might be worth a look.

I heard good things about it, but haven't tried. I do list it amongst the things one can use to install Haskell.
 
Regarding the guide, I have a to say that I find it hard to believe that I should go through all the trouble of installing Elm using this process instead just installing Elm from an official installer. 
Especially when I need to install halycon, GHC and Cabal, build from source, and all the guide says is one line to run and "see the halcyon tutorial for issues".

It is my preference to achieve a command line only workflow and to keep more than one version of a language around, for the inevitable time where old code breaks in the new version of a language.
I'm not really making a case for it in the guide, though, as I think the pain of having your code break after installing the latest version when you're about to do a demo or something has to be felt in first person to be effective. 
It' s more like, if the reader already wants to do this, here is a series of steps that worked for me.
Maybe I should explain better why one would want to do this.
 
Also, the guide is a little bit divided to two section, one is actually about the setup of elm environment and the other is about using elm. Perhaps it will make more sense to divide it to two parts? (I don't know.)

That's a good point, I wondered myself. I guess if one has installed Elm, one would want something to do to try it out. But I could break it into two, perhaps it makes more sense.

Thanks for reading and commenting.

Janis Voigtländer

unread,
Aug 14, 2015, 10:46:04 AM8/14/15
to elm-d...@googlegroups.com

Regarding Haskell Platform, it is also possible to get Haskell stuff on one’s computer using stack. It might be worth a look.

I heard good things about it, but haven’t tried. I do list it amongst the things one can use to install Haskell.

There I have to chime in again. :-)

You do list stackage, but not stack. The two are different things.


--

Claudia Doppioslash

unread,
Aug 14, 2015, 10:55:49 AM8/14/15
to elm-d...@googlegroups.com
The first thing the stackage website tells you to do is install stack, I thought they were together ^^;
I could say 'use stackage through stack'.

On 14 August 2015 at 15:45, Janis Voigtländer <janis.voi...@gmail.com> wrote:

Regarding Haskell Platform, it is also possible to get Haskell stuff on one’s computer using stack. It might be worth a look.

I heard good things about it, but haven’t tried. I do list it amongst the things one can use to install Haskell.

There I have to chime in again. :-)

You do list stackage, but not stack. The two are different things.


Janis Voigtländer

unread,
Aug 14, 2015, 11:08:57 AM8/14/15
to elm-d...@googlegroups.com
Yeah, 'use stackage through stack' makes sense.

And yes, the two co-develop now. But are really different things. Stackage is a bit of a Hackage alternative, and has been existing for a while. Stack is a bit of a Cabal alternative, and is quite a bit newer. It has always (since Stackage came into being) been possible to use Stackage with Cabal. And it is possible (and not uncommon, I think) to use Hackage with Stack. Neither of Hackage, Cabal, Stackage is giving the user a way to install GHC. Stack does. In fact, Stack seems to aspire to among various other things also do many of the things that Halcyon has been made for.



--

Claudia Doppioslash

unread,
Aug 14, 2015, 11:25:07 AM8/14/15
to elm-d...@googlegroups.com
I see, good to know, thanks.
I'll have to try it at some point.

On 14 August 2015 at 16:08, Janis Voigtländer <janis.voi...@gmail.com> wrote:
Yeah, 'use stackage through stack' makes sense.

And yes, the two co-develop now. But are really different things. Stackage is a bit of a Hackage alternative, and has been existing for a while. Stack is a bit of a Cabal alternative, and is quite a bit newer. It has always (since Stackage came into being) been possible to use Stackage with Cabal. And it is possible (and not uncommon, I think) to use Hackage with Stack. Neither of Hackage, Cabal, Stackage is giving the user a way to install GHC. Stack does. In fact, Stack seems to aspire to among various other things also do many of the things that Halcyon has been made for.

Reply all
Reply to author
Forward
0 new messages