Description
Evolutionary language transformation. Fork of igorw's initial work.
Read the related blog post.
Backport existing PHP features to previous versions through AST compilation.
Inspired by lisp macros. Using the incredible
nikic/PHP-Parser.
Galapagos alternatives and similar libraries
Based on the "Architectural" category.
Alternatively, view Galapagos alternatives based on common mentions on social networks and blogs.
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Galapagos or a related project?
README
Galapagos
Evolutionary language transformation. Fork of igorw's initial work.
Read the related blog post.
Backport existing PHP features to previous versions through AST compilation. Inspired by lisp macros. Using the incredible nikic/PHP-Parser.
Missing features
5.4
- Binary number format
- Closure rebinding
Edge cases:
- Calling private methods from within closure
- Ensure
$that
gets passed to nested closures
State
There needs to be a strategy for managing state. A trait transformer needs to keep track of the traits it found. That is currently missing.
Preservation
There should be a way to preserve existing code formatting, especially for code that wasn't actually modified. Instead of pretty-printing everything, only changed parts of the AST should be changed in source. Three-way-diff may help with this.
Line numbers
Is there any way to do something like source maps to refer to the original line numbers, so that code remains at all debuggable?