<div dir="ltr">I'm invited by <span style="color:rgb(0,0,0);font-family:"PingFang SC";font-size:12px">Richard Carlsson to contribute some of features in my project </span><a href="https://github.com/slepher/astranaut">https://github.com/slepher/astranaut</a> to syntax_tools.<div><br></div><div>Theses are mainly four step features of this application<br>* Monad related modules (from [erlando](<a href="https://github.com/slepher/erlando">https://github.com/slepher/erlando</a>), but erlando deps on this application, so it's a minimal implementation)<br>* AST traverse function<br>* Quote: Elixir style quote<br>* Macro: Elixir style macro<br><br>These features make code look cleaner.<br>* Compile Meta: get compiled data like errors, warnings, forms at runtime, developed for test this application.<br>* Do: do comprehension syntax from erlando <br><br>Other features are<br>* Rebinding: Elixir style variable binding.<br>* Struct: Elixir style Struct<br>* Disable TCO: disable Tail Call Optimization to get more information in exceptions.<br></div><div><br></div><div>Here is my plan:</div><div>* commit ast_traverse, quote, macro with one or three pr</div><div>* commit rebinding and struct with two pr.</div><div>* I'm not a native english speaker, some of function and options name maybe improperly, which should be renamed</div><div>* for not change the old codes,  rename module begins with astranaut_ to erl_syntax_</div><div><br></div><div>Any suggestions?</div><div>You could reply to this email or comment on this issue <a href="https://github.com/slepher/astranaut/issues/11">https://github.com/slepher/astranaut/issues/11</a>.</div><div><br></div><div><br></div></div>