News for hackers. Stuff that matters.
Re:An aphorism on metaprogramming by tinco on Monday November 26, 2012 @05:40AM (#4831442)
Let me try to explain it using a bit more consistent terms. Code models the behaviour of a system, let's replace all instances of 'code-as' with 'behaviour-as' to avoid confusion. So we reason about the language in which a behaviour model is expressed.

'behaviour-as-text' is the serialization of the behaviour model according to the grammar of the language.

'behaviour-as-data' is the model representation as it is viewed and modified in the model.

'behaviour-as-procedure' is the meaning of the model in the sense of execution. The semantics of the model.

So this text says that the semantics of the behaviour model need to be easily expressed as data, and the textual representation of the model must clearly show both its semantics and its data representation.

Re:An aphorism on metaprogramming by tinco on Monday November 26, 2012 @05:55AM (#4831468)
So the freaky thing about metaprogramming is that the model changes itself right? The aphorism in three simple sentences:

1 "data must express procedure"

2 "text must express procedure"

3 "text must express data"

This shows that text both directly expresses procedure by rule 2, and indirectly by rule 1 via rule 3. This indirection step allows recursion to take place (i.e. the data contains a model in the same language as it is defined in) that is used for the model to reason about itself.