That’s really neat!
I would’ve uses regexes in the lexee instead of range comparisons for characters, and would’ve avoided if statements, but that is just my own taste. Cool project!
Interesting about if statements, do you use cond by default then? I certainly don’t stick to one conditional style in the Elixir I write.
This might be a little weird, but I tend to just stick with case unless I have a compelling reason to do otherwise.
I actually used the credo analyzer on the source code. I did not change everything according to its suggestions, but one of them was that you should actually use if over cond if there are not at least two none-default branches in the cond statement.
Also working on a pet project of mine, an Interpreter in Elixir: https://github.com/fabrik42/writing_an_interpreter_in_elixir
I’m still learning the language and hope some people will see it and teach me a trick or two :)