(Apparently abandoned)
The following description is from the "Prism Manifesto." [1]
In LanguageUsability, JeffGrigg said
and JimLittle said
JeffGrigg's conclusion from reading several of the documents of the Sphere/Prism site...
But COM and CORBA increase the accidental difficulty of programming rather than decreasing it. They're complex solutions that are hard to get working right. They're also run-time solutions rather than compile-time solutions. Prism is purely a compile-time solution whose goal is to reduce programming difficulty as much as possible. Think of it as a next-generation linker that allows multiple domain-specific languages to be compiled into a single executable.
Standardized codes are part of the plan, but the project hasn't gotten that far along yet [as of 22 March 2000]. Right now, codes and parsers are being created for existing languages. If nothing else, these parsers will be useful for other people creating metaprograms, but the plan is to identify common elements and factor them out to generate standardized codes.
See also: InterLanguageUnification -- an OpenSource ObjectRequestBroker from XeroxParc.
Also check out Intentional Programming. This is a project being run by CharlesSimonyi at Microsoft Research. "IP" provides a development tool for representing programs as a tree of statements called 'intentions'. Each intention totally defines its action in a language neutral way. Intentions are like super C++ templates.
The intention tree can be "compiled" to a target programming language and platform. The idea is increase code reuse by several orders of magnitude. Once a stack data type has been defined once, for example, it never needs to be defined again. Stacks of any size and contents can be derived from the basic Stack.
I've heard recently that Intentional Programming has moved out of Microsoft Research and is now part of a Products division. We may see something soon.
See http://www.aisto.com/roeder/ip/. The original site at Microsoft Research is not available anymore.
Also search the web for GenVoca. It's a tool by Don Batory in Texas. GenVoca is tool for defining code constructs in a higher level than program code. The idea is to compose objects out of a series of 'layers'. Each layer handles a specific aspect of the object. Layers can be mixed and matched in a very flexible way. One example was a tree data type whose memory allocation layer could be one of: a fixed array (for speed), a series of large RAM blocks (for large in-memory trees), and a full distributed memory system (for terrabyte sized trees).
Host www.prism.cx is unknown on 22/08/2001.