Transframe is an advanced, modern ProgrammingLanguage
, designed not only to support the traditionally recognized software practices and principles such as safety, portability, modularity, reusability, efficiency, maintainability, and InformationHiding
, but also to meet the challenge of the future software development demands such as reflection, meta construction, domain-specificity, productivity with high-performance, and dynamic parametrism for open designs and implementations.
Instead of providing built-in models for a very limited program domain, Transframe provide a diversity in terms of a simple, transformable framework that can be adapted to unlimited problem domains such as ConcurrentProgramming
, parallel programming, and database applications.
Transframe provides a framework that can be adapted to achieve the power of DynamicTyping
, but can also be transformed into static model to preserve the efficiency and quality of the current static typed languages. The gap between DynamicProgramming
The syntax of Transframe follows conventional language design. Instead bringing about brand new concepts, Transframe provides a natural extension to the ordinary concepts that have been commonly used by other popular ObjectOrientedProgramming
languages. The syntax of Transframe is very similar to CeePlusPlus
Is this an actively maintained project? Sounds interesting; however all of the material on this site appears to be at least 5 years old...
It doesn't seem to be actively maintained, but the language has some interesting ideas that may be relevant to other language designers (or extenders), in particular its support for user-defined GeneralizedReference
s and ExtensibleSyntax?
. See also PartiallyTypedLanguages
In a discussion of Transframe, it should be noted that functions are classes. That's not
did to put classes onto a language where objects have traditionally been created ex nihil
or cloned. Functions translate to classes, not the other way round.
How does this work? In Transframe, the concept of a "class" is used to model almost everything, but in particular it models something which takes constructor arguments and constructs an object. By default, the object is an instance of the class; however, with a function class, it doesn't have to be. An advantage of a function class is that all functions can be thought of, conceptually, as memory initializers, which is actually an optimization the compiler does to avoid uneccessary memory copying. Since Transframe can work at a very low level, the ability to define different allocation semantics on a per-function basis is as easy as overloading operator new() in CeePlusPlus
--actually, it's probably easier, as the semantics for the allocation operator are simplified. Another advantage is that one can define custom behaviors for functions, and then inherit them using normal class inheritance. Yet another advantage is that making functions first-class objects gives you first-class classes for free.
Transframe is really all about classes. Even the primitive types have classes! Various reference semantics, like smart pointer? Classes. All classes.
Sounds a bit like BetaLanguage
, actually, with the "classes are functions are virtual functions are methods" thing.