<- Back
Comments (102)
- keithnzseems ironic that critics were saying, it needs typing, and all the elixir fans were saying you don't need typing, you don't get bugs related to typing because elixir is somehow magic, now they get typing and it finds bugs for them.... but you said you didn't need that to prevent bugs? But good to see! I spent a bunch of time trying out Elixir a while back, I enjoyed it, but just didn't agree with the lack of types.
- sestepI've seen various posts about Elixir's gradual type system pop up on HN, but haven't been following too closely. Does anyone know whether this particular gradual type system can change the asymptotics of programs vs untyped code? As far as I'm aware, most gradual type systems (e.g. Racket) can make programs run asymptotically slower, although there are some exceptions [1].[1] https://doi.org/10.1145/3314221.3314627
- losvedirOooh, here we go! As a professional Elixir developer for... 10-ish years now, I've been super excited about types coming. I'm very excited that the beginnings have started to land here.That said, I would love to know how the state of what's in v1.20 compares to un-spec'ed dialyzer. I was under the impression that dyalizer's "success typing" approach (not flagging a function if there are some combination of parameters such that it works, rather than flagging it if some combination of parameters can make it fail) was like what Elixir is doing here, and I haven't found dialyzer terribly useful.
- mrdoopsIt's very nice updating Elixir, having no breaking changes across my many projects and it then the compiler just finds bugs for free. I'm so spoiled.
- misiek08Im so happy seeing this. We are approaching „great language” level and for me this is the first one.I would be thankful for pointing at any other language that reliably and safely adds great features and is already convenient to use. I jumped from mastering Go to learning advanced C#, because Go stopped with adding great things :(
- dzogchenThe past month I have been going through the Elixir exercism.io track https://exercism.org/tracks/elixirIt is really excellent!
- ch4s3This is great, and it looks like 1.20 is compiling our large umbrella app quite a bit faster.
- sevenzeroOh shit here I go (and learn Elixir for a whole year (again)) again.I love everything about Elixir, but Elixir constantly makes me doubt myself like no other language. My brain isnt made for functional stuff, but this makes me want to try again.Sucks that it's not really a beginner friendly ecosystem and usually, when having questions answered, people assume you already know a lot about the language.
- satvikpendemHow does it compare to Gleam? Or rather, why use Elixir over Gleam now? I suppose Phoenix and Live View in particular are big draws to Elixir.
- OtomotOYes!I have the great luck to work in many different stacks as a freelancer.One of them is Elixir. While I am on this project for just half a year and not too many hours per week, I can say: I absolutely love this language.It reminds me of Haskell, which I had courses on at university, and is just an absolute joy to work with.My only gripe was that there was no typesystem. So I was eyeing Gleam (as I also like Rust very much), but as Gleam doesn't and probably never will support Ecto and Phoenix (due to it not supporting macros), it's a nogo for the project at hand.I knew Elixir was to gain a typesystem, still this is absolutely fantastic news. Super stocked to work with this.
- WolfeReaderWonderful. I know several devs who were turned off of Elixir because of bad experiences with dynamic typing. Hopefully this helps!
- 7bitFound elixir intriguing and so Phoenix.Two reasons I put it aside again are:You need Beam and the Elixir. I find that really weird, because I'm used to just the language like in Python, Java, C, Rust. Not something underneath it, too.There is no debugger. The way to debug Elixir is to print stuff to the console, like 40 years ago. No thanks.
- shevy-javaGuys,I am sorry for your loss here. def example(x) when not is_map_key(x, :foo) I think this also shows that merely copy/pasting ruby's syntax, isn't an automatic win. I noticed this before with crystal, though naturally crystal had types from the get go.Fundamentally: def foo() end should stay simple. And this is no longer the case now.(Ruby also went in error, e. g. "endless methods". I don't understand why programming languages tend to go over the edge in the last 5 years or so.)