Guillaume Duboc retweeted
Elixir v1.18-rc.0 is out and it is a massive and beautiful release. More type system work, built-in JSON, language server listeners, parameterized and group tests, "mix format --migrate" and that's not even all: github.com/elixir-lang/elixi…
I want to share something I built for the Elixir community: elixirevents.net✨ I want to make it easier to find events like conferences and meetups, to help the community grow. For feature requests or feedback please let me know! 🙏 #myelixirstatus #elixirlang
5
21
71
Guillaume Duboc retweeted
👀
5
8
1
103
Guillaume Duboc retweeted
OH YEAH
Guillaume Duboc retweeted
While working on a new video with solutions to the previous one, I found ChatGPT's new UI struggles even more with concurrent updates: entries lose state and stick around for too long (see video). If this was a LiveView app, we would be getting so much flak.😅 --- I believe part of the problem here is having separate mutate and fetch requests on every deletion. The first fetch is cancelled when the second one comes up, causing items to stick around for longer. Many said yesterday that you could do the mutation and fetch as a single request, but that leads to other problems, such zombie entries. For example, imagine you delete link1 and link2 within a brief period of time. There is no guarantee the deletion order in the database will match the order the client receives the response, so you may end up with this: 1. (client) request to delete link1 sent 2. (client) request to delete link2 sent 3. (server) deletes link1 and loads a new list (includes link2) 4. (server) deletes link2 and loads a new list (no link1 or link2) 5. (client) receives link2 response 6. (client) receives link1 response So if you choose to use the latest response (link1), you brought link2 back to life. If you say you will use the response from the last request, events 3-4 can be swapped, and now you bring link1 back to life. Another way to solve this is by basically not allowing concurrent requests at all but that can affect the user experience drastically in other ways. Next week I should publish a video explaining how LiveView tackles this. Stay tuned!
I just saw @josevalim's post about the math behind the Elixir programming language's new gradual type system checking out. This post was tremendously exciting for me. Allow me to explain with this too-long post.
4
20
1
154
Guillaume Duboc retweeted
Built with @elixirlang and @NervesProject!
So cool! farm.bot/ (@farmbotio) FarmBot is a bit like solar panels for food. I love the idea that automation could help us reclaim control over our food production and move it from farms back into our own backyards. (Also - food Factorio!) piped.video/watch?v=qwSbWy_1…
16
82
Guillaume Duboc retweeted
You want reliability and easy distribution? Of course. You want flexibility and pattern matching? Cetainly. You want Types?! OK. Ok. @duboc_guillaume delivers in his talk, "Set-theoretic Types: The Theory, The Practice" at @ElixirConf US 2024! 2024.ElixirConf.com/#speaker… #MyElixirStatus #ElixirConf #UpcomingConferences
5
10
Guillaume Duboc retweeted
Building single-file Phoenix LiveView apps just got way easier, announcing Phoenix Playground: dashbit.co/blog/announcing-p… #MyElixirStatus
Guillaume Duboc retweeted
Well, the new @elixirlang 1.17 caught a bug in a well-tested module in our app! (DecodeException wasn't alias'd) This particular function head was missing a test. +1 for types
2
19
1
145
The research on Elixir’s type system is a collaborative effort. To highlight the latest release that includes types, the CNRS has published this article (in French) for the broader public!
#RésultatScientifique 🔎 | Grâce aux travaux de @Beppe_Castagna, directeur de recherche CNRS et directeur de l'@IRIF_Paris et son doctorant @duboc_guillaume, le langage de programmation #open-source Elixir passe de dynamique à statique ➡️ ins2i.cnrs.fr/fr/cnrsinfo/de… 🤝 @elixirlang
6
43
There is a lot of work ahead, but I'm really happy for this release which contains the first steps to a full type system for Elixir. Hope there will be feedback. :-)
Woot! Elixir v1.17 is out, bringing you the first warnings and type checking based on our on-going work to perform type inference from patterns (and soon guards). A lot more to come, hopefully: elixir-lang.org/blog/2024/06…
Guillaume Duboc retweeted
I've just experienced my first typing violation with Elixir 1.17 🤩 #MyElixirStatus
5
11
2
110
Guillaume Duboc retweeted
Today Elixir turns 12 years old! 🎉🥳 Let's celebrate with Elixir v1.17-rc, which includes our initial work on set-theoretic types, a brand new duration data type, and support for Erlang/OTP 27. Want to give Elixir a gift? Give it a star on GitHub! github.com/elixir-lang/elixi…
42
244
31
1,297
Guillaume Duboc retweeted
Me when somebody asks the benefits of Elixir's on-going type system work and I tell them that it already caught two bugs (one in Phoenix, one in Livebook) even before release:
Guillaume Duboc retweeted
Last week we had plenty of type system updates, thanks to @duboc_guillaume adding set-theoretic maps/structs. Here is an introduction to our work: hexdocs.pm/elixir/main/gradu… And here is the updated Elixir v1.17 CHANGELOG with a summary of the new warnings: hexdocs.pm/elixir/main/chang…
A new week, more type system goodies arriving. Elixir v1.17 now checks exceptions fields and also warns on undefined exceptions. See the screenshots. [1/3]
4
25
2
192