Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <ul> <li>Pass-by-reference (C++/C#)</li> <li>String interpolation (Perl/Ruby) (though a feature of <a href="https://lispcookbook.github.io/cl-cookbook/cl21.html#string-interpolation" rel="nofollow noreferrer">CL21</a>)</li> <li>Nice infix syntax (though it's not clear that it's worth it) (Python)</li> <li>Monadic 'iteration' construct which can be overloaded for other uses (Haskell/C#/F#/Scala)</li> <li>Static typing (though it's not clear that it's worth it) (many languages)</li> <li>Type inference (not in the standard at least) (Caml and many others) (though CL does some type inference, unlike Python)</li> <li>Abstract Data Types (Haskell/F#/Caml)</li> <li>Pattern matching (Haskell/F#/Caml/Scala/others) (in CL, there are libs like <a href="https://github.com/m2ym/optima" rel="nofollow noreferrer">optima</a>)</li> <li>Backtracking (though it's not clear that it's worth it) (Prolog)</li> <li><strike>ad-hoc polymorphism</strike> (see Andrew Myers' answer)</li> <li>immutable data structures (many languages) (available through libraries, like <a href="https://github.com/slburson/fset" rel="nofollow noreferrer">Fsets</a></li> <li>lazy evaluation (Haskell) (available through libraries, like <a href="https://common-lisp.net/project/clazy" rel="nofollow noreferrer">clazy</a> or a <a href="https://lispcookbook.github.io/cl-cookbook/cl21.html#lazy-sequences" rel="nofollow noreferrer">cl21 module</a>)</li> </ul> <p>(Please add to this list, I have marked it community wiki.)</p> <p>This just refers to the Common Lisp and Scheme standards, because particular implementations have added a lot of these features independently. In fact, the question is kind of mistaken. It's so easy to add features to Lisp that it's <em>better</em> to have a core language without many features. That way, people can customize their language to perfectly fit their needs.</p> <p>Of course, some implementations package the core Lisp with a bunch of these features as libraries. At least for Scheme, <a href="http://www.plt-scheme.org/" rel="nofollow noreferrer">PLT Scheme</a> provides all of the above features*, mostly as libraries. I don't know of an equivalent for Common Lisp, but there may be one.</p> <p>*Maybe not infix syntax? I'm not sure, I never looked for it.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload