3 ms·
Most of that are also old Lisp idioms&features, minus the static type system: * compile time code, in Common Lisp with macro, reader-macros or via EVAL-WHEN ->
by _19qg 4y ago
Most of that are also old Lisp idioms&features, minus the static type system:
* compile time code, in Common Lisp with macro, reader-macros or via EVAL-WHEN -> at compile-time the whole Lisp system is available
* multiple dispatch -> introduced with CLOS
* when-let, when-let*, if-let, let-bind, ... are older macros
* structural typing: what Python, Ruby does -> CLOS does that, too. Even earlier object systems like Flavors. See also Smalltalk.
* adding methods to an existing class, outside the class definition -> CLOS has open classes. methods are not defined 'inside' classes, thus there is no 'inside'
* Homoiconicity -> easy
* image-based development -> see Interlisp ( https://interlisp.org https://interlisp.org ) for an extensive approach
the last thing 'everything is a hash table' is not common in Lisp, though there are languages where the key-value mapping is the central data type, like in Frame systems (see FRL)