3 ms·
So it sounds like there's Elm the framework and Elm the language then. The language is the language and the framework gives inversion of control. So this is a b
by jgwil2 6y ago
So it sounds like there's Elm the framework and Elm the language then. The language is the language and the framework gives inversion of control. So this is a bit unique in that usually frameworks are built in a language that has other uses, but how is it qualitatively different from programming in any other framework?
- zachrose 6y agoA little bit of both! Elm the language is different from JavaScript, Java, Ruby, etc because there is no facility for statements or imperative APIs. It’s restricted in that sense. Frameworks in those languages still have some inversion of control, but there’s nothing stopping you from making a network request in your Celsius/Fahrenheit conversion function. (And over enough time that’s usually what happens, and you have fewer constraints with which to reason about what the code does.) I can’t speak for languages that are similarly restricted, like Haskell, but my impression is that Elm is different because you don’t have to learn extra rule-bending mechanics to do I/O. The Elm approach is unique, as far as I know. And while it doesn’t make for a truly all-purpose programming language, it’s a great model for developing libraries and applications on the web. I’m just a bit “surprised” there isn’t a similar thing focused on web servers or IOT or whatever else.