Kalil de Lima - 2019
kalil.de.lima@fing.edu.uy
kalil@rootstrap.com
"Metaprogramming is a programming technique in which computer programs have the ability to treat other programs as their data. It means that a program can be designed to read, generate, analyze or transform other programs, and even modify itself while running."
Wikipedia
Symbols allow our objects
to implement common interfaces such as making
one of our classes iterable by implementing the iterator symbol, so it can be used in a for (... of ...) loop.
Reflection allows us to interact with any object trough a generic API
This allows us to operate with foreign (to our implementation) objects, setting some common ground in how to treat them.
Symbols allow us to define unique identifiers,
for that reason they're ideal to implement our own version of common protocols like
Reflection allows us to treat any object under a common interface, this allows us to do things like
The code used is available at
The slides are available at
For further reading on the subject