What makes Lua a cool programming language? It shares a lot of great characteristics with Pharo...
- Can do OOP, functional programming, imperative -- it's your choice. - There are only 8 data types, and all are first-class values. - Multiple return values! Constructs such as x,y = y,x. - All functions are unnamed full lexical closures. - Tables! Can be associative, arrays, or both -- simultaneously. - Dynamic typing & dynamic structures; easily polymorphic. - Loops can be controlled via user-defined iterator functions. - Automatic memory management, 'weak' typing, finalizers. - Can execute as a file, interactively in a REPL, or be embedded. - Block comments can encapsulate code that includes comments. - Highly portable, extensible, and has an excellent C API. - Reflective global environment which can be replaced at run-time. - Proper tail call elimination; allows deep recursion. - Coroutines (for co-operative multi-tasking made simple). - Strings are 8-bit clean & support unicode. - You can have apps in other languages call out to Lua code. - You can have Lua apps call out to code in other languages. -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html