Helma's been continually developed for decades by a group of nice people striving for excellence, mostly around Vienna, and in various Alpine valleys.
- Closures and proper lexical scope
- Everything is an object (for most purposes)
- Limited, but standardized library of data objects: numbers, strings, booleans, dictionaries, lists, null
- Every variable and function can be changed at runtime
- No continuations
- One of the most important and heavily used languages in the world
- No keyword parameters
- No checking of number of arguments
- Prototype system: Just read the spec. The mind boggles. What were they thinking? I don't think anyone can describe how the prototype stuff works in under one page.
- undefined: What's this for?
- Unreadable spec
- No macros. You can't program seriously without them.
- No big numbers. Serious damage for a dynamic language.
- Add keyword and rest arguments, like Common Lisp.
- Add a class system, and have method declarations outside of classes, like Common Lisp. Make exceptions objects.
- Make exceptions restartable. Once you go restartable, you don't go back.
(BTW, my new Lisp will have most of the features noted above.)