Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
compare webbrowser
Freenet DSL
Who's Online
11 user(s) are online (11 user(s) are browsing encyclopedia)

Members: 0
Guests: 11

more...
browser tip
Unix Befehle
manual of unix befehle
recommendation!
Sponsored
partner

Metalinguistic abstraction

In computer science, metalinguistic abstraction is the process of solving complex problems by creating a new language or vocabulary to better understand the problem space. It is a recurring theme in the seminal Massachusetts Institute of Technology textbook, the SICP , which uses Scheme programming language as a framework for constructing new languages.

For example, consider modelling an airport inside a computer. A procedural language (e.g. C programming language) programmer would create data structures to represent the elements of an airport and functions to operate on those data structures. An object-oriented (e.g. C plus plus) programmer would create objects to represent the elements of the airport with methods which represent their behaviors. A functional programming (e.g. Scheme) programmer would create functions representing both elements and behaviors of the airport. A metalinguistic programmer would abstract the problem by creating a new language for modelling an airport with its own primitives and operations. The language could then encompas any or all of the above techniques as required by the problem at hand.

Because the creation of functional metalinguistic abstractions in non-functional languages can be cumbersome and also because of the syntactic flexibility of functional macros, metalinguistic programming is most often performed on a functional base.