54: AST Parsing using Sourceror with Lucas San Román

Thinking Elixir Podcast - A podcast by ThinkingElixir.com - Tuesdays

Categories:

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