What's new in ELENA Integrated Development Environment 6.0.9
Apr 18, 2024
- [ADDED] new opcode - parent
- [ADDED] meta expression: nested singletons
- [ADDED] new class flag - elPacked
- [ADDED] new attribute - packed
- [ADDED] #637 - unit tests for byRefOp optimization
- [ADDED] #637 - unit tests for intCopying optimization
- [ADDED] #610 - struct redesign
- [FIXED] optimization : copy 8 / copydpn 8
- [FIXED] #615 : The field is not property incremented by an addition assignment
- [FIXED] x64 : fround opcode
- [FIXED] x64 : fabs opcode
- [FIXED] x86 : xdispatchmr opcode
- [ADDED] system'dynamic'expressions'LazySymbolExpression
- [FIXED] ushort - native comparison operations
- [ADDED] system'net
- [ADDED] ltests
- [ADDED] net
- [ADDED] win64 gui
- [FIXED] realOp.RoundedInt extension
- [FIXED] interpreter sample for x86-64
- [FIXED] #618 : template class descriptions
- [ADDED] include / exclude file
- [FIXED] ctrl+w hides the frame
- [ADDED] ins / over modes
- [ADDED] dark color scheme
- [ADDED] GitHub Action - MSBuild nightly build
New in ELENA Integrated Development Environment 6.0.8 (Mar 21, 2024)
- Fixes:
- [ADDED] an opcode LNEG
- [ADDED] native negate operation for long integers
- [ADDED] #588 - Operation with int constant
- [ADDED] multi-profiles per a single project file; new option -l
- [ADDED] #638 - Accessing a variable declared in the upper scope
- [FIXED] calling a variadic method without arguments directly
- [FIXED] declaring a template based type with T is an array as a method result
- [FIXED] GC : perm generation is not included as roots for the partial collect
- [FIXED] generating a proper debug info for local structure / structure self
- [FIXED] it has to be possible to convert int literal directly to v_int8 / v_int16 / v_int64, depending on the value size
- [FIXED] x86 MTA : starting the new thread / program
- [FIXED] x86 MTA : GC routine
- [FIXED] byrefHandler : if it is not contain the explicit return, assign self to byref retVal
- [FIXED] no need for typecasting operation after if-else operation with both branches containging returning operation
- [FIXED] optimizing operation with int constants
- [ADDED] sqlite module
- [FIXED] string.toUpper() : returns a string with an incorrect length
- [FIXED] windproc
- [ADDED] xforms
- [ADDED] sqlite_test
- [FIXED] Rosetta Code : Interactive programming (repl), Vigenère cipher
- [ADDED] c_a_g sample
- [ADDED] agenda sample
- [ADDED] graph sample
- [ADDED] support for stdcall for win32
- [ADDED] project settings - select the project profile
- [FIXED] #634 - IDE debugger: the debugger must hide trace line on wait
- [FIXED] #634 - debugger step over some expressions
- [FIXED] #636 - IDE bugs
- [FIXED] displaying stack-allocated structures
- [FIXED] warn if the source code is not compiled after the change before run / debug
- [FIXED] warn if the source code is changed and not save before run / debug
- [FIXED] the document is in read-only mode during the debugging
New in ELENA Integrated Development Environment 6.0.6 (Oct 19, 2023)
- ELENA
- [ADDED]snop opcode
- [ADDED]xfsave opcode
- [ADDED]opcodes : xcmp sp, load sp
- [ADDED]$yield operator
- [ADDED]yieldable method
- [ADDED]using statements
- [ADDED]lock statement
- [ADDED]class constants
- [ADDED]globals
- ELC
- [ADDED]MTA support for x86
- [ADDED]#321,#173 - conditional boxing
- [ADDED]warn if the outpur type is less accessible than the symbol
- [ADDED]variadic and normal methods cannot have similar names
- [ADDED]weak implementations of &&, ||, ^^
- [FIXED]struct typecast handler : do not copy the struct
- [FIXED]constructor explicit multi-dispatch handler
- [FIXED]support constants in array size declaration
- [FIXED]passing variadic argument to another method
- [FIXED]#47 : Evaluating an expression in a symbol
- [FIXED]duplicates in GA_EXT_OVERLOAD_LIST
- [FIXED]#15 - return double / long from external function
- ELENAVM
- [ADDED]preloaded symbols
- [ADDED]loadAddressInfo
- [FIXED]LoadExtensionDispatcherLA
- [FIXED]LoadActionNameLA
- ELENASM
- [FIXED]#366 - Script engine rule not recognized correctly
- API
- [ADDED]event property template
- [ADDED]system'winforms module
- [ADDED]forms module
- [ADDED]forms'SDIDialog
- [ADDED]forms'Button
- [ADDED]forms'Edit
- [ADDED]forms'Label
- [ADDED]system'dynamic'ExtensionDispatcher
- [FIXED]Console class should be public with internal constructor
- [FIXED]system'io'StreamWriter
- [FIXED]system'collections'Stack
- [FIXED]system'dynamic'DynamicTape - variadic functions
- [FIXED]dynamic expressions
- SAMPLES
- [ADDED] Conway's Game of Life
- IDE
- [ADDED]recent open projects
- [FIXED]debug watch : Reference
- Tools
- [FIXED] elt-cli
New in ELENA Integrated Development Environment 6.0.5 (Aug 20, 2023)
- [ADDED]implementing corex60 routines
- [ADDED]constant array of integers
- [ADDED]native support for ?: operator
- [FIXED]#524 : Alt expression breaks the compilation
- [ADDED]message name functionality
- [ADDED]new opcodes : fiadd, fisub, fimul, fidiv
- [ADDED]basic bytecode optimization rules
- [ADDED]basic build optimization rules
- [ADDED]warn on unassigned variables
- [FIXED]nested class fields
- [FIXED]assignment operations with integers
- [FIXED]calling an interface / closed-class method
- [FIXED]warning on resending to itself (e.g. for constructor)
- [FIXED]resending to the property
- [FIXED]template-based extensions
- [FIXED]template of template
- [FIXED]do not box the returning self for the stacksafe method
- [FIXED]string comparison routines
- [FIXED]conversion routines
- [FIXED]nested exception catching
- [ADDED]number of new unit-tests
- [ADDED]system'runtime'commonOp - extension to read package info
- [ADDED]system'culture
- [ADDED]system'routines'stex
- [ADDED]new unit-tests: methodnotfound, nilreference
- [ADDED]24 sample
- [ADDED]Find dialog
- [ADDED]Goto dialog
- [ADDED]Toolbar dialog
- [ADDED]Context menu
- [FIXED]IDE blinking issues
- [ADDED]Window menu
- [ADDED]Unident
- [FIXED]Running to the cursor
- [ADDED]Recent files
- [ADDED]erase line, trim, upper case, lower case
- [ADDED]About dialog
- [ADDED]Editor settings
- [ADDED]Duplicate line
- [ADDED]close all but active
- [FIXED]API Doc generation
- [ADDED]ecv-cli: showing the method number
- [ADDED]ecv-cli: showing the module manifest info
New in ELENA Integrated Development Environment 6.0.4 Beta (Jun 26, 2023)
- Fixing variadic multimethod dispatcher
- (re)implementing loading classes / symbols / messages / message names
- Elt crash fixed
- Several new samples : pi, calc
- Fixing number of bugs
New in ELENA Integrated Development Environment 6.0.3 Beta (May 30, 2023)
- Fixes:
- Fixing an issue with call stack information : incorrect / missing source code information
- Fixing conversion uint to string and back
- Fixing number of bugs
- Migrating rest of API to ELENA 6.0
- Ide : fixing go to source routine
- Fix implementation of abstract method with the stack allocated returning value
New in ELENA Integrated Development Environment 6.0.2 Beta (Apr 1, 2023)
- fixing a critical error with long number comparison operations
- (re)implementing Script Engine (elenasm60 dll)
- fixing #568 : Converting an external function return to the pointer
- starting work on (re)implementing multi-threading support (win x86)
- a lot of bug fixes : including critical ones
- migrating number of examples
New in ELENA Integrated Development Environment 5.0.23 (Jul 15, 2020)
- ELENA:
- binary incompatible due to major version change
- Explicit namespaces
- Flat library hierarchy
- nested code brackets
- #500 : Nested code blocks
- #492 : Yield statement
- #380 : Run-time extension dispatching
- #494 : Method result multi-dispatching
- #495 : Inheritable static methods
- #501 : Modificator **new** can be used with a variable
- ELC:
- deep code refactoring - treamlining code generation, increasing the compilation speed
- #489 : Creating a variadic argument enumerator
- #490 : Passing a variadic argument list in sub call
- #491 : The message target is corrupt when a variadic argument is used in sub call
- #381 : const static property
- #162 : compiler redux - embedded constructor call
- #505 : constructor with variadic argument list
- #498 : Compile-time dispatching nil argument
- #472 : Embeddable property is not called correctly
New in ELENA Integrated Development Environment 5.0.11 (Jul 15, 2020)
- ELENA:
- binary incompatible due to major version change
- Explicit namespaces
- Flat library hierarchy
- nested code brackets
- 500 : Nested code blocks
- 492 : Yield statement
- 380 : Run-time extension dispatching
- 494 : Method result multi-dispatching
- 495 : Inheritable static methods
- 501 : Modificator new can be used with a variable
- ELC:
- deep code refactoring - treamlining code generation, increasing the compilation speed
- 489 : Creating a variadic argument enumerator
- 490 : Passing a variadic argument list in sub call
- 491 : The message target is corrupt when a variadic argument is used in sub call
- 381 : const static property
- 162 : compiler redux - embedded constructor call
- 505 : constructor with variadic argument list
- 498 : Compile-time dispatching nil argument
- 472 : Embeddable property is not called correctly
New in ELENA Integrated Development Environment 5.0 Beta 4 (Apr 6, 2020)
- The point release contains a number of bug fixes
New in ELENA Integrated Development Environment 5.0 Beta 3 (Mar 29, 2020)
- This build includes:
- Several critical bug fixes
- GUI samples
New in ELENA Integrated Development Environment 5.0 Beta 2 (Mar 21, 2020)
New in ELENA Integrated Development Environment 4.1.1 (Jan 15, 2020)
- ELENA:
- Several critical bug fixes!
- #481 : New expression attribute - inlinearg
- The operations with reference arguments are improved
- #200 : unboxing explicit local allocated extension
- #64 : Stand alone executable - Script engine
New in ELENA Integrated Development Environment 4.0.5 (Oct 20, 2019)
- Several critical bug fixes!
- #481 : New expression attribute - inlinearg
- The operations with reference arguments are improved
- #200 : unboxing explicit local allocated extension
- #64 : Stand alone executable - Script engine
New in ELENA Integrated Development Environment 4.0.5 (May 2, 2019)
- Fixing critical bug in external routine call
- 284, #283 : duplicate output nested fields
New in ELENA Integrated Development Environment 4.0.2 Beta 2 (Apr 3, 2019)
- The second beta release is available. It contains several critical bug-fixes, extended API
New in ELENA Integrated Development Environment 4.0.1 Beta 1 (Feb 15, 2019)
- ELENA:
- a lot of critical bug fixes
- the syntax deeply refactored and streamlined
- #355 : Multimethods : nil
- new operators : . and .?
- LIB:
- forms library (re)implemented
- Misc:
- ELENA 4.x Specification (see doclangspec.txt)
- (re)implementing script engine
New in ELENA Integrated Development Environment 4.0.0 Pre-release (Jan 14, 2019)
- The first beta release of ELENA 4.0.0
New in ELENA Integrated Development Environment 3.2.0 (Sep 8, 2017)
- ELENA:
- binary incompatible due to implementing issues #100 and #333
- #100 : classOp : test if object is subclass of
- #333 : multimethods
- #266 : static fields
- #342 : Alternative variable declaration syntax
- #344 : Resolving duplicate field names
- #349 : Initialize fields at declaration
- #348 : Accumulator static fields
- #352 : if else if
- ELC:
- fixing template routines
- new project template : vm_gui
- IDE:
- #14 : switch to xml config files
- #329 : Source file with full path causes a forever loop in IDE
- #332 : IDE not save the file with relative path
- LIB:
- moving to LIB32
- #315 : GUI markup script / library
- #328 : unsingned int / long
- Tools:
- #31 : Unresolved labels
New in ELENA Integrated Development Environment 3.1.10 (Jun 19, 2017)
- What's new:
- ELC :
- #308 : Invalid lshift opcode when arg >= 32
- #310 : wrong result with equals and not equals operator for long numbers
- fixing scores of bugs
- LIB :
- migrating remaining classes from LIB30
New in ELENA Integrated Development Environment 3.1.0 (Jun 9, 2017)
- ELENA:
- Major syntax refactoring
- Try / catch / finally code template
- if-else code template
- finally code template
- using code template
- generic handler with open argument list the nested class implicit constructor
- #Explicit literal constants
- ELC:
- fixing scores of bugs
- LIB:
- new system'matrixof template
- extensions'routines'MatrixSpace
- iterators are renamed into indexers
New in ELENA Integrated Development Environment 3.0.4 (Mar 7, 2017)
- The release contains major syntax overhaul.
New in ELENA Integrated Development Environment 2.1.0 (Jan 19, 2017)
- ELENA:
- binary incompatible due to implementing issues #267
- #264 : Assigning an outer variable
- #266 : Static fields
- template syntax modified, suppress hint is obsolete (w2 and w3 can be used directly)
- #265 : enumeration lists
- ELC:
- #271 : constant array
- #238 : Library / Program Manifest (win32)
New in ELENA Integrated Development Environment 2.0.2 (Dec 13, 2016)
- ELENA:
- #172 : private / internal methods
- #250 : Implicit constructors
- IDE:
- #185 : Stack allocated structures are not correctly displayed
- #233 : IDE Debugger : next statement menu deprecated
- Samples:
- net sample : chat
New in ELENA Integrated Development Environment 2.0.1 (May 18, 2016)
- ELENA:
- new statement #extern - exclude the code from GC
- new simplified syntax to declare typified variable / field
- new simplified syntax to declare subject
- typecasting message is auto generated
- #201 : shorthand property settings
- #54 : templates
- #231 - new syntax : Signature / Message constants
- #128 : constructors may now return constant value
- #136 : refactoring access to primitive managed code (core_routines)
- #40 : self is typified for type extensions
- ELC:
- binary incompatible due to implementing issues #217 and #54
- #217 : output code optimization
- critical bug fixes in COREX
- critical bug fixes in GCX
- #228 : safe region
- LIB:
- system : BitArray, BitArray32
- system'routines : PatternFilter2,PatternFilter3,PatternFilter4, PatternFilter5, PatternFilter6
- system'routines : enumerable.filter&pattern[1]
- system'routines : enumerable.group&by[1]
- system'routines : enumerable.order&by[1]
- system'routines : enumerable.get&count
- system'io : stream.set&length[1]
- system : Char#class.new[1] supports now an integer parameter
- system'text : TextBuffer => TextBuilder
- system'io : Console output operation can be redirected now
- system'collections : #234 issue - listof:subject
- IDE:
- issue #4 : IDE and Chinese characters
- Menu - View - ELENA Interactive (#58: vm console)
- Samples:
- rosetta sample : Top rank per group
- rosetta sample : Truncatable primes
- rosetta sample : Visualize a tree
- ElenaScript:
- #65 issue : script engine is optimized
New in ELENA Integrated Development Environment 1.9.25 (Feb 10, 2016)
- ELC:
- binary incompatible due to implementing issues #134 and #136
- issue #132 : GC hotfix
- issue #216 : operation with structure fields in stacksafe method
- issue #211 : Message call sequence with open arguments
- critical bug fix in lock statement
- LIB:
- system'routines : enumerable.sequenceEqual[1], indexable.reverse&at[2]
- system'routines : enumerable.accumulate&with[2]
- extensions : textwriter.write&args[1,], textwriter.writeLine&args[1,]
- extensions'text : (literal/wide).toByteArray
- system : Message.get&literal$
- system'io : MemoryBuffer
- 213 : system'MethodNotFoundException provides the message name now
New in ELENA Integrated Development Environment 1.9.24 (Jan 15, 2016)
- ELENA:
- binary incompatible due to new opcodes
- new simplified closure declaration syntax : ()[ i ]
- issue #125 : new UTF-16 literal constant
- implementing #198
- ELC:
- new project section "references" : adding a path to a library
- LIB:
- system : ExtensionMessage
- new extension : file.literalContent, file.wideContent
- new extension : char.is &whitespace
- new extension : object.toHexInt, object.toHexLong
- new extension : enumerable.zip&into[2], numeric.repeat&each[1]
- new system'dynamic extension : object.mix&into[1]
- new extensions'dynamic extension : object.fromJson / object.toJson
- extensions'text: WordEnumerator => TokenEnumerator
- critical bug fix : "AA" < "AA" = true
- fixing arcsin, arccos
- Samples:
- console sample : random
- rosetta sample : evolutionary algorithm
- IDE:
- icons in project tree added
- issue #130 : namespace is included into the tab name
New in ELENA Integrated Development Environment 1.9.23 (Dec 15, 2015)
- ELENA:
- binary incompatible due to major change in the heap structure
- new project template : guix
- ELC:
- issue #150 fixed
- issue #42 implemented
- issue #145 implemented : source level call optimization
- new option "xo1-" : turning off compiler source level optimization
- new method hint "suppress" : turning off compiler warnings for the method
- LIB:
- issue #174 fixed: bizarre return value in toLiteral&base:16
- issue #169 fixed: An error in literalOp.trimRight[1]
- new extension : object.toChar
- Samples:
- rosetta code sample : simple windowed app
- rosetta code sample : gui component interaction
- rosetta code sample : 99 Bottles of Beer
- IDE:
- issue #75 fixed : call stack window is not properly refreshed
- issue #185 fixed : stack allocated structures are not correctly displayed
New in ELENA Integrated Development Environment 1.9.22 (Nov 5, 2015)
- ELENA:
- [+] new statement: #try () [] |
- [+] new statement: #lock () []
- [+] new hint : arrayof
- [+] issue #123 implemented : fixed size array field
- [*] #143 issue : #import statement will be used for namespace importing
- [+] issue #10 : initializing stack allocated object without creating a dynamic one
- [+] issue #48 : A proper method should have a precedence over an extension one
- [!] static symbols are stack-safe
- ELC:
- [*] output code optimization
- [-] issue #8 fixed
- IDE:
- [+] issue #13 implemented : Project View
- [-] issue #142 fixed
- LIB:
- [*] some house keeping
- [+] culture'Locale
- [+] new package net / system'net (issue #33)
- [+] system'net : Socket, AddrInfo, AddrInfoReader
- [+] linux: support calendar routines
- Samples:
- [+]rosetta sample: 9 billion names
- [+]linux : datetime sample migrated
- Misc:
- [*]rearranging examples
New in ELENA Integrated Development Environment 1.9.21.5 (Aug 12, 2015)
- ELENA:
- new "variable" hint
- "ByRef" parameters are supported
- project template console_mt (corex) is operational once again
- ELC:
- issue #47 fixed
- issue #22 fixed
- issue #68 fixed
- issue #67 fixed
- LIB:
- system'collections: Stack, Queue
- system'dynamic: CastOver
- bool inline if : iif[2]
- forms : Combobox
- system'dynamic'DynamicStruct is renamed into system'dynamic'Dynamic
- Samples:
- rosetta code sample : 100 doors
- rosetta code sample : 24 game
- calc is using script engine now
- IDE:
- issue #7 fixed
- issue #74 fixed
New in ELENA Integrated Development Environment 1.9.20 (Aug 1, 2015)
- [ELC]
- issue #15
- [LIB]
- sqlite: supports float and blob fields
- extensions'dynamic : scriptEngine
- system'text'UT8Encoding : toLiteral&int&int&bytearray
- [ElenaScript]
- script engine is again operational
- refactored / syntax modified
- local variables are supported
- structures are supported [+] functions are supported
- EvaluateFile / InterpretFile: "~" indicates relative to elena bin folder
- [Samples]
- calc
- sqlite_test - a first ELENA database example
- rosetta samples ackermann, addfield, accumulator are migrated to Linux
New in ELENA Integrated Development Environment 1.9.19.4 (Jul 8, 2015)
- ELENA:
- binary incompatible due to changes in the compiler code
- a strong type cannot be used as a custom verb
- ~ operator is no longer supported
- is 100% UTF-8 internally
- operator redesign : \ - alternative message call, || - or operator
- stripping CORE from OS dependant code and moving it into CORE_LNX and CORE_WIN
- out prefix is no longer supported, variable should be used instead
- gui platform is reintroduced
- built-in $nil symbol
- a class hint "stringof" supports type argument as well (e.g. stringof:int)
- coreapi : loading subject by name, returning the subject name
- ELC:
- two passes compiling: at first declare, at second - implement
- -wX / -wX- options turning on / off warnings
- optimization : a simple resend operation
- linux ELF linker
- both external call modes supported: winapi / c
- bug with outer field type fixed
- bug with redirect to an outer field fixed
- issue #45
- compiler option: ds - enabling subject serialization in stand-alone program
- by default c call convention (cdecl) is used
- LIB:
- literal type, LiteralValue, String are UTF-8, CharValue is Unicode (UTF-32)
- WideLiteralValue and WideString
- linux: support basic i/o operations (console, files)
- system'winforms module implementing basic WIN32 GUI functionality
- forms: SDIForm, SDIDialog, ChildForm, Edit, Label, Button, ImageBox, ImageList
- forms: Menu, DockingBox
- system'dynamic'classOp : read&mssg_mask&index&mssgarray&vint[4]
- system: MessageArray, IntMatrix, ReadArray, RealMatrix
- system'Signature: constructor new&literal$[1], new&wide$[1]
- system'dynamic: subjectROp
- system'dynamic: classOp -> classROp
- reflection routines work for stand-alone version as well
- extensions'text: encoderOp
- system'io: File
- new package: sqlite
- new modules: system'drawing
- system'io: Stream, BinaryReader, BinaryWriter, FileStream
- system'console: clear
- system'collections: ArrayList
- refactored to simplify the code
- Samples:
- agenda, graphs, c_a_g
- notepad
- IDE:
- binaray arrays are displayed in the debug watch correctly
- debugger behaviour reimplemented to improve UX
New in ELENA Integrated Development Environment 1.9.18.1 (Feb 23, 2015)
- ELC:
- codebase refactored
- output code optimized
- IDE:
- Project - View - Call stack
- Project - Options - Debug Mode : Enabled for VM Client is no longer supported
- LIB:
- system : Object#class.new
- system'control => extensions'control
- Misc:
- nstallation package is introduced
New in ELENA Integrated Development Environment 1.9.18 (Feb 23, 2015)
- binary incompatible due to changes in debugger / exception support /
- typecasting
- dn files are no longer produced, debug info is inside an executable
- new shared library : elenart - run-time helper for stand-alone
- applications
- constructor may have redirecting and initializing parts
- vmpath is no longer used, shared path used instead (for both elenavm and
- elenart)
- type routine overhaul
- syntax : extending operator renamed - "::" should be used
- syntax : class syntax changed - "::" should be used to provide the class
- parent
- new hint : type can be provided for the method result
- direct dispatching no longer supported
- statement terminator can be omitted only in lazy expression
- character constant (e.g. "a" is CharValue rather than LiteralValue)
- escape sequence is no longer supported (e.g. "Hello%n" => "Hello"#10 )
- 0r, 1.0e2r constants are correctly recognized
- ? and ! operators require an object now (e.g. a == b ? [ .. ] is no
- longer possible, correct syntax is (a==b) ? [ ... ])
- codebase refactored
- output code optimized
- compiler option is no longer supported : -xembed-
- Project - View - Call stack
- Project - Options - Debug Mode : Enabled for VM Client is no longer
- supported
- Project - Options - VM Path is no longer supported / required (SHARED
- path is used)
- system : ByteNumber, ShortNumber, IntNumber, LongNumber, RealNumber,
- Integer, Long, Real, CharValue
- system : intConvertor, literalConvertor, longConvertor, realConvertor,
- FunctionX, IndexFunctionX
- system : Object#class.new, Exception::theCallStack, Exception.get&literal$
- system : ByteArray, ShortArray, LiteralValue, Array
- system'control => extensions'control
- system'collections : List, Dictionary
- system'routines : literalOp
- system'math : intOp, realOp
- system'calendar : Date, TimeSpan
- system'text : TextBuffer, Encoder, ansiEncoder
- system'io : BinaryReader, StreamReader, BinaryWriter, StreamWriter,
- FileStream, TextReader, TextWriter
- extensions: inputOp, outputOp, convetor
- system : CallStack, IntArray, byteConvertor, shortConvertor, CharArray
- extensions'dynamic: scriptEngine, ScriptEngineException
- system'math : byteOp, shortOp, longOp, Matrix
- installation package is introduced
- ELENA API documentation (see doc\api) is up to date now
- Visual Studio Projects are migrated to Visual Studio Community 2013
New in ELENA Integrated Development Environment 1.9.17 (Oct 16, 2014)
- ELENA:
- some bug fixes
- generic methods
- LIB:
- some bug fixes
- system'dynamic: Group, Extension, classOp, DynamicStruct
- system'io: TextReader, StreamReader, StreamWriter, BinaryReader, BinaryWriter
- system'text: TextReader (refactored to be a base class and moved to system'io, system'io'StreamReader should be used instead)
- extensions'calendar: dateOp
- extensions'dynamic: scriptEngine
- extensions'text: StringReader
- ElenaScript:
- script engine redesigned
New in ELENA Integrated Development Environment 1.9.16 (Sep 15, 2014)
- compiler code overhaul & optimized (vm command set, typecasting, method
- code),
- binary incompatible due to changes in the compiler
- changes in exception handling routines
- new operator setAt (e.g. a@2 := b a setAt:2:b)
- fixed: #var(type:long)n := 2
- output code : some refactoring, binary incompatible due to changes in
- method calling code / stack frame structure
- project configuration modified to support multiply platforms
- new platform: console_mt (early alpha)
- private message implementation fixed
- ecode optimization: idle labels are removed
- some code refactoring-
- system'threading: Thread, threadControl
- new functionality: system'intOp, system'mathOp
- new functionality: system'dynamic'Tape (supports methods)
- asm2binx: fixed ecode compiler
New in ELENA Integrated Development Environment 1.9.15 (May 24, 2014)
- ELENA:
- new operator setAt (e.g. a@2 := b a setAt:2:b)
- new ecodes: bloadfi, mresetsubj
- ELC:
- output code : some refactoring, binary incompatible due to changes in method calling code / stack frame structure
- project configuration modified to support multiply platforms
- new platform: console_mt (early alpha)
- private message implementation fixed
- ecode optimization: idle labels are removed
- [LIB]:
- some code refactoring
- system'threading: Thread, threadControl
- new functionality: system'intOp, system'mathOp
- new functionality: system'dynamic'Tape (supports methods)
- ElenaScript:
- engine: syntax simplified, implementation refactored (alpha)
New in ELENA Integrated Development Environment 1.9.14 (Apr 12, 2014)
- ELENA:
- operator implemenation refactored
- new statement : #use
- new method hint : extension
- new ecodes: loadclass, indexofmsg, wseval
- ELC:
- codebase refactored
- some native-code optimization
- fixed ecode: lrndnext
- IDE:
- "step over line"/"step over" implementations are improved
- LIB:
- system'dynamic: Symbol
- new functionality:system'dynamic'classOp
- fixed bug:system'primitive.toLiteral&int&index (e.g. binary sample with 1234567)
- fixed bug:system'text'TextBuffer.write&literal (e.g. matrix sample, identity matrix with size >= 18)
New in ELENA Integrated Development Environment 1.9.12 (Feb 15, 2014)
- ELENA:
- new ecodes: sqrt, cos, sin, pi, arctan, iaxloadfi, iaxloadsi, iaxloadbi
- ELC:
- heap size is tuned
- bug fix: length boxing, long static array implementation, break statement, wscopyreal, object constructor implementation
- byte code optimization routine fixed
- IDE:
- debugger watch: open argument list
- [LIB]
- new package: forms
- system: intOp
New in ELENA Integrated Development Environment 1.9.11 (Jan 18, 2014)
- ELENA:
- new ecodes: unbox, mreset
- it is possible to use generic arguments with an open argument list
- operations with stack allocated objects refactored
- ELC:
- configuration / project files are UTF8 now
- some native-code optimization
- some byte-code optimization
- fixed bug with external operation error handling
- fixed bug with exception handling sub code
- fixed bug with control&do&until virtual implementation
- fixed critical bug in external call routine
- [LIB]
- ELENA API refactored and simplified
- ELENAVM:
- fixed bug with stack allocated object boxing
- Samples:
- rosseta code: bullscows, calendar
- Tools:
- asm2binx: fixed ModR/M and SIB encoding bug
New in ELENA Integrated Development Environment 1.9.9.11 (Nov 26, 2013)
- ELENA:
- Exception handling syntax modified
- long, real and bytearray variable can be declared as a stack allocated one
- get / set opcodes: index range verification added
- [LIB]
- ELENA API refactored
- index operations raise an exception if out of range
- extensions'patterns: CombinatorWithRepetition
- Samples:
- matrix: determinant code fixed
- IDE:
- debugger watch: fixed bug with unrefreshed stack allocated variables
- menu option shortcut fixed:upper / lower case
- menu option fixed:project clean up
- settings: font size can be changed
New in ELENA Integrated Development Environment 1.9.9.10 Beta (Nov 1, 2013)
- ELENA:
- binary incompatible due to critical bug fixes / new ecodes
- open argument list
- stack allocated local variable
- multy-select branching
- ELC:
- some output code optimization
- CRITICAL BUG: dynamic array initializing
- [LIB]:
- CRITICAL BUG: fixed bug in GC algorithm
- extensions'math
- system'dynamic: SelectorTape
- fixed bug: LiteralValue.equal&type'widestr[1]
- Samples:
- console: datetime, matrix, textdb, translit
- rosseta code: ackermann, anagram, arithmeticint, arithmmean, arrayconcat, arraymode, associatearrays, bestshuffle, binary, brackets
- ElenaScript:
- script modified to support basic operations
- opencalc: inline / default scripts
New in ELENA Integrated Development Environment 1.9.9.9 (Oct 8, 2013)
- Changes:
- ELENA:
- new short form: %prop ( 2 ) == { prop'get = 2)
- the method parameter order is reversed
- new ecodes: mccelseacci, mccthenacci
- ELC:
- binary incompatible due to changes in the implementation / opcodes
- CRITICAL BUG: fixed bug in jump opcode implementation
- CRITICAL BUG: fixed bug in mccquit opcode implementation
- [LIB]
- system'dynamic:GetProperty
- system'text:ELiteralOp
- Samples:
- rosseta code: arrays, applycallback, aplusb, anonymrec, addfield, anagrams
New in ELENA Integrated Development Environment 1.9.9.8 (Sep 17, 2013)
- new class hint: sealed
- binary incompatible due to changes in ecodes / critical bug fix
- CRITICAL BUG: fixed bug in GC algorithm
- more user friendly syntax errors
- optimization:idle frames
- fixed bug with default vm client exception handler
- fixed bug with direct method call implementation
- method has duplicate parameter names
- clean up code reimplemented
- bug in branching implementation (^ operator works incorrectly)
- some code refactoring
- exception handler interface modified: the reference to exception is passed
New in ELENA Integrated Development Environment 1.9.9.7 (Aug 26, 2013)
- ELC:
- binary incompatible due to changes in ecodes/API
- exception handling routine is modified to fix the bug with stack allocated objects
- fixed critical error in code generation (jump ecodes)
- more user friendly syntax errors
- optimization:virtual branching
- resend expression syntax modified
- [LIB]:
- system'dynamic:Wrap,Pair,EReflector
- system'collections'Dictionary
- extensions'dynamic:ETextSerializer, Globals
- extensions'text:presenter
- system: Date, TimeSpan, Variable
- system'text: Bookmark
- fixed critical error in LiteralValue.equal implementation
- IDE:
- debugger watch: fixed bug with stack allocated objects
- Samples:
- console: replace, goods
- rosseta code: accumulator
New in ELENA Integrated Development Environment 1.9.9.5 (Aug 3, 2013)
- ELENA:
- external code call routine is modified
- ELC:
- binary incompatible due to changes in encodes/procedure enter/leave implementation
- fixed boxing routine
- IDE:
- debugger watch supports stack allocated variables
- LIB:
- extensions'text:EIntPresenter, EIntFormatter, IntPresenter, IntFormatter, EListPresenter
- extensions'io:consoleHelper
- Samples:
- binary sample is migrated
New in ELENA Integrated Development Environment 1.9.9.4 (Jul 23, 2013)
- ELENA:
- default subject param is no longer supported
- method / constructor dispatch body
- primitive operation overhaul, stack allocated primitives introduced
- ELC:
- bsredirect is optimized
- some bytecode optimization
- some code refactoring
- fixed "duplicate constant" issue
- LIB:
- system'io'File, system'io'TextReader
- IDE:
- "step over line" implementation is improved
- file's full path is displayed as a tab hint
- Samples:
- textfile sample is migrated
New in ELENA Integrated Development Environment 1.9.9.3 (Jun 28, 2013)
- ELENA:
- unnamed argument list
- ELC:
- fixed several critical bugs
- LIB:
- properties start with a capital letter
- date / time basic support
- some bug fixes
- Samples:
- pi sample is migrated
- bsort sample is migrated
New in ELENA Integrated Development Environment 1.9.9.2 (Jun 3, 2013)
- Changes:
- ELENA:
- horizontal inheritance
- ELC:
- fixed several critical bugs
- LIB:
- new package: extensions
- new modules: system'collections, system'text
- Samples:
- words sample is migrated
New in ELENA Integrated Development Environment 1.9.9.1 (May 20, 2013)
- ELENA:
- deep language redesign [ELENA2]
- ELC:
- deep compiler redesign
- LIB:
- deep API redesign
- IDE:
- some modification to support ELENA2 changes
- Samples:
- helloworld, u_helloworld, intsum and real sum are migrated
New in ELENA Integrated Development Environment 1.7.17 (Sep 25, 2012)
- ELC:
- some code refactoring to be ready for Linux migration (all _T macros are removed)
- new elena code optimization rules
- fixed several critical bugs (branching, jump optimization)
- Samples:
- gui samples migrated to lib27
- LIB:
- migration to lib27
- SCRIPT:
- interpreter migrated to lib27
New in ELENA Integrated Development Environment 1.7.16 (Sep 17, 2012)
- ELC:
- argument list routine redesigned, arg, sign hints are no longer supported
- dispatching mechanism is redesigned
- __prop is no longer supported, __args should be used instead
- new external role __args
- binary incompatible due to change in ecodes / argument list implementation
- #try, #role are no longer supported
- sign, subj, arg hints are no longer supported
- argument list extender
- argument list disptacher
- Samples:
- some samples migrated to lib27
- LIB:
- part of the codebase migrated to lib27
New in ELENA Integrated Development Environment 1.7.15.8 (Sep 6, 2012)
- ELC:
- argument list routine redesigned, arg, sign hints are no longer supported
- dispatching mechanism is redesigned
- __prop is no longer supported, __args should be used instead
- new external role __args
- binary incompatible due to change in ecodes / argument list implementation
- #try, #role are no longer supported
- sign, subj, arg hints are no longer supported
- argument list extender
- argument list disptacher
- Samples:
- some samples migrated to lib27
- LIB:
- part of the codebase migrated to lib27
New in ELENA Integrated Development Environment 1.7.15.5 (Aug 25, 2012)
- ELC:
- argument list routine redesigned, arg, sign hints are no longer supported
- dispatching mechanism is redesigned
- __prop is no longer supported, __args should be used instead
- new external role __args
- binary incompatible due to change in ecodes / argument list implementation
- #try, #role are no longer supported
- sign, subj, arg hints are no longer supported
- argument list extender
- argument list disptacher
- Samples:
- some samples migrated to lib27
- LIB:
- part of the codebase migrated to lib27
New in ELENA Integrated Development Environment 1.7.15 (Aug 16, 2012)
- ELC:
- argument list routine redesigned, arg, sign hints are no longer supported
- dispatching mechanism is redesigned
- __prop is no longer supported,
- __args should be used instead
- new external role __args
- binary incompatible due to change in ecodes / argument list implementation
- #try, #role are no longer supported
- sign, subj, arg hints are no longer supported
- argument list extender
- argument list disptacher
- Samples:
- some samples migrated to lib27
- LIB:
- part of the codebase migrated to lib27
New in ELENA Integrated Development Environment 1.7.14 (Jul 17, 2012)
- ELENA:
- code base refactored to support UTF16 & UTF8
- __classreference and __symbolreference should be used instead of $classreference and $symbolreference
- __symbolreference can be now used to dynamically load a symbol (in VM mode)
- new dynamic group object: __succ
- ELENAVM:
- VM API is refactored
- Samples:
- upndown migrated to
- LIB26:
- most of samples are migrated to LIB26 (except notepad)
- LIB:
- fixed a critical error with int64 arithmetic operations (multiplication) ext'serialization'TextSerialized
- ext'routines'CombinatorWithRepetition and ext'routines'Combinator refactored
New in ELENA Integrated Development Environment 1.7.13 (Jul 4, 2012)
- This release includes new classes, samples and several compiler & IDE enhancements
- This release contains refactored samples and several bug fixes
New in ELENA Integrated Development Environment 1.7.12 (Jun 27, 2012)
- ELENA:
- new keyword: #sync (to acquire an object exclusive access)
- new group objects: __symbol
- obsolete group object: __action (__symbol should be used instead)
- batch group handler is redesigned
- ELC:
- some code refactoring (get rid of TCHAR)
- IDE:
- some code refactoring (get rid of TCHAR)
- fixed bug with step over parametrized symbol
- Tools:
- some code refactoring (get rid of TCHAR)
- elt is refactored
- Samples:
- some rosetta samples migrated to LIB26
- SCRIPT:
- elenasm is refactored to support several layer grammar rules
- script syntax modified
- action dynamic group is renamed into symbol
New in ELENA Integrated Development Environment 1.7.11 (Jun 8, 2012)
- LIB:
- std'routines'arrays'reverted
- IDE:
- debug watch:the content is refreshed automatically when the item is expanded
- Samples:
- some rosetta samples migrated to
- LIB26:
- upndown: score table displayed
New in ELENA Integrated Development Environment 1.7.10 (May 30, 2012)
- ELENA:
- #loop is obsolete, #while should be used instead
- fixed wrapgroup: group of group
- ELC:
- code base: some refactoring (bcwriter)
- new byte code optimization rules
- new ecodes: sptrylock and accfreelock
- LIB:
- lib26: ELENA API is refactored
- new module: ext'serialization
- Samples:
- samples migrated to LIB26
- rosetta samples are not migrated to LIB26
- notepad sample is not migrated to LIB26
New in ELENA Integrated Development Environment 1.7.8 (Apr 24, 2012)
- ELC:
- optimization: a back:b => b
- LIB:
- ext'routines: Combinator, CombinatorWithRepetition
New in ELENA Integrated Development Environment 1.7.7 (Apr 11, 2012)
- ELC:
- coret: synchronization routine is overhauled
- project templates reorganized
New in ELENA Integrated Development Environment 1.7.5 (Mar 19, 2012)
- ELC:
- new compiler option: lstdx
- fixed bug with invokevmt and "any" handler
- ELENAVM:
- new function: LoadClassName
- LIB:
- sys'vm'engine: Controller::class_name'refer
- sys'vm'routines'classname
- std'memory'bytearrayreader refactored
- IDE:
- debug autowatch:self and $self variables are now displayed correctly
- Samples:
- new rosetta sample: combinations
- Tools:
- elt: cannot display VM error
New in ELENA Integrated Development Environment 1.7.4.1 (Mar 10, 2012)
- ELENA:
- new initializing argument list syntax:Loop &&from:1 &to:5
- it is now possible to debug built-in group types
- ELC:
- optimization: numeric and literal constant methods are called directly
- fixed: negative floating number constant
- LIB:
- win32'localization'strings
- fixed: minus is lost when converting a real64 to a string
- IDE:
- fixed: go to source
- fixed: symbol parameter is not shown in auto watch
- Tools:
- ecv: it is possible to provide path to the viewing module
- Samples:
- new rosetta sample: charmatch
New in ELENA Integrated Development Environment 1.7.3 (Mar 6, 2012)
- ELC:
- optimization: a role method is invoked directly
- fixed generic handler
- IDE:
- fixed bugs with auto compilation mode
- fixed: if the breakpoint is at the first visible line, it is not shown
- LIB:
- win32'threading'api'threadhandle.wait
- std'basic'widechar: + / -
- sys'dynamics: batch
- gui controls events: onenter / onleave
- fixed: timespan::milliseconds'get
- Samples:
- new rosetta sample: caesar
- calc: some rules are migrated to the script
New in ELENA Integrated Development Environment 1.7.2 (Feb 25, 2012)
- ELENA:
- #type is no longer supported, use $classreference instead
- new meta symbols : $symbolreference and $classreference
- SCRIPT:
- new inline command: $symbolreference - to create a type symbol
- LIB:
- std'routines'arrays:fixed bug
- win32'io: directoryfactory
- ELC:
- simple byte command type optimization (popn pop => popn)
- Tools:
- ecv: displays command references Samples:
- new rosetta sample: binary
New in ELENA Integrated Development Environment 1.7.0 (Feb 15, 2012)
- ELC:
- binary incompatible due to change in ecodes / primitives
- LIB:
- new module: ext'utils
- std'basic'factory: newwideliteral
- Samples:
- new rosetta stone sample:brackets, bestshufffle
- IDE:
- tools - debugger options: lib path, src path
- project - options: vm path
New in ELENA Integrated Development Environment 1.6.18 (Feb 1, 2012)
- ELENA:
- new verb: invoke (used only for dynamic programming)
- LIB:
- new group object: __action, __bcast
- verb role implementation changed
- __cast routine was modified (the old functionality is implemented in __bcast)
- fixed bug in the property group handler: $self should be used instead of self to deal with the case when the property is a part of the group
- fixed bugs in std'routines'strings'eops role
- SCRIPT:
- new inline command ^^ verb: use external role object
- new supported group type: cast
- interpreter script migrated to LIB25 / OA paradigm
- IDE:
- new setting - debugtape - to debug vm tape
- fixed bug with the debugger:stayed twice on the same step
- Tools:
- ecv: could view symbol code as well
New in ELENA Integrated Development Environment 1.6.16 (Jan 26, 2012)
- ELC:
- some code refactoring / cleaning
- LIB:
- ext'gui migrated to lib25
- SCRIPT:
- VM Tape command overhaul; it supports stack variables now
- fixed bug with the role implementation
- IDE:
- VM Client debugger overhauled
- it is now possible to debug vm script
- fixed #00063: step over / into does not work when starting vm client
- Tools:
- ECV (ELENA Code viewer): ELENA byte code decoder
New in ELENA Integrated Development Environment 1.6.13 (Jan 19, 2012)
- ELENA:
- new built-in verb roles
- built-in group class aliases can be used in
- #type expression
- ELC:
- fixed #00062: cannot parse 2-3 expression
- fixed bug with external role $self variable
- fixed critical error in arithmetic routines
- parsing order changed: tilde expression is now part of the operation rather than the object
- LIB:
- "then" subject is moved to external role std'patterns'econtrol
- std'patterns:
- tryget template
- ext'patterns: meanaction
- SCRIPT:
- embedded action is no longer supported
New in ELENA Integrated Development Environment 1.6.12 (Jan 6, 2012)
- ELENA:
- #wrap, #group, #cast and #union are no longer used, built-in classes should be used instead
- subject adapter hint is no longer supported
- new method handler - #generic
- new verb: replace
- LIB:
- LIB25: the language API was overhauled
- LIB25: new built-in group classes: __prop, __wrap, __group, __cast, __union, __wrapgroup
- SCRIPT:
- supports new group objects: &prop and &wrap
New in ELENA Integrated Development Environment 1.6.11 (Dec 20, 2011)
- ELENA: [!] core / command primitives refactored
- ecodes set extended
- new built-in variable $next
- new group type: switch
- role enext is no longer supported, use $next instead
- new group type: wrap
- LIB:
- sys'assembly'egetprop
- SCRIPT:
- disptaching implementation refactored
- it is possible to use external roles
- new script engine keyword: $role
New in ELENA Integrated Development Environment 1.6.10 (Dec 8, 2011)
- ELENA:
- fixied critical errors in GCX/GCXT
- new ecode: shiftacc
- it is possible to switch roles inside the inline sub class
- gui vm client displays errors on start now
- LIB:
- std'routines'summing, std'routines'counting, std'patterns'it
- Samples:
- rosettacode: bitwise
- IDE:
- several small bugs
New in ELENA Integrated Development Environment 1.6.9 (Nov 26, 2011)
- ELENA:
- fixed critical errors in GCX/GCXT
- new ecode: shiftacc
- it is possible to switch roles inside the inline sub class
- gui vm client displays errors on start now LIB: std'routines'summing, std'routines'counting, std'patterns'it
- Samples:
- rosettacode: bitwise
- IDE: several small bugs
New in ELENA Integrated Development Environment 1.6.8 (Nov 21, 2011)
- ELENA:
- gcxt: pre-alpha LIB: sys'entries redesigned, sys'vm'scriptengine
- new module: std'math'vectors, sys'threading, win32'api'threading
- Samples: vmconsole, notepad, timer
- rosettacode:smavg, arrayconcat, arraymode
- IDE:
- migrated to elenasrc2 branch
- search history in search / replace dialogs
New in ELENA Integrated Development Environment 1.6.7 (Nov 11, 2011)
- Features:
- Pure polymorphic object oriented language
- "Horizontal" multiple inheritance
- Context dependant roles
- Dynamic "class mutation" ("annex / switch/ cast" handler)
- Multiple message dispatch
- ELENA Virtual machine (in developing)
- Command line 32-bit compiler
- GUI IDE & Debugger
- Unicode support
- Complete source code
- Number of samples, including a card game Up'N'Down (in development) Getting started tutorial
- Simple Assembler compiler
- Dynamic Self-Assembling Script engine
- ELENA Virtual Machine Terminal
- Changes:
- ELENA: [+] project config forwards section: supports wildcards
- [-] fixed critical error in GC_REALLOC
- [-] fixed critical error in merger ecode
- [-] fixed critical error in elenavm with forward symbols LIB:
- [+] new gui dialogs: opendialog and savedialog
- [+] new control: gui'controls'Timer
- [+] sys'dates'Date: it is possible to set / add / subtract date members
- [+] new symbol sts'dates'NewDate
- [+] new role std'routines'EArrayOp: array concatenation
- [-] fixed error in win32'dates'DateConvertor
- SCRIPT:
- [*] script engine redesigned: simplify inline command syntax, there may be several grammar rule sets
- [+] bf interpreter script
- Samples:
- [+] new sample:timer
- IDE:
- [-] fixed bug with 'step over' the symbol with a parameter
New in ELENA Integrated Development Environment 1.6.6 (Oct 31, 2011)
- Features:
- Pure polymorphic object oriented language
- "Horizontal" multiple inheritance
- Context dependant roles
- Dynamic "class mutation" ("annex / switch/ cast" handler)
- Multiple message dispatch
- ELENA Virtual machine (in developing)
- Command line 32-bit compiler
- GUI IDE & Debugger
- Unicode support
- Complete source code
- Number of samples, including a card game Up'N'Down (in development)
- Getting started tutorial
- Simple Assembler compiler
- Dynamic Self-Assembling Script engine
- ELENA Virtual Machine Terminal Changes:
- ELENA:it is possible now to provide a full subject reference
- LIB:migration to LIB2 completed
- new std classes:listindexer
- new std roles:esort, estrop
- SCRIPT: multi-dispatching is supported
- role support is dropped
- Samples:upndown migrated to LIB2
- vmconsole sample: first working prototype of using script engine in ELENA
New in ELENA Integrated Development Environment 1.6.5 (Oct 17, 2011)
- ELENA:
- GC retired
- ELENAVM client support redesigned
- critical bug fixed: local variables with the same name LIB:
- lib2 redesigned
- new module: sys'vm SCRIPT: script engine refactored: inline script can be used to configure and start VM Tools:
- elt: several critical bugs fixed
- elt refactored: vl3 script type is no longer supported
New in ELENA Integrated Development Environment 1.6.4 (Sep 27, 2011)
- Features:
- Pure polymorphic object oriented language
- "Horizontal" multiple inheritance
- Context dependant roles
- Dynamic "class mutation" ("annex / switch/ cast" handler)
- Multiple message dispatch
- ELENA Virtual machine (in developing)
- Command line 32-bit compiler
- GUI IDE & Debugger
- Unicode support
- Complete source code
- Number of samples, including a card game Up'N'Down (in development)
- Getting started tutorial
- Simple Assembler compiler
- Dynamic Self-Assembling Script engine
- ELENA Virtual Machine Terminal
- Changes:
- ELENA:
- GCX: stable beta LIB: console2 & gui2 templates are switched to X platform fixed bug in win32'io'console implementation
- IDE:
- IDE code is migrated to elenasrc2 branch
New in ELENA Integrated Development Environment 1.6.3 (Aug 2, 2011)
- ELENA:
- operator parsing order is changed
- define import subjects as well
- argument list is now possible to use with symbol parameter as well
- new opcode: break2else, savesacc
- nil subject is no longer supported, use nillable
- SCRIPT:
- script engine refactored
- ELC:
- binary incompatible with the previous versions
- subject implementation overhaul
- elenavm InterpretLVMEx is redesigned
- gcx: beta
- ffriend-injection mingw compiler option was removed
- fixed bug with using #try and assigning expression
- fixed bug in group_next primitive function
- fixed bug in nullable option implementation
- Samples:
- bf interpreter: script version
- gui samples migrated to lib2
- Tools:
- elt refactored
- fixed bug in asm2binx: __arg1 is not recognized as a reference for SUB
New in ELENA Integrated Development Environment 1.6.2 (Jun 27, 2011)
- ELENA:
- it is possible now to switch to another role inside another one
- new ecode: snop
- run-time multi-dispatching
- new argument option: nullable
- obsolete argument option: norecc
- ecodes are simplified, several big commands are split
- #continue is no longer supported
- new statement: #try
- SCRIPT:
- it is possible to map forward references (#map 'forward reference
- it is possible to set package path (#package [] "path"
- ELC:
- new compiler option - g0
- some basic byte code optimization rules
- new option to turn on / off optimization
- optimization: direct method call for constants and external roles
- fixed bug with inline class argument hint
- elenavm is refactored to be ready for script engine
- LIB:
- code refactoring
- Samples:
- console samples are migrated to lib2
- rosetta stone samples are migrated to lib2
- Tools:
- vm terminal
- script engine
New in ELENA Integrated Development Environment 1.6.1 (May 6, 2011)
- ELENA:
- alpha multi-threading support: GC is now thread-safe
- new simplified syntax to create a group
- it is possible to include the other module references without aliases
- several big commands are split, highly specialized commands - dispatch
- new simplify syntax to specify compiler options
- hint keyword is no longer supported
- new ecode - popn
- expression syntax simplified
- ELC:
- fixed critical bug in memory management
- fixed #group statement bug for x platform
- fixed critical error - cannot compile class with roles in the release mode
- fixed #00058: duplicate subjects
- fixed #00059: win32_gui_vm_client and win32_console_vm_client applications do not work
- fixed #00060: #var a := a verb:b should not be possible
- LIB:
- new classes: ext'patterns'MultiEnumerator, std'patterns'args
- Samples:
- hellowworld_u migrated to lib2
- upndown bug fixed:player plays with a joker as a biggest one
- IDE:
- IDE debugger supports multi-threading applications
- 64bit integer numbers are displayed correctly in the debugger watch window
New in ELENA Integrated Development Environment 1.6.0 (Jan 27, 2011)
- ELENA:
- $next is no longer supported, use #continue
- the following verbs are no longer supported:shift, of, create, enum
- new simplified method argument syntax
- api code is significantly refactored
- dynamic symbol loading
- operators now have a verb synonyms
- add possibility to import subjects on the level of the module
- changed inline class implementation
- ELC:
- critical bug with nested conditional statements
- critical bug with GC
- new project template - guivm
- critical bug with GC (full collect is not invoked if there is no enough memory after partial collection)
- critical bug in bcFillR implementation code
- fixed critical bug with long number constant
- fixed: disabled debug mode crashes executable file
- LIB:
- source code is completely rewritten
- bool protocol is dropped
- fixed int64 operations
- critical bug with the win32 control reference pool
- new symbol sys'vm'loader
- Samples:
- fixed the issue with the focus in upndown sample
- fixed matrix sample
- basic up'n'down game version
New in ELENA Integrated Development Environment 1.5.6 (Oct 29, 2010)
- ELENA:
- x86 JIT Compiler was optimized
- native code support overhaul
- method call overhaul
- ecodes: exitannex renamed to breakannex
- new verb: takeout
- 64bit integer constants
- LIB:
- std'math'MatrixEnumerator, std'math'MatrixEnum, std'math'MatrixType
- std'math'dictionary module
- gui'dialogs'errorbox
- gui'controls'Menu
- compile libary overhaul to adapt new method calling syntax
- several small enhancements
- new control: gui'controls'Checkbox
- fixed a bug in 'program'output char'get
- sys'io: BinaryFile, NewBinaryFile
- ext'text: HexAdapter, EIntFormatter, ELiteralFormatter
- nil'ifnot is no longer supported - nil'is should be used
- ELC:
- new project sections: sforwards
- miltidispatching mechanism: some optimizations
- drop support of sdef hint
- migrated to gcc4
- IDE:
- fixed #00054: after changing encoding to unicode project template list is empty
- Samples:
- new sample: Matrix
- new sample: Dices
- new sample: eldoc
- upndown: it is now possible to play with a chaotic (random) compiler player
- fixed #00053: elenavm: helloworld doesn't work
New in ELENA Integrated Development Environment 1.5.5 (Aug 3, 2010)
- ELENA:
- 'evaluate' message name should be used instead of 'proceed' one
- 'do' message name should be used instead of 'continue' one
- 'nil'ifnot' should be used instead of ifnotnil
- new #hint keyword to introduce new style class attributes / shortcuts
- old style hints are no longer support, #hint should be used
- elena byte codes (ecodes) are redesigned
- elena syntax:argument list introduced
- new keyword: #union
- LIB:
- new package: ext'gui
- new class: ext'text'LineInput
- fixed #00051: printing long string
- ELENA library is refactored to support new language features
- context'get is no more supported, use instead enum'content'get or indexer'content'get
- ELC:
- fixed #00050: empty role
- fixed #00052: The compiler has a problem with paths where the NAME of a folder has space
- fixed compilation of the following code: #if Test::2 ...
- fixed #00045: now the number of warning is limited to 100
- fixed #00046: too long quote
- references implemented in the next module are no longer considered as unresolved
- action expression bug is fixed
- fixed loop implementation bug
- Samples:
- Samples are refactored to support new language features
New in ELENA Integrated Development Environment 1.5.4 (May 11, 2010)
- new built-in variable $next to work with group objects
- multiple dispatching implementation for several messages
- Message namespace implementation overhauled
- keyword #subject should be used instead of #scope
- project system/type option is not supported anymore
- ELENA library is refactored
- a simple virtual machine support (elenavm)
- fixed a major bug with inline symbol
- fixed a critical bug with circular reference
- fixed #00048: sending new message to group raises the exception
- ELENA byte code refactored
- Project option page is simplified
- new sample: TextDB
- project file format modified
New in ELENA Integrated Development Environment 1.5.1 (Feb 22, 2010)
- Message namespace implementation overhauled
- $invoke special message is no more supported
- keyword #scope added
- ELENA library is refactored
- new component: gui'controls'Memo
- Compiler code is refactored to be ready for ElenaVM
- debugger implementation impoved
- Samples are refactored to support latest language changes
New in ELENA Integrated Development Environment 1.5.0 (Dec 17, 2009)
- ELENA Engine refactored
- new class: ext'utilities'Date
- fixed bug: real to literal conversion routine
- ELC generates byte code modules instead of native ones
- Linker speeded up
- fixed critical bug: resource leaking in debug mode
- new setting : Project - Options - Additional options
- simply plugin support
- new plugin: code auto formatter (autoform)
- debugger implementation refactored
- fixed bug:auto recompile functionality
- fixed bug:the row numbers starting with 2
- new samples: Agenda, pi, binary
New in ELENA Integrated Development Environment 1.4.6 (Sep 10, 2009)
- This release includes a major syntax modification, a number of language enhancements, several bug-fixes aswell as refactored and extended ELENA standard library. New sample interpreter added
New in ELENA Integrated Development Environment 1.4.5 (Jul 1, 2009)
- old style protected messages are no more supported
- hint ns no more supported
- for protected message it is possible to provide namespace directly
- in the reference without any hint
- new floating-point number syntax:it should be ending with 'r' postfix
- $param is no longer supported
- ELENA API refactored: number of changes including symbol / message renaming
- message private namespace could be shared between the modules
- belonging to the same subbranch
- critical bag fixed in std'math module: round operation
- new class: std'basic'LongNumber, std'basic'LongInteger
- Coder refactored
- Output code optimized
- Critical bug fixed in GC (assigning local object fields)
- fixed the bug with debugger auto watch
- new sample: graphs
- code refactored, several small bugs fixed
New in ELENA Integrated Development Environment 1.4.4 (Jun 1, 2009)
- NEW SYNTAX: square brackets are used for hints instead of normal ones
- new control: UpDown
- new module: math
- indexer / enumerator routines are refactored
- gui forms support now keyboaad and mouse events
- fixed the bug: gui application is not released from the memory after
- the program is closed on Windows Server 2003
- fixed the bug with invalid nil symbol offset
- fixed the bug with annex symbol debugging
- project namespaces section is no more supported
- fixed GC bug: external field assigning from different generations
- fixed #00033: the following code 453464646->memory NewLiteral raise
- 'access vialation' exception instead of out of memory;
- fixed the bug with sequence of operation with super / self variables
- support of temporal objects
- new hint dbg used by the debugger to define the object data type
- compiler warns now if the module has incompatible structure
- built-in variable $vself is no more supported, use self instead
- more user-friend parser error messages for missing brackets
- new option autocomp: automatically recompile out of date projects
- new toolbox icon: Goto Source
- debugger auto watch shows $vself built-in variable if it's different from self
- new project option:command arguments
- several small enhancements
- fixed: Go To Line; dialog doesn't work
- fixed #00032: invalid syntax highlighting
- Up'n;Down sample refactored and extended
- STD package documentation is up to date
New in ELENA Integrated Development Environment 1.4.3 (Apr 27, 2009)
- This release includes a number of IDE enhancements, language syntax improvements, several minor bug-fixes as well as refactored and extended ELENA standard library.
- The project includes documentation, ELENA standard library source code, samples, command-line compiler, IDE.
- Currently only Win32 platform + I386 is supported.
- Changes:
- hint could be provided as postfix after an appropriate keyword
- new keyword #if for chain branching expressions
- new simplified syntax for initializing implicit symbols
- new built-in message $invoke
- symbol could have only one parameter now
- several minor syntax changes (brackets used instead of < > characters, '->' operator used for property-symbols instead of "::&")
- #case keyword is obsolete, use #if instead
- keyword #hint obsolete, use new syntax postfix syntax
- protectable hint is obsolete now
- obsolete built-in variables $this and this are no longer supported
- LIB:
- refactored to support new language features
- several new controls: gcomp'Paintbox, ggraph'ListImage
- the library code is refactored and new functionality added
- ELC:
- new hint - constant
- output code optimization: stateless objects treated as constants
- fixed: invalid error message if the base class is declared after the inheriting class
- config value flatmode is no longer supported, only flat mode is allowed now
- IDE:
- new menu option: Go To Source Code
- new shortcut: ALT+0 - open Window List
- new shortcut: ALT+N - switch to the tab (from 1 to 9)
- new option: it's now possible to close the window from window list dialog
- new option: remember last folder / last project checkboxes in Editor Options dialog
- new project option: project template
- new short-cut: CTRL+E to swap two symbols on either side of the cursor
- new file option: close all but active
- new edit options: to upper / to lower case
- project option dialog redesigned
- Recent projects / files lists are numerated now
- fixed #00025: the debugger stops on the place where F4 was pressed last time even if the program was restarted
- fixed #00026: operators are not highlighted correctly after digit
- fixed #00015: debugger watch does not show symbol parameters
New in ELENA Integrated Development Environment 1.4.2 (Feb 3, 2009)
- ELENA library is updated with the new classes and methods
- std / gui / win32 v-property classes are redesigned
- removed a number of redundant forward declarations and extensions
- ELENA library is refactored to get rid of redundant private methods
- VMT routine improved optimized
- Any handler / mutation routine redesigned, syntax simplified
- v-property routine redesigned.
- more user friendly error message if the dot is missing
- fixed #00021: the debugger doesn't go to the alternative chain if
- the v-property expression fails
- fixed #00014: match the whole word option in find dialog doesn't work
- fixed: message is not highlighted correctly after digits followed by CR
- new code added for up'n'down sample
New in ELENA Integrated Development Environment 1.4.1 (Dec 19, 2008)
- this and $this built-in variable are obsolete now.
- new built-in variable $vself introduced to be used in horizontal
- inheritance (extension) cases
- new keyword #hint allows to specify the compiler hint.
- new #cast statement which allow to broadcast message in a collection
- improved syntax for v-property expression protected methods (starting with $$)
- new project file section - namespaces - allow to declare forward namespaces
- #switch statement may work now with dynamic arrays as well
- Removed a lot of redundant forwards
- Removed a lot of redundant factory classes
- the sample code is refactored
- new code added for upndown sample
- fixed bug with $vself in #annex / #switch expressions
- fixed the critical bug in the garbage collection routine
- fixes several minor bugs
- fixed #00020: non-existing v-property generates confusing error
- (error 121, with invalid line and column info)
- fixed #00009: redirect / any handler routine works incorrectly if it's declared in the base class
- fixed #00005: code stops at the breakpoint even after it was
- removed sometimes
- fixed #00018: bug in window list sub menu (several windows with the same number 9.)
- fixed #00012: saving the last opened folder works incorrectly
- fixed the bug with hanging on uncomment operation
- fixed #00016: when you press ctrl+shift+k at the last document
- line IDE hangs on.
- fixed #00011: line program'input writeTo:a writeTo:b is not
- highlighted correctly
- fixed several minor bugs in words sample
- fixed several minor bugs in textview sample
New in ELENA Integrated Development Environment 1.4.0 (Nov 10, 2008)
- New keyword #annex and #switch which are used for "horizontal" inheritance
- New keyword #case to be used in code branch expressions
- It is possible to specify the inline class / collection base class with keyword #class { ... } or #class (...)
- [+] symbol templates introduced (e.g. #symbol"Enter the number" >>"integer)
- "=> [...]" is shortcut for "= proceed [...]"
- A lot of language syntax improvements and refactoring
- Expression syntax redesigned and made more consistent
- Any handler / dynamic mutation routine implementation enhanced
- Role implementation routine is optimized
- Simplified syntax for inline symbol is applied now only for "=>" method
- Possible to provide reference shortcut instead of full names in base class declaration (e.g. #define basic'* = std'basic'*. #class
- MyInt... )
- Inline classes class variable are the following:$self, $this, $super to distinguish from the normal class variables (self, this, super)
- Complete refactored to implement the concepts of "open architecture" and "reduced class interface"
- Executable debug info restructured
- The compiler / linker source code is refactored
- Fixed "the writer index out of range" issue for editor
- Fixed the bug with highlighting lines containing tab characters
- Complete refactored to implement the concepts of "open architecture" and "reduced class interface"
- Part of the Up'N'Down code is commented out because of work on new language concept
- ELENA API and documentation are out of date
New in ELENA Integrated Development Environment 1.3.1 (Aug 13, 2008)
- syntax modified to be more laconic
- syntax for inline symbols containing only one method is simplified
- for an inline symbol a base class could be specified
- operator @ is now used for index access instead of 'at' message
- std'memory: DumpReader and DumpWriter
- Ansi strings / controls are not supported
- StringBookmark should be used for the operations with string intead of StringOperation
- win32 & gui packages are refactored
- xwide parameter is not supported any more (ELENA supports now only UNICODE strings)
- several small bug-fixes
- bsort refactored
- replace refactored