CSC/ECE 517 Spring 2013/ch1 1h jc: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 5: Line 5:
==Implementation==
==Implementation==
===Exposing the internals of the compiler as an API===
===Exposing the internals of the compiler as an API===
====Example====
===Program transformation system===
===Program transformation system===
====Example====
===Metaprogramming using Scheme===
===Metaprogramming using Scheme===
====Example====
==Common Uses==
==Common Uses==
===Pre-generate static data at compile time===
===Pre-generate static data at compile time===
Line 16: Line 19:
==Metaprogramming Framework in Java==
==Metaprogramming Framework in Java==
===Reflection===
===Reflection===
====Example====
===Generics===
===Generics===
====Example====
===Metadata annotation===
===Metadata annotation===
====Example====
==Limitations==
==Limitations==

Revision as of 02:08, 15 February 2013

Metaprogramming in statically typed languages

Introduction

What is metaprogramming

Metaprogramming in statically typed languages

Implementation

Exposing the internals of the compiler as an API

Example

Program transformation system

Example

Metaprogramming using Scheme

Example

Common Uses

Pre-generate static data at compile time

Example

Eliminate boiler-plate

Example

Abbreviate statements and prevent mistakes

Example

Metaprogramming Framework in Java

Reflection

Example

Generics

Example

Metadata annotation

Example

Limitations