About "A friendly functional language ..."

841 views
Skip to first unread message

Evan Czaplicki

unread,
Aug 31, 2016, 5:07:20 PM8/31/16
to elm-dev
In this post, Robert mentioned that "functional" is not a meaningful term to a lot of folks. Unclear how to make the header of the home page nicer. I may regret this idea, but let's use this thread as a way to brainstorm what should be on those two lines.

What words do you suggest? What's the theory behind them?

In terms of brand words, I think we want something in the spirit of: fun, friendly, delightful, reliable, etc. Connected to daily experience and common problems. Not words like "safe" though.

Peter Damoc

unread,
Aug 31, 2016, 5:42:17 PM8/31/16
to elm...@googlegroups.com
"Functional" is a label that means different things to different people. 

Going through the SICP videos was my first true exposure to the actual concept of functional as in "always the same output for the same input" BUT this became a reality only after I've started programming in Elm. 

Of course, people coming to Elm from Haskell/OCaml/Scala/F# will know what "functional" means. Unfortunately, they are not the main target. 
The main target I guess are people who will be coming from JS and not any kind of JS but the kind that got to big to manage. 

I think that behind the words should be a value proposition

A delightful way to produce reliable, scalable and maintainable webapps. 


Alternatively, it could be a little bit more fun and be like 

A delightful way to produce [............. ] webapps. 

and have the words roll into the space of the dots. :)  



 

--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/CAF7GuPF7uqWcBJyPFi0eCN1PyvU-G%3DbwsoR-djE%3D7fjo0oRb_A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.



--
There is NO FATE, we are the creators.
blog: http://damoc.ro/

Matthew Griffith

unread,
Aug 31, 2016, 5:42:37 PM8/31/16
to elm-dev

I think its interesting to consider that the slogan for elm may not need to mention how it technically achieves its goal.  

Is the slogan a high level technical description of the language (which it could be) or is it a high level description of why elm is awesome?  This is an honest question...

People reading the existing slogan need to be sorta sold on the words functional, immutability, and types.  

It's interesting mentioning types to some of my developer friends because (and most of them come from Javascript, Python or Ruby), it has a lot less meaning to them than it does to me.   I don't think they are looking for a language that gives them easier access to types...even though they would benefit incredibly from Elm and are Elm's potential audience.  Sorta the same with immutability.  Not many of them are looking at how to make their state more immutable or realize that this gives you access to awesome stuff.

So, with all that, here's my go at it

Elm
A blazingly fast frontend language that doesn't break
Who knew compiling to javascript could be so much fun?

Evan Czaplicki

unread,
Aug 31, 2016, 7:48:06 PM8/31/16
to elm-dev
I really like these, thanks! :D

Here's my evolution:

Elm
A delightful language for reliable webapps
Great Performance. No Runtime Exceptions. Fun to Use.

I guess it is important to have a note about JS. That exists in features as JS interop, but I think it'd be good to emphasize that "this compiles to JavaScript" in some way. Not sure the perfect way yet. It may not need to be in the header part though.

What do you think? More evolutions?

--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.

Evan Czaplicki

unread,
Aug 31, 2016, 8:00:46 PM8/31/16
to elm-dev
Okay, I went for a version that gets the old bad one off the page at least!


I also reordered and modified the "Features" section. It tells more of a story now. Compile to JS. Unlike JS, we have no runtime exceptions. If you wonder if that makes us slow, no! Also, cool stuff.

Max Goldstein

unread,
Aug 31, 2016, 8:45:03 PM8/31/16
to elm-dev
Looks great! Minor quibble, I think Generating should be Generate on the second line.

Evan Czaplicki

unread,
Aug 31, 2016, 10:04:34 PM8/31/16
to elm-dev
Thanks!

As of a little while ago, I switched to the "Get Started" button and all the install and get-started information is consolidated here.

I also made Max's change ;)

On Wed, Aug 31, 2016 at 5:45 PM, Max Goldstein <maxgol...@gmail.com> wrote:
Looks great! Minor quibble, I think Generating should be Generate on the second line.
--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.

Matthew Griffith

unread,
Sep 1, 2016, 11:08:17 AM9/1/16
to elm-dev
Great!

Few notes/observations
  • Delightful sounds a bit antiquated
  • I routinely see people describe elm as fun.  This point resonates with me.  All these features we have culminates in frontend development being an awesome experience.  This is the final emotional payoff.

Elm
Write fast, rock-solid webapps that don't break at runtime.
Who knew compiling to javascript could be this fun?






Brian Slesinsky

unread,
Sep 1, 2016, 11:21:03 AM9/1/16
to elm-dev
To explain "functional" without jargon, maybe something like this:

"Elm has consistent and reliable functions. If the input didn't change, the output doesn't change."

Frederick Yankowski

unread,
Sep 1, 2016, 12:20:55 PM9/1/16
to elm-dev
I think "fun" is a good anchor.  ("Delightful" is a charming word but does seem a bit dated, and I'm far older than most of you all.)

Part of the fun is having a safe basis for re-working / re-structuring an app fearlessly. It's awkward to work "re-factoring" into a slogan though.  Maybe something like:

"Elm makes it fun to build and improve your web apps -- it just works."

or 

"Elm makes it fun to build and improve fast, reliable web apps -- it just works"

Dave Keen

unread,
Sep 1, 2016, 12:39:23 PM9/1/16
to elm-dev
I also think delightful sounds a little strange. What about 'lovely', then you get the alliteration?

A lovely language for reliable webapps.

Shame there isn't anything starting with w to describe the webapps...

Dave Keen

unread,
Sep 1, 2016, 12:39:59 PM9/1/16
to elm-dev

Peter Damoc

unread,
Sep 1, 2016, 1:20:24 PM9/1/16
to elm...@googlegroups.com
On Thu, Sep 1, 2016 at 7:39 PM, 'Dave Keen' via elm-dev <elm...@googlegroups.com> wrote:
I also think delightful sounds a little strange.  What about 'lovely', then you get the alliteration?

I'm a non-Native English speaker and I like the word "delightful".... it sounds more joyous than "fun" somehow BUT "fun" is a 3 letter word and short words are simple and delightful :) 

 
A lovely language for reliable webapps.

Shame there isn't anything starting with w to describe the webapps...

Sean Clark Hess

unread,
Sep 1, 2016, 2:53:35 PM9/1/16
to elm...@googlegroups.com
Don't forget that a lot of people ARE looking for a functional solution for web applications. Even if it's not in the tagline, I think that it is worth saying somewhere on the main page. 

--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/CACpbLoJqh_dnizNkGKDbvnUDi2zU74f2LR5LgdY9DjDcQ0E2Mg%40mail.gmail.com.

Berry Groenendijk

unread,
Sep 2, 2016, 2:37:46 AM9/2/16
to elm-dev
Another selling point for me is TEA. TEA should be a feature mentioned on the main page. TEA is clean, simple to understand and best of all you can not cheat. An update function in a view, for example, is simply not possible. Most frameworks I have worked with were not this strict. And this strictness is a blessing. It leads, almost automatically, to clean, readable and maintainable code. TEA makes reasoning about your program much more easier.

Op donderdag 1 september 2016 20:53:35 UTC+2 schreef Sean Hess:

Steve Taylor

unread,
Sep 2, 2016, 5:43:18 PM9/2/16
to elm-dev
This is sure to be a minority case, but I was drawn to Elm by the very word "functional". I thInk there's a broad understanding that there's a move towards a new paradigm (how I hate that word...) in programming, and that plenty of people (myself included) want to see what it's all about.

I'm not a front end programmer and don't use JavaScript, but Elm looked like the most approachable entry point into the functional world.

By contrast, introducing a language by saying that it's powerful and easy to use or the like doesn't give me a reason to be interested - after all, everybody likes their favourite language, so I pass over claims like that.

Again, I'm aware that I'm not the prime target for Elm.

OvermindDL1

unread,
Sep 2, 2016, 6:34:32 PM9/2/16
to elm-dev
My voice too, I was drawn to elm because 'functional', my favorite type of languages.

surfncode

unread,
Sep 3, 2016, 2:31:38 AM9/3/16
to elm-dev
I have to go with 'functional' too. I' m not sure I would have given elm any considerations without it. 

The question is, how broad your target audience should be ? Is it realistic to think that front-end beginner programmers will give elm a shot ? It seems to me that if you're getting started in front-end development, you will probably follow the main stream, and go with javascript.

I guess, at the moment, elm targets mostly programmers with some previous (bad?) experience in the front-end world, and those developers are more likely to have educated themselves to other alternatives such as react, angular, ember. I mean, even if they didn't use any of them, they probably browsed the web looking for whatever may exist that could ease their daily pain :-) My point being, those folks have probably heard about the functional paradigm.They are probably aware of its sustainability advantages over imperative language and they are now looking for a way to use it in the browser. 

The React team itself puts an emphasis on how functional and immutability provides better guaranties when designing large web apps. Functional seem to be trending those days, using the word is like co-branding your product with a popular brand.

I may overgeneralize my own experience. I understand you want to broaden your audience. I'm just wary that by adopting a more general tone (and less technical), you actually loose some people looking for a precise type of solution, one that should fulfill some criteria based on what is trendy in the web development world. From my browsing experience, those world seem to be precisely those you're trying to get rid of: functional, immutable, pure :-) 

Wouter In t Velt

unread,
Sep 5, 2016, 6:24:04 AM9/5/16
to elm-dev
My vote for "functional" too. But depends on intended audience of course, like:
  • Those with web dev background (e.g. Javascript with React + possibly redux), with a reference like "I only have a vague idea what functional means, but I hear it is supposed to bring goodness". -> Functional would help to explain that Elm fits the bill
  • Those with a functional background, whose reference could be like "I have tons of experience with functional, but I wish it were more fun, easy, simple, delightful etc"
I would put myself in the first audience: so for me, functional in the tagline would help. Functional, immutable, type safe were - for me at least - keywords that drew me to Elm-lang.org.
Once I got there "No runtime exceptions" is a big one (for anyone with any JS experience I guess).
And good to learn that is at least as (but really way more) delightful and performant than react and flux.

Brad Grzesiak

unread,
Sep 7, 2016, 12:39:21 PM9/7/16
to elm...@googlegroups.com
I'm definitely an OO-trained and OO-leaning developer. For the last 8 years, I've been doing Ruby (Rails) along with a bit of JS. I do have a CS degree, so I have some decent exposure to other paradigms.

What brought me to Elm (besides my coworkers) was the "functional." Now that I'm here, however… what makes me happy is the strong type checking (and, tangentially, the friendly compiler).

Just my 2¢
Brad



--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+u...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


Brad Grzesiak
CEO, Bendyworks
mobile: 608-347-5689
office: 608-230-6788
106 E. Doty St, Suite 200
Madison, Wisconsin 53703
http://bendyworks.com/

Xananax

unread,
Sep 26, 2016, 11:25:35 AM9/26/16
to elm-dev
I know I'm very late to the parade, but I still wanted to add my 2c.

Personally, I think the value proposition of "functional" matters; I know it did matter a lot to me. However, I was interested in functional way before I even knew it was a thing (I'm self-taught). I used other words to describe it. 

One such word I used often was to say a function was "consistant".

I think "consistant" is a strong word that express the values of functional programming without falling into jargon. It expresses the importance of types and purity, while staying very "layman".

I find it better than "reliable", which means nothing. When I think of branding, a good exercice to do is ask "is anyone else advertising the same thing?". In the case of "reliable", of course yes. Every framework promises "reliable", and as a result, it is a word that becomes void of meaning. A framework producing reliable apps is an expected absolute minimum, not a value proposition. The slogan thus reads for me as "a delightful language for <bleep> apps". "Reliable" is marketeese speech, and gets skipped over like it doesn't exist.

To note, I'm not particularly pushing for "consistant", but I do highly advise picking precise words that differentiate a product from the competition; something that "reliable", in my opinion, fails to do.
Reply all
Reply to author
Forward
Message has been deleted
Message has been deleted
Message has been deleted
0 new messages