The Microsoft Development Center in Copenhagen (MDCC) recently held it's second TechFest. Each year (this is year two of TechcFest) the good folks at MDCC put on a show where local (Denmark and other northern European countries) innovators show off their wares. I was lucky enough to spend a day learning about some of the great things small ISVs and scholars are creating on Microsoft and non-Microsoft development platform stacks.
Here, we learn about a very interesting programming language called gBeta. gBeta is an extension of the BETA language.
From the gBeta team:
"In gbeta, object metamorphosis coexists with strict, static type-checking: It is possible to take an existing object and modify its structure until it is an instance of a given class, which is possibly only known or even constructed at run-time. Still, the static analysis ensures that message-not-understood errors can never occur at run-time.
It is possible to define relations between classes, e.g., to specify that the class MyPoint must be a subclass of YourPoint (without committing to exactly what classes they are). This makes it possible to define a kind of constraint graph of classes. It ensures that certain relations hold, such that one inheritance operation may give rise to a complex but orderly propagation of type changes in a framework of classes."