Live data from Hacker News

Small Assets without the Headache in Elm 0.19

elm-lang.org

101–110 of 129 posts

Re: Small Assets without the Headache in Elm 0.19

#101
post #32

Earlier quoted context omitted.

What is classless JavaScript? I don't understand how you had trouble doing things without typesafety but found that going from JavaScript to Elm is a step backwards? Maybe I'm missing something here?

https://web.archive.org/web/20151029152324/http://ericleads.... https://weblogs.asp.net/bleroy/crockford’s-2014-object-creat... Once you start doing this, most other languages become obsolete. Because you avoid most of the problems of JS that things like elm try to fix, while maintaining the freedom and also writing a lot less code because you don’t have to write a “recipe” for half the things you write. The disadvan…

Your comparison doesn't make any sense. You would use a language like Elm/Purescript/Reason etc for the type safety, that's completely orthogonal to whether something has classes or not.

Re: Small Assets without the Headache in Elm 0.19

#102

Earlier quoted context omitted.

I guess it all boils down to how you want to spend your time. Elm typically requires at least 4x the lines of code and at least 10x the time of dealing compilation issues compared to Clojurescript. So ultimately I think this is just a question of a desired workflow in one language vs. another. Any time spent on Closure-related issues (which have never personally bit me on any project -- I just use the library itself…

Your whole reason for replying to the submission seems to be "heh, ClojureScript already had this, but better ;)" but I'll chime in to say that the differences between Clojure and Elm, having used both extensively, especially become apparent when it comes time to refactor. I would say that Elm lets me refactor front-end code fearlessly. I can confidently rewrite abstractions that are so fundamental that I'd be stuck…

I agree there are valid tradeoffs. In my experience, because Clojure code is so concise and tiny by comparison to Elm or most other language's, refactoring is usually replaced by actual re-writing, since the small amount of code is just as easy to architect again, maybe just saving particular functions, rewriting others.

Re: Small Assets without the Headache in Elm 0.19

#103
post #97
post #94

This sounds really cool, and it's exciting to see Elm come along! I always feel like Bucklescript and the Ocaml ecosystem doesn't get enough love when Elm crops up. Bucklescript has been doing aggressive dead code elimination for some time, and comes with the full type system of ocaml — plus easy JS interop: https://github.com/BuckleScript/bucklescript/wiki/Why-buckle... . As Elm develops I'm finding it harder and ha…

I've found the opposite, all the momentum seems to be with Reason - I don't hear of many new people picking up Elm. A release with smaller bundle is an amazing technical achievement but doesn't really address the underlying language and ecosystem issues.

> I don't hear of many new people picking up Elm.

We sure do in the Elm community! I suspect this has more to do with who you follow than anything else. :)

For example, if you follow a lot of React folks, you're naturally going to hear a lot more about Reason, because there's a lot of overlap in the people who work on those projects.

Come check out our #beginners channel on Elm Slack sometime! It's constantly buzzing with activity:

http://elmlang.herokuapp.com/

Re: Small Assets without the Headache in Elm 0.19

#104
post #14

Earlier quoted context omitted.

> Perhaps this is more of an issue of expecting Elm to be more like Haskell than it is. Some people have a hard time in Elm because they expect Elm to behave like a language that they are already familiar with. The most frequent impedance mismatch issues I've seen are reaching for `type-classes` or attempting to implement various polymorphic behaviors and people who are too hungover on imperative constructs (Elm is d…

> Once people start using Elm the way it was designed to be used, things become simple and start to flow. But how will anyone ever get anything done, when they can't make everything in their code exceptionally clear by wrapping it all up in a 15 monad thick monad-combinator? /s But yes, I totally agree. Elm is a simpler, safer and easier Haskell for the front-end. I just love it :)

I don't think it's crazy to wish for some kind of interface or trait-like abstraction mechanism in a language. Anything taken to the extreme can sound stupid.

edit: I'm not saying Elm should change, the time for that is long gone. Just that the idea someone would want an interface (to do things like bound on generically) isn't that far fetched.

Re: Small Assets without the Headache in Elm 0.19

#105
post #97

Earlier quoted context omitted.

I've found the opposite, all the momentum seems to be with Reason - I don't hear of many new people picking up Elm. A release with smaller bundle is an amazing technical achievement but doesn't really address the underlying language and ecosystem issues.

> I don't hear of many new people picking up Elm. We sure do in the Elm community! I suspect this has more to do with who you follow than anything else. :) For example, if you follow a lot of React folks, you're naturally going to hear a lot more about Reason, because there's a lot of overlap in the people who work on those projects. Come check out our #beginners channel on Elm Slack sometime! It's constantly buzzing…

True, probably a lot of bias in my environment but I interview a lot of people for frontend roles - a couple of years ago Elm was the next exciting language to learn, it's now more often than not Reason.

Re: Small Assets without the Headache in Elm 0.19

#106
One of the benefits of React and its components is that components built with design and prototyping tools (e.g. Figma) translate well to it. You design prototypes, test them, and translate the design components into react components.

Elm seems more like a prototyping language itself, where you create your architecture as you go, easy to refactor (and thus live test I guess). Those of you who made the jump from React to Elm, did your approach to prototyping and evaluating what to build change? Do you prototype less before you jump into code?

Re: Small Assets without the Headache in Elm 0.19

#107
post #95

Earlier quoted context omitted.

> Elm handles those things the way Standard ML does, not the way Haskell does. That's the thing, though: it doesn't. Sure, Elm is expressive enough to allow use of dictionary passing as a substitute for typeclasses, and as you noted, this approach has some resemblance to how ML modules work – albeit with less sugar. However, Elm's standard library does not seem to think this is the best approach, since it instead use…

> use of dictionary passing as a substitute for typeclasses No, I mean that neither Elm nor Standard ML has nor needs typeclasses. No language needs typeclasses. Both Elm and Standard ML have additional type constraints for numbers and comparable types that aren't implemented in terms of a user-definable type constraint like Haskell's typeclasses. Another example of their being different is that Haskell offers custom…

> Both Elm and Standard ML have additional type constraints for numbers and comparable types that aren't implemented in terms of a user-definable type constraint like Haskell's typeclasses.

That's not really true. Standard ML has overloaded operators for int/real, but you cannot write a polymorphic function over any kind of number without using the module system. This is a key distinction. Standard ML does have a notion of 'equivalence type variables', which is frequently seen as a wart (since you often get an equality definition you might not be interested in). Standard ML has nothing for 'comparable' types (except, again, through the module system).

Offhand, I can't really think of any other language that uses builtin type classes in the style of Elm.

Re: Small Assets without the Headache in Elm 0.19

#108
post #59

Earlier quoted context omitted.

Error message states Do not post about the alpha/RC version of elm-upgrade on reddit, twitter, HN , discourse etc That's already an issue about alpha.elm-lang.org being broken, changing it to point at package.elm-lang.org gets me further but the next set of errors are so unhelpful I'm giving up.

It's just telling you that it's pointless to post about issues on social media because the tool is in alpha and is obviously going to fail in many cases…

Funny how it was recommended at the start of this thread, in light of that.

Re: Small Assets without the Headache in Elm 0.19

#109
post #105

Earlier quoted context omitted.

> I don't hear of many new people picking up Elm. We sure do in the Elm community! I suspect this has more to do with who you follow than anything else. :) For example, if you follow a lot of React folks, you're naturally going to hear a lot more about Reason, because there's a lot of overlap in the people who work on those projects. Come check out our #beginners channel on Elm Slack sometime! It's constantly buzzing…

True, probably a lot of bias in my environment but I interview a lot of people for frontend roles - a couple of years ago Elm was the next exciting language to learn, it's now more often than not Reason.

The last time I interviewed someone who applied because they wanted to use Elm in production was an hour ago.

Elm continues to be our #1 source of applicants, and none of them mention an interest in Reason...but then again, it would make sense that Reason, being newer and endorsed by Facebook, would have more interest in the overall JS community!

Re: Small Assets without the Headache in Elm 0.19

#110

Earlier quoted context omitted.

Custom Elements! Check out this talk about how to do it: https://www.youtube.com/watch?v=tyFe9Pw6TVE For future reference, the quickest way to get questions like this answered is in the #beginners channel on Elm Slack: http://elmlang.herokuapp.com Tons of super helpful people there!

Thank you for the quick response. Just out of interest are the examples working for you? E.g. Leaflet's Hello World is just ridiculously simple and short (if you check out the source): https://leafletjs.com/examples/quick-start/example.html I am searching for something similar in Elm. I'll head over to other channels for more questions, thanks.

Here's a full example using a custom element

https://ellie-app.com/37h3TdyF3w5a1

Post reply on HN