I'd like to take a few moments to address something I've seen in a few 
threads recently.

I think there might be scope for syntax reduction
>
 

> I suggest having some basic checks in the compiler for these areas where 
> special care should be taken.
>
 

> it is a bit of extra noise having to add that wrapper


I admire everyone's enthusiasm for Elm and that you're pushing the 
boundaries of what you can do with it. But I'd like to emphasize a few 
things.

*Elm is a young language.* The shortcuts and alternate syntaxes you'll find 
in mature languages like Ruby don't exist yet. Evan has been reluctant to 
add them since they're quite hard to remove (see Python 3), and he's said 
that "when you release a feature is part of the feature". Expect to find 
pain points and bugs. Expect to write a few shell scripts to orchestrate a 
large project, rather than have command line tools with dozens of options.

*Elm is a small and explicit language.* It's far simpler than HTML5-era 
JavaScript, much less ES6. As Joey pointed out in another thread, it's 
likely that "the complexity [a new feature] adds outweighs the brevity it 
adds". Elm favors boilerplate over magic. Sometimes code is repeated rather 
than being implicit.

A key corollary to the above is that *there is one Elm. *We don't have 
development and production environments like Rails. We don't have a config 
file like PHP. This makes code much more portable (think libraries) and 
lowers the barrier to entry. I've seen people ask for a way for their code 
to distinguish between dev and prod, and that's been taken care of by 
*programWithFlags*. Which brings us to...

*Elm development is driven by use cases.* What do you want to do, that is 
useful in a context outside the language itself, that you can't do now, or 
that relies on ports to do now? We don't respond to "I want to code this 
way" or "this would be a neat feature" or "why isn't everything a 
component?". We respond to, "I can't determine the size of this div" or "I 
can't set the focus on the element I want".

I wish there was a way to say this without getting up on the soapbox, but I 
hope our eager contributors can really internalize these ideas and make 
great things in Elm.


-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to