Tuesday, June 24, 2008

could we keep the types on the first floor please?

> Representation: Strings vs. Algebraic datatype vs. Quasi-quote

> A meta-programming system uses program annotations (called staging annotations) to distinguish between the meta-program from the > object program. An object program should be a first-class value. One should think of it as a datastructure that can be manipulated like > any other. Many meta-systems represent object-programs by using strings, graphs, or algebraic data-structures.

> With the string encoding, we represent the code fragment f (x,y) simply as "f(x,y)". While constructing and combining fragments
> represented by strings can be done concisely, deconstructing them is quite verbose. More seriously, there is no automatically
> verifiable guarantee that programs thusly constructed are syntactically correct. For example, "f (,y)" can have the static type string, but > this clearly does not imply that this string represents a syntactically correct program.

WHO CARES. THAT IS WHAT EVAL IS FOR. why must all metaprogramming
systems be so f'n annoying and layer even more crap on an already
existing language?

metaprogram strings are not not complete programs. they are short;
they are concise and generally just a bunch of extremely similar
simple code that is REALLY ANNOYING TO TYPE. you don't need an entire
type system to guarantee the correctness of single line code
fragments; that's what your BRAIN IS FOR.

KISS. that last S is for SMARTY.

Source: http://web.cecs.pdx.edu/~sheard/staged.html

--
k

1 comments:

kruhft said...

i was also reading a paper yesterday by some author that had poor english skills that came to the conclusion that metaprograms are not complete programs and therefore don't follow the same design rule and rigidity of normal full programs and are thus, witchcraft. or maybe it was *not* witchcraft.

i can't find the paper anymore.

it had something to do with macros.

~/.history