3 ms·
Looking at your examples, this looks like https://github.com/square/javapoet https://github.com/square/javapoet
by brabel 4y ago
Looking at your examples, this looks like https://github.com/square/javapoet https://github.com/square/javapoet
- PaulHoule 4y agoYeah, that’s very similar. Thanks for the link. It’s got the difference though that they are using (mostly) strings to write the method bodies and my approach builds those up with the lispy DSL. The class/method/field definitions are basically the same. (ferocity contains three languages, one of expression trees, one of class definitions, another of compound statements that doesn't exist yet) Mine can also run ‘lispy Java’ in an interpreted mode (as well as writing code that goes through javac) and I discovered the interpreter has a type system which is a little richer than the Java type system, namely I discovered (not invented) ‘quote’ and ‘eval’ so that expressions are a first class data type that can be manipulated…. I have to define some set of operators to make it easy to traverse and work on expressions which would make it easy to metaprogramming, probably taking back some of the verbosity that comes with the lispy java-in-java embedding.