User:Thepigdog/vsoom

Value Set, Object Oriented, Meta Programming Language (VSOOM).

I dont want to define a language. I see development tools as interacting directly with the meta object model of the program. That is, the IDE provides a GUI for editing the programs.

But the GUI still needs to display the program as text, and I need to describe the program as text. So I need a language.

Basically I will start with Java and add a few features. Actually I think Wirth got the type definitions right in the Pascal language but we are all used to C style declarations now.

Summary
Borrowing from Java, there are no pointers. All member variables to objects are implicitly pointers. However renaming inheritance allows the composition of classes.


 * The assignment statement is only allowed in services, and is written ":=".
 * = means equality
 * ; means the same as "and"
 * && || are replace with "and" and "or".

void functions will usually be replaced by bool functions. A function like,

There are no sides effects (except in services) and there is no implicit order of evaluation. Evaluation is demand driven, which means that calculations are made only to evaluate results required externally.

Imperative style programs and programs that deal with change may be written using "roles" which hide the explicit passing of the time in variables.

Renaming inheritance allows the implementation of "has a" relationships, as well as "is a" relationships.