An interface is a description of what an object can do but you don't care about how it does it when used in your code.
Read-Eval-Print-Loop. A command-line interpreter (or chunk compiler) for the language. Lisp is the primary example, but many other languages (like Ruby and Python) have a similar...
This means that the definition of types may depend on values. A dependently-typed language can express types with constraints that depend on values at compile time--like "an...
Homoiconicity means that the code is itself a data structure, usually nested linked lists. This allows you to rewrite code using special compile-time functions called macros, whi...