Jump to content
• ### What is your GameDev Story?

• Advertisement

# EEL, the Extensible Embeddable Language

This topic is 4979 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

## Recommended Posts

http://eel.olofson.net/
Quote:
 EEL is a scripting and programming language, designed specifically for hard real time applications. The primary target areas of application are control engineering and audio synthesis, but EEL should also be suitable for game scripting and for adding scripting capabilities to real time multimedia applications. EEL has dynamic typing, automatic memory management, exception handling and built-in high level data types such as vectors, arrays and tables. New such data types can be added at run time by host applications. EEL compiles into byte-code that runs on a virtual machine, which means that no explicit support for specific achitectures is needed for portability. The implementation is deliberately very self contained and has few dependencies, so that it can be easily integrated into "strange" environments, such as embedded devices running real time operating systems.

#### Share this post

##### Share on other sites
Advertisement
This looks very interesting. In particular, it's nice to see a scripting language (and a hard-realtime one, too) which isn't afraid to use a ref-counted GC. I've long thought that the standard objection about uncollectable cycles was a spurious and easily-avoided one.

Lisp?

#### Share this post

##### Share on other sites
Nice. I had a quick glance over the code and it looks as if I could understand this, if I wanted to. (That was not the case with other script languages I tried - and one major reason why I started my own.)

What I don't like (and probably most other people will like) is that it is dynamically typed (Arrgh...) and that you can use local variables without declaring them beforehand (assignment is declaration). My personal view is that these things might look convenient in the short run, but tend to produce unnecessary errors as the project grows in the long run.

There seem to be some exceptions to the adaption of the C syntax that might take some getting used to:
	for x = -10, 10	{	}

Quote:
 This looks very interesting. In particular, it's nice to see a scripting language (and a hard-realtime one, too) which isn't afraid to use a ref-counted GC. I've long thought that the standard objection about uncollectable cycles was a spurious and easily-avoided one.

jewelscript uses ref-counted GC, btw.

#### Share this post

##### Share on other sites
Quote:
Original post by jewe_org
Quote:
 This looks very interesting. In particular, it's nice to see a scripting language (and a hard-realtime one, too) which isn't afraid to use a ref-counted GC. I've long thought that the standard objection about uncollectable cycles was a spurious and easily-avoided one.

jewelscript uses ref-counted GC, btw.

As does Python.

What is a "hard-realtime" scripting language?

#### Share this post

##### Share on other sites
"soft realtime" means that a given operation can be reasonably expected to complete within a known period of time. "hard realtime" means that except for catastrophic hardware failure, it can be proven the operation WILL complete within a known period of time.

It's very difficult to do automatic memory management (or, in fact, any sort of memory management at all) in a hard realtime system.

#### Share this post

##### Share on other sites

• Advertisement
• Advertisement
• ### What is your GameDev Story?

In 2019 we are celebrating 20 years of GameDev.net! Share your GameDev Story with us.

(You must login to your GameDev.net account.)

• ### Popular Now

• 19
• 15
• 10
• 9
• 11
• Advertisement
• ### Forum Statistics

• Total Topics
634097
• Total Posts
3015509
×

## Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!