Superlanguages

Christopher Diggins talks about superlanguages to describe more or less what I tried to achieve with XL.

While they are related, language-oriented programming and concept programming are not exactly the same thing. Concept programming uses the techniques of language-oriented programming, but the objective is different (although it may be implicit to most practitioners of LOP). In concept programming, what really matters is how the code looks, and how that relates to the way we think about it and represent the related concepts outside of the programming community.

That implies reuse of LOP techniques, because you cannot represent arbitrary concepts without a good dose of metaprogramming. But the reverse is not true. You can use LOP techniques without caring at all about how this “looks and feels”. Lisp is a good example of that: in Lisp, nobody cares if you write (+ 1 2) instead of 1+2. That’s why the “pseudo-metrics” in concept programming are a truly distinguishing feature.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s