I have read a paper that seems to say that meta-programming of Lisp, Scheme, and Lisp-like macros happens at compile time: http://tratt.net/laurie/research/pubs/html/tratt__compile-time_meta-programming_in_a_dynamically_typed_oo_language/.
It also seems to state that dynamic languages such as Python do not use much of compile-time metaprogramming. I know that in a way Java can do compile-time metaprogramming using class loaders. In Python metaprogramming with Metaclasses and decorators as well as reflection using methods such as type(), isInstance(), etc...is this all metaprogramming at runtime or is there more behind it?
Aucun commentaire:
Enregistrer un commentaire