Episode 54
AST Parsing using Sourceror with Lucas San Román
June 29th, 2021
53 mins 39 secs
About this Episode
We talk with Lucas San Román about his library Sourceror and how it was created to solve some AST parsing limitations. The Elixir parser discards code comments, so it can’t be used for re-writing Elixir code when refactoring. IDE’s often include more advanced refactoring tools and the ability to provide that requires a smarter parser. Sourceror keeps the comments while also providing advanced features like a Zipper API to more easily navigate around the source tree while inserting and removing nodes. Learn what Sourceror can do and what it can enable for future Elixir tools!
Show Notes online - http://podcast.thinkingelixir.com/54
Elixir Community News
- https://www.elixirconf.eu/ – ElixirConfEU will be in Warsaw Poland on September 9-10
- https://2021.elixirconf.com/ – ElixirConf US 2021 ElixirConf US 2021 is being held in Austin, TX October 12-13 and Online, October 14-15
- https://github.com/phoenixframework/phoenix_live_view/pull/1490 – live_session for optimized live navigation purely over websockets PR was merged and had docs
- https://github.com/livewire/livewire/commit/5cffdbfe4204e0d932cde6f8c9bdf63f0928b4d4#diff-7ce6ac695f53fd2e2c50f1f962b00fb2da5cdf2576a1c1d6eeacca29f34b6024R291 – Alpine V3 released
- https://twitter.com/bernheisel/status/1404832454536478722 – Need to update your Phoenix LiveView hook for Alpine V3
- https://github.com/erlang/otp/pull/4869 – ARM support for OTP24/JIT was merged a couple weeks ago
- https://twitter.com/josevalim/status/1405586165315604486 – Livebook 0.2 released
- https://youtu.be/MOTEgF-wIEI?t=1132 – Jose Valim's demo video - time signature to the Kino section
- https://twitter.com/josevalim/status/1407084358750572548 – Tweet thread showing Kino data_table and execution timing display
- https://github.com/kentaro/off_broadway_otp_distribution – off_broadway_otp_distribution library
- https://twitter.com/gleamlang/status/1405504902655361024 – Gleam 0.16 released and can now compile to Javascript
- https://gleam.run/news/v0.16-gleam-compiles-to-javascript/ – Gleam release announcement
- https://github.com/phoenixframework/phoenix/pull/4337 – Asset Pipeline rewrite merged
- https://youtu.be/vdhK0QPN61E?t=839 – Elixir Roundtable 3 discussion talks about the JS woes. Time signature links to the mentioned part of the discussion.
- https://twitter.com/MarlusSaraiva/status/1405621630597013508 – Surface 0.5 released
- https://surface-ui.org/template_syntax – Surface's new template syntax
- https://github.com/surface-ui/surface/blob/master/MIGRATING.md – Surface migration guide
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
- https://github.com/doorgan/sourceror
- https://twitter.com/bostonvaulter/status/1403055559612375041
- https://www.youtube.com/watch?v=aM0BLWgr0g4 – Arjan Scherpenisse - The Elixir parser under the microscope - ElixirConfEU
- https://groups.google.com/u/1/g/elixir-lang-core/c/GM0yM5Su1Zc/m/poIKsiEVDQAJ
- https://github.com/elixir-lsp/elixir-ls
- https://dorgan.netlify.app/posts/2021/04/the_elixir_ast/
- https://github.com/andyl/rfx
- Tonći Galić
Guest Information
- https://twitter.com/dorgandash1 – on Twitter
- https://github.com/doorgan/ – on Github
- https://dorgan.netlify.app/ – Blog
Find us online
- Message the show - @ThinkingElixir
- Email the show - show@thinkingelixir.com
- Mark Ericksen - @brainlid
- David Bernheisel - @bernheisel
- Cade Ward - @cadebward