CSC/ECE 517 Spring 2013/ch1 1h jc: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
=Metaprogramming in statically typed languages= | =Metaprogramming in statically typed languages= | ||
==What is metaprogramming== | ==Introduction== | ||
==Metaprogramming in statically typed languages== | ===What is metaprogramming=== | ||
=Implementation of Metaprogramming in statically typed languages= | ===Metaprogramming in statically typed languages=== | ||
==Exposing the internals of the compiler as an API== | ==Implementation of Metaprogramming in statically typed languages== | ||
==Program transformation system== | ===Exposing the internals of the compiler as an API=== | ||
==Metaprogramming using Scheme== | ===Program transformation system=== | ||
=Common Uses= | ===Metaprogramming using Scheme=== | ||
==Pre-generate static data at compile time== | ==Common Uses== | ||
===Example=== | ===Pre-generate static data at compile time=== | ||
==Eliminate boiler-plate== | ====Example==== | ||
===Example=== | ===Eliminate boiler-plate=== | ||
==Abbreviate statements and prevent mistakes== | ====Example==== | ||
===Example=== | ===Abbreviate statements and prevent mistakes=== | ||
=Metaprogramming Framework in Java= | ====Example==== | ||
==Reflection== | ==Metaprogramming Framework in Java== | ||
==Generics== | ===Reflection=== | ||
==Metadata annotation== | ===Generics=== | ||
===Metadata annotation=== |