Monday, December 20, 2010

Weekly release: 1.5.6.4

There were several critical bug fixes (disabled debug mode crashes executable file, cirtical fix in $next keyword implementing, cirtical fix in the long integer constant implementation), a new class std'collections'dictionary and some minor changes in the language itself.

First, I'm continuing to re-factor ELENA API code. As you probably know the language features some formal rules regarding the method names. They consist of subject and verb. The number of verbs are limited and should be well-defined. As it appeared there is a two ambiguous verbs - do and run. So starting from 1.5.6.3 the code review is proceeding and as a result some of subjects were dropped (like literalinfo, memoryinfo and so on). The main goal is to make sure that the subject defines the method parameter (with exception for 'do' verb) rather then the operation. Another goal is to make sure that the subjects are reusable (which is not the case for the subject like literalinfo).

Second bug change deals with operators. The operators are normal methods with custom parsing order. The expression '2 + 3 * a int' is parsed like 2 + (3 * (a int)).
Because of they nature it was not possible to provide the operator with the subject.
As a result the use of operators was limited. Starting from 1.5.6.4 the operators are synonyms to 'normal' verbs:
'==' <=> 'equal'
'!=' <=> 'notequal
'+' <=> add
'?' <=> is

and so on.

No comments:

Post a Comment