Overview   News   Download   Licensing   Features   Lists 
 
EEL

EEL Features

  • Designed for hard real time applications
  • Implemented in portable C with very few dependencies
  • C-like syntax
  • Automatic memory management
  • Dynamic typing
  • Functions are objects (Can be passed by reference)
  • Generic argument multiplexing, even inside expressions
  • Loop constructs support break, continue and repeat
  • Named loop bodies for break, continue and repeat
  • Variable length argument lists...
    • Required arguments
    • Optional arguments
    • Tuple arguments
  • Exception handling...
    • try..except statements
    • untry to debug code inside try blocks
    • except blocks are optional
    • throw statement that can throw any object
    • retry statement to re-run try block
  • Built-in high level types...
    • string (Pooled constant "Pascal strings")
    • dstring (Dynamic "Pascal string")
    • array (Array of dynamic typed values)
    • vectors (Fast, compact arrays of numeric types)
    • table (Table of <key, value> tuples)
    • file and memfile (Disk and memory files)
    • directory (Disk file directory)
  • Modules:
    • Modules are objects
    • Imported modules can be wrapped in namespaces
    • EEL modules...
      • Can be imported at compile time
      • Can be loaded dynamically at run time
    • Native (C) modules...
      • Can be injected by host applications
      • Taste just like (in fact, are) EEL modules
  • Integrated compiler with comprehensive error messages
  • EEL code can generate and compile EEL code at run time
  • Fast, register based, variable instruction size VM
  • Light weight interface to call C functions
  • Simple interface to call EEL functions from C
  • True data types can be added at run time
  • Low cost of entering and leaving the VM
  • Comes with EELBox, a binding to SDL with some add-ons
Copyright © 2005-2010 David Olofson