Re:Elm for the Front End, Right Now
by eastWestMath on Wednesday November 23, 2016 @05:37PM
(#13026360)
Or maybe people could just become familiar with ML-style languages? The basic syntax shouldn't take more than an hour or two to pick up.
Well sure, but you could say the same thing about Lisp.
Re:Elm for the Front End, Right Now
by eastWestMath on Wednesday November 23, 2016 @08:00PM
(#13027084)
Well they're both the lambda calculus, Lisp just had parentheses.
Re:Elm for the Front End, Right Now
by kazinator on Wednesday November 23, 2016 @08:22PM
(#13027188)
Does lambda calculus have character strings, structures, exceptions, symbols, mutable variables, quoting code as data, macros and three different kinds of object equality?
it does have symbols
Does it really?
Some of the algorithms for reducing lambda expressions are symbolic, like, say, alpha reduction. But they are not done in lambda calculus itself, as far as I can see; they are done on lambda calculus (by the mathematician, or a machine for manipulating lambda calculus terms).
Analogy: just like ordinary algebra doesn't have symbols; but of course mathematicians work with symbols and so do computer algebra systems.
Since lambda calculus is Turing complete, it can of course represent lambda calculus manipulation (via Goedel numbering of lambda terms and then working with their arithmetic encoding as Church numerals, or whatever).
Ruby has optional parentheses around function parameters (usually it's recommended to avoid parentheses if possible). Shells have no parentheses around command arguments. These languages are mainstream and no one complains about this.
Re:Elm for the Front End, Right Now
by kazinator on Wednesday November 23, 2016 @08:24PM
(#13027206)
Of course, if we adjust "mainstream" so that it refers to that set of languages which have pass-by-value, strictly evaluated arguments, with no implicit currying, then your point is nearly self-evident. :)
Re:Elm for the Front End, Right Now
by redtuesday on Wednesday November 23, 2016 @06:33PM
(#13026686)
Yes, I agree, that took me also some time to get used to when I dabbled with Haskell and I looked at more complex programs.
There is a wide variety of syntax among mainstream languages, but basic function calls are pretty much all the same.
Take a look at Reason [1] for an example of how a functional language (OCaml in this case) can be made more familiar.
[1] https://facebook.github.io/reason/