
54: AST Parsing using Sourceror with Lucas San Román
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 [email protected]
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 - [email protected]
- Mark Ericksen - @brainlid
- David Bernheisel - @bernheisel
- Cade Ward - @cadebward
Get every episode summarized
Each time Thinking Elixir Podcast publishes, we email you a written briefing from the transcript — the topics, who appeared, and any specific claims, with the ad reads skipped.
Email me new episodesFree for 3 shows. No card needed.
No transcript yet
This episode has not been transcribed. Request it and it moves to the front of the queue.
More episodes
More from Thinking Elixir Podcast

299: Don't Paste That Into Your Terminal
Thinking Elixir Podcast

298: Hex Gets a Glow Up
Thinking Elixir Podcast

297: JavaScript Joins the BEAM?
Thinking Elixir Podcast

296: OpenAI Chose Elixir and A VM Inside a VMV
Thinking Elixir Podcast