* Support dynamic (duck) typing
Factor is a general purpose, dynamically typed, stack-based programming language.
* Higher order functions
http://factorcode.org/responder/help/show-help?topic=quotations
* Garbage collected
* Support for a JIT compiler (compile to (fast) native code)
as well as a native FFI system (ability to call functions from external native libraries. Marshalling of args and return values should be done by VM core)
Factor has an optimizing native compiler, automatic memory management with a generational garbage collector, a powerful collections library, and various advanced language features such as higher-order programming, continuations, and extensible syntax.
...
An easy to use C library interface allows one to call C libraries without writing any glue code in C. Bindings for OpenGL, FreeType, X11, Cocoa, and Windows APIs are provided.
* Have a powerful macro system (defmacro)
http://useless-factor.blogspot.com/2007/06/macrology-never-gets-old.html
* Classes and inheritence
http://factorcode.org/responder/help/show-help?topic=classes
* Nested procedures would be cool
quotations > nested procedures
http://factorcode.org/responder/help/show-help?topic=quotations
* Support for unicode is a must
http://useless-factor.blogspot.com/2007/02/doing-unicode-right-part-1.html
http://useless-factor.blogspot.com/2007/02/doing-unicode-right-part-2.html