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 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===

Revision as of 01:04, 15 February 2013

Metaprogramming in statically typed languages

Introduction

What is metaprogramming

Metaprogramming in statically typed languages

Implementation of Metaprogramming in statically typed languages

Exposing the internals of the compiler as an API

Program transformation system

Metaprogramming using Scheme

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

Generics

Metadata annotation