Overview   News   Download   Licensing   Features   Lists 
 
EEL

News

20120313: EEL 0.3.6 released
I have decided make regular releases of EEL with EELBox along with Kobo II in order to make the game available to more players. I just don't have the time and resources to make proper builds for other platforms than Win32 at this point. (Even though I'm actually doing the development entirely on Linux. The irony...!)
   The release is in the download section, as usual. See the ChangeLog for more details.
Like 0.3.4, this version uses ChipSound for sound synthesis. ChipSound is now under the zlib license!
Note that this is not really an official release aimed at EEL users. Things are under heavy development, and I just don't have the time to touch anything that isn't strictly needed for Kobo II and my inhouse tools at this point. Contributions would be welcome, and I'll try to answer questions, but please keep in mind that these are just my private tools that I use to get my job done at this point. Use at your own risk, etc. :-)

20111217: EEL 0.3.4 released
Special release for the Ludum Dare LD22 competition! I wasn't really planning on making any releases until Kobo II is near completion - but as the Ludum Dare competition rules demand that tools and engines are available to everyone, supposedly intending that SDKs, documentation etc should be available, I'm simply releasing the full source. There is no actual Kobo II game code in there anyway, so it should be of no consequence in that regard.
   The release is in the download section, as usual. See the ChangeLog for more details.
This version also uses ChipSound for sound synthesis. (ChipSound has not been released until now, so no home site.)
Also for the Ludum Dare LD22; a Win32 build with some script modules and a basic demo. (Includes SDL and other required DLLs.) Here is the demo without the Win32 binaries. There are probably a few dangling wires in there, and that isn't much of a demo - but that's what I'm starting the LD22 with this time. :-)

20091122: EEL 0.1.14 released
Just kept working while at it - so, here's another release! Mostly cleanup (code and legal stuff), and one bug fix: table lookups now handle strings and dstrings correctly, so you can index tables with dstrings without typecasting. Also added a VM profiling feature.
   Unless there are critical issues with this release, this may be the last 0.1.x release! I'm now focusing on getting 0.2.0 ready for release ASAP, most importantly adding support for "real" (ie DLL/so/dylib) binary modules, and possibly also a new error/warning message log, faster exception handling without the current quirks, weak references, multiple quoting and various other things I've been bitching about every now and then when hacking EEL scripts.
   See the ChangeLog for more details.

20091116: EEL 0.1.13 released
Another maintenance release, basically - although this one actually contains some real changes rather than the usual compiler compatibility fixes. Highlights:

  • Threaded VM, using "computed goto" - up to 20% faster!
  • EELBox can save PNG images.
  • 'switch' no longer supports 'break' - so now you can use that to break out of loops without using labels.
  • 'else' in 'switch' replaced with 'default', to avoid confusion with 'if' statements.
See the ChangeLog for more details.
   BTW, I've pretty much decided to use EEL (0.2.x+) as a general scripting and configuration language in Kobo Deluxe, which is now in active development again, so that might motivate EEL development a bit! Most importantly, the sound engine (also known as Audiality, containing an old precursor to EEL) is in for a rewrite, and will basically be reduced to a music/DSP toolkit for EEL. Of course, the next logical step is to use EEL for graphics loading and processing, themes, configuration and the like.

20081113: EEL 0.1.12 released
Long time no see! EEL 0.1.11 has served me and my employer well enough, while there hasn't been much public interest. EEL 0.1.12 is a minor update that deals with a GCC 4.2.x optimizer bug that we ran into some time ago. ChangeLog.
   So, EEL is actively used and maintained, but not actively developed? Well, actually EEL 0.2.x is on the way, with dynamically loaded binary modules, improved memory management and some new features and cleanups. Language improvements, new types, messages, threading, coroutines etc are down the road, driven by the needs of other projects.

20070105: EEL 0.1.11 released
Here we go again! Been throwing a whole lot of new code and new problems at EEL since the last release, and as you can see, we've skipped two public releases. This was part due to lack of time, and part because there were stability issues I wanted to deal with before making a public release. Most interesting changes from 0.1.8 below, or have a look at the full ChangeLog.

  • All relevant VM instructions can now handle up to 65536 constants
  • Compiling large files with line number debug info is now a lot faster
  • for i=N, N-1 ... will no longer iterate once
  • 64 bit pointer issue in relocate_limbo() fixed
  • Fixed octal number escape parsing in strings
  • A bunch of improvements to the EELBox GUI toolkit. (Sorry about the current lack of serious examples...)
  • Added a DSP module, with FFT, polynomial evaluation etc
  • Minor audio API improvements (mono samples and vector support)
  • Vectors and arrays can now be sliced, and...
  • ...slice() has been renamed copy(), to avoid confusion with an upcoming language feature
  • MIDI input support. (Very basic and ALSA only, for now.)
  • A bunch of new example/test scripts. (Hey, fftsynth.eel is almost interesting! ;-)
  • Various bug fixes and code cleanups

20060117: EEL 0.1.8 released
Well, we've spent some more time using EEL and EELBox, and fixing issues that we ran into. Short version of the ChangeLog from 0.1.6:

  • Added "dir" module, with an opendir()/readdir() like interface
  • EELBox got a very simple (and not too useful) nonblocking audio output API
  • The EELBox GUI toolkit got some new widgets and various improvements
  • EELBox implements SDL SetClipRect(), GrabInput() and WarpMouse()
  • The EELBox NET2 wrapper got optional non-blocking, lock-free buffering for TCPSend()
  • Added getus(), for sub ms accurate timestamps on platforms that can provide them
  • Added the export import...' construct, to transparently forward imports as exports
  • Added line numbers to the call stack dump
  • Added untry blocks which "unprotect" blocks under try blocks up the stack for debugging
  • Various bug fixes and improvements

20051113: EEL 0.1.6 released
Not much time for wrapping up and releasing lately, but this version has evolved in parallel with substantial amounts of production EEL code, so chances are it won't blow up in your face instantly. ;-)
   Some 200 new lines in the ChangeLog, covering bug fixes, new features, and some improvements to the language. Most interestingly;

  • Improved error handling and more informative VM dumps, with source line numbers
  • Explicit declarations - no more accidental assignments to existing variables
  • OOP member call syntax; ie some_object:SomeMethod(), passing self implicitly
  • Some syntax sugar for constructing objects from tables
  • switch..case..else construct
  • file and memfile types
  • continue now always works as expected
  • repeat (bypassing loop test) in any loop construct
  • Dedicated vector operators - + concatenates indexable objects, vectors included
  • Constant declarations
  • Compile EEL source code from (d)strings at run time
  • SFont rendering, GUI toolkit and other additions to EELBox
  • More test/demo scripts for EEL and EELBox

20050417: EEL 0.1.4 released
More portability fixes, most importantly for 64 bit platforms, and some bug fixes of varying magnitude. Added new type 'dstring', which is a non-constant variant of 'string', without hashes and pooling. Slower than 'string' for indexing and comparisons, but for string processing, it's faster than 'string' and much nicer than 'vector_u8'. Finally, there is now support for inplace operations with multiple sources and a single target.

20050407: EEL 0.1.3 released
Minor update, dealing with some portability issues and other stuff; some unintentional use of C99 features, a \t escape in a sed script, Cygwin linking issues, some functions with missing prototypes and QUIT event handling in all EELBox examples where it makes sense.

20050404: EEL 0.1.2 released
Finally! Much later than expected, but then again, it's not like I didn't expect that. ;-) Anyway, a few more pages of changelog; some refactoring, API cleanups, bug fixes, portability fixes, compiler improvements, a proper module "injection" API, inplace operators, C style += shorthand, and last but not least, EELBox, a binding to SDL, SDL_net, FastEvents and Net2, with some handy tools and "EELification" glue.
   In english, that means EEL is nicer, it runs on Linux, Windows and probably some other platforms, and you can now do some graphics and networking stuff in it. Examples included. Have fun! :-)

20050126: EEL 0.1.1 released
Well, other work added one day, and Murphy took care of the rest. Anyway, here it is, 0.1.0 + 50 ChangeLog entries; EEL 0.1.1. Now I'm off to to hack a very rudimentary SDL binding, TCP/IP networking and some documentation.

20050119: Real home site up!
That is, the one you're looking at. ;-) Meanwhile, the EEL ChangeLog has grown some 80 lines longer, and with some luck, 0.1.1 will be released this week.

20050111: EEL 0.1.0 released
I've spent some time rewriting the EEL scripting engine that took form as part of Audiality. Whereas the old EEL was a rather limited language with a direct-from-source recursive interpreter suitable only for "off-line" work, the new incarnation is a real programming language, designed specifically for real time applications.

Copyright © 2005-2010 David Olofson