Langage The MyPitSelf language evolves constantly because of its own concept and because improvements are brought, but it will remain with only function calls returning true or false.
It is a "blending" of
lisp for the nested treatments and true or false return values
C for the function calls
Assembler for the stack mechanism
The best method to learn this language is like for all languages:
- Look and do the development examples given above, this will make you familiar to the basic concepts and the development environment.
- See examples of this language. for this, go to the MyPitSelf environment as user 1/1 and to choose in the tool menu the button "Set or unset Developping mode for MyPitSelf" and to look at the functions.
This function refererence is mostly done so that when I need to write some source, I can copy the example and then paste it in the source.
When you are in the function list, the button gives a result under a table view.
In other words, if a function is f(g(x),h(y)), the table result of this function is
Function#
Parent Number
Order In Parent
Function Name
Function Type
Number Of Children
Level
0
-1
0
0
INIT
1
0
1
0
1
f
formula
2
1
2
1
1
g
formula
1
2
3
2
1
x
zone
0
3
4
1
2
h
formula
1
2
5
4
1
y
zone
0
3
With these data, a procedure can implode it to rebuilt the original string [ f(g(x),h(y)) ].
This means that if some modification are done on the language structure, by putting this table in a database table and working on it ( ie add/move/suppress records ), one can make the functions evolve.
For example, like in the functions attached to a list, I decided once to put the field specification inside a Field() function.
The old format was:
Tac(
T0.ID,
doSomething(),
)
And the new format is:
Tac(
Field(T0.ID),
doSomething(),
)
To do this, I wrote functions that did that job.
That is the reason why even if I know that certains things have to be corrected, I do not panic about correcting all the sources.
Furthermore, the possibility to put the function in tables helps to trace every use of data. As the SQL phrases are written in database in an organized way and then translated into languages functions, one can know which data is used where.
The use of this possibility is for the moment in only few places but will be generalized to have a trace of everything.
Some functions have no arguments, some others fixed arguments, some others fixed functions arguments and other variable functions arguments.
A function always return true or false.
The arguments of the functions are inclosed in parenthesis and separated by comas.
Line comments start with // and they end with the end of line.
Block comments start with /*, end with */, these delimiters must be on the first column and can be nested.
The ' is a string delimitter, the escape character is \