Working on lib_elixir - Elixir core modules as a library

Very cool exploration @zachallaun!

Just some ideas (feel free to fully ignore them):

  1. You can probably skip protocols and their implementations from lib_elixir. All of our protocols and their implementations are public, so it is very unlikely they will change between versions in an incompatible way.

  2. Perhaps instead of allowing some modules to be removed, you could ask developers to list which modules they want to use, then you traverse their abstract code and find what they depend on, and convert these too, recursively. This means that Spitfire, which only really needs the tokenizer, gets the minimum stuff they need. You may have some corner cases, for example if we use some module conditionally, but then you can manually add those (and they should be few), such as the string_tokenizer used by the tokenizer.

10 Likes