DiscoverElixir WizardsCreating the Igniter Code Generation Framework with Zach Daniel
Creating the Igniter Code Generation Framework with Zach Daniel

Creating the Igniter Code Generation Framework with Zach Daniel

Update: 2024-10-17
Share

Description

To kick off Elixir Wizards Season 13, The Creator's Lab, we're joined by Zach Daniel, the creator of Igniter and the Ash framework. Zach joins hosts Owen Bickford and Charles Suggs to discuss the mechanics and aspirations of his latest brainchild, Igniter—a code generation and project patching framework designed to revolutionize the Elixir development experience.



Igniter isn’t just about generating code; it’s about generating smarter code. By leveraging tools like Sourcerer and Rewrite, Igniter allows developers to modify source code and batch updates by directly interacting with Elixir's AST instead of regex patching. This approach streamlines new project setup and package installations and enhances overall workflow.



They also discuss the strategic implications of Igniter for the broader Elixir community. Zach hopes Igniter will foster a more interconnected and efficient ecosystem that attracts new developers to Elixir and caters to the evolving needs of seasoned Elixir engineers.



Topics discussed in this episode:




  • Advanced package installation and code generation improve the developer experience

  • Scripting and staging techniques streamline project updates

  • Innovative methods for smoother installation processes in Elixir packages

  • High-level tools apply direct patches to source code

  • Progressive feature additions simplify the mix phx.new experience

  • Chaining installers and composing tasks for more efficient project setup

  • Continuous improvement in developer experiences to boost Elixir adoption

  • Encourage listeners to collaborate by sharing code generation patterns

  • Introduction of a new mix task aimed at removing the "unless" keyword in preparation for Elixir 1.18

  • You can learn more in the upcoming book "Building Web Applications with Ash Framework" by Zach and Rebecca



Links mentioned:



https://smartlogic.io/

https://alembic.com.au/blog/igniter-rethinking-code-generation-with-project-patching

https://hexdocs.pm/igniter/readme.html

https://github.com/ash-project/igniter

https://www.zachdaniel.dev/p/serialization-is-the-secret

https://www.zachdaniel.dev/p/welcome-to-my-substack

https://ash-hq.org/

https://hexdocs.pm/sourceror/readme.html

https://smartlogic.io/podcast/elixir-wizards/s10-e09-hugo-lucas-future-of-elixir-community/

https://github.com/hrzndhrn/rewrite

https://github.com/zachdaniel

https://github.com/liveshowy/webauthn_components

https://hexdocs.pm/elixir/Regex.html

https://github.com/msaraiva/vscode-surface

https://github.com/swoosh/swoosh

https://github.com/erlef/oidcc

https://alembic.com.au/

https://www.zachdaniel.dev/

Special Guest: Zach Daniel.

Comments 
In Channel
loading
00:00
00:00
1.0x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

Creating the Igniter Code Generation Framework with Zach Daniel

Creating the Igniter Code Generation Framework with Zach Daniel

SmartLogic LLC