User Tools

Site Tools


at:tutorial:metaprogramming

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
at:tutorial:metaprogramming [2007/04/19 16:29]
stimberm
at:tutorial:metaprogramming [2009/11/21 07:44]
tvcutsem
Line 1: Line 1:
-<note>This tutorial is under heavy construction!</note> 
  
-===== Metaprogramming ===== 
- 
-==== AT Zero - AmbientTalk without syntactic sugar ==== 
- 
-==== Quasiquoting and splicing ==== 
- 
-In AmbientTalk, it is possible to quote an expression. In that case the quoted expression is not evaluated, but literally returned instead.  
- 
-Quoting and expression is done with the ''`'' operator. Quoting a number or a string results in the same number or string. 
-<code> 
->`3 == 3 
->>true 
->`3 + 8 
->>11 
->`"text" == "text" 
->>true 
-</code> 
- 
-Quoting an identifer results in a symbol: 
-<code> 
->foo 
-Undefined variable access: foo 
->`foo 
->>foo 
-</code> 
- 
-<code> 
->def o := object: { def m() { 5 } } 
->><object:5800647> 
->o.m() 
->>5 
->`(o.m()) 
->>o.m() 
-</code> 
- 
-==== First-class abstract grammar ==== 
at/tutorial/metaprogramming.txt ยท Last modified: 2009/11/21 07:44 by tvcutsem