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.
|