Thursday, May 5, 2011

ELENA 1.6.1 released

ELENA 1.6.1 is out now

This major release includes changes in the language syntax, several critical bug fixes and enhancements in the language library code.

1.6.1 is not binary compatible with the previous versions (due to changes in ecodes and a grammar)

multi-threading support

GCX (a revised garbage collection) is now thread-safe

changes in ecodes (ELENAVM byte codes)

  • several “big” commands are split, to reuse existing ecodes (disptach, redirect)
  • new ecode – popn

simplified syntax to create a group

instead of old style syntax

#group(events'EHandler, BtmSave) += …
it is possible to use the following syntax
BtmSave~events'EHandler += ..

#define command without an alias

it is possible to include another namespace without providing a namespace shortcut

#define std'basic'*.

Integer << 2.

new compiler hint syntax

instead of old style

#class MyClass {…}
a new syntax is introduces
#class(subj:mysubject)MyClass {…}

#hint is no longer supported

the new hint syntax should be used

several major changes in an expression syntax

The following syntax

A verb:B::C
should be replaced with
A verb:(B::C)

An argument list could be used in initializing expression
A::&arg1:B &arg2:C
The following code do not need an extra brackets any more
#inline alias(A, B, C) verb:D

several bug fixes

  • a bug in memory management
  • a #group statement bug for x platform
  • cannot compile class with roles in the release mode bug
  • #00058: duplicate subjects
  • #00059: win32_gui_vm_client and win32_console_vm_client applications do not work
  • #00060: #var a := a verb:b circular referencing
  • upndown bug:player plays with a joker as a biggest one
  • bug: 64bit integer numbers are displayed incorrectly in the debugger watch window


  • the work on an alternative system library is began. LIB2 will replace existing one after 1.7.0
  • hellowworld_u sample migrated to lib2


IDE is now ready to debug multi-threading applications

No comments:

Post a Comment