'(Lisp Jargon)
Lisp Jargon
The following is a glossary of fundamental lisp terms that may be somewhat foreign to someone who is not versed in a lisp. I have cherry-picked the terms that I find to be most productive.
They are intentionally not alphabetical, but are ordered and grouped into logical sections.
- sexp
-
s-expression, symbolic expression
- statement
-
nothing — everything is an expression
- expression
- form
-
(vim)
- string
-
(vim)
- element
-
like atom (vim)
- redex
-
reducible expression
- regex(p)
-
regular expression
- lisp
-
list processor
- list
-
()
- sequence
- singleton
-
a sequence with only one element
- pair
- rpn
-
reverse polish notation: operator first
- quoting
- boolean
- homoiconic
-
code is data
- scheme
-
academic lisp dialect
- racket
-
another scheme implementation
- clojure
-
modern lisp on java/javascript
- clisp
-
common lisp; old, robust lisp dialect/implementation
- repl
-
read, eval, print, loop
- emacs
-
most common way to edit lisp
- vim
-
another powerful editor
- slime
-
an editor mode that enables immediate transfer of forms from editor to repl
- tree
-
leaves, nodes
- recursion
- iteration
- loop
- tco
-
tail call optimization for recursive functions
- lexical (scoping)
-
referring to scope of visibility, done through textual analysis
- formal parameter
- actual argument
- splice
- slurp
- barf
- name
-
an identifier bound to an object
- object
-
any lisp datum
- atom
- identifier
-
a symbol used to identify names
- variable
- symbol
- value
-
the result of an evaluation
- reference
-
refer to an object or binding by name
- binding
-
association between a name and its value (e.g., “let-binding”)
- literal
- keyword
- vector
- hash table
-
mapping of keys to values
- macro
- reader
- eval
- immutable
- concurrency
- parallelism
- primitive/built-in
-
ex: car, cdr, cond, cons, map, null?, add1, sub1
- null
- map
- apply
- rest list
-
cdr
- operator/operand
- predicate
- lambda
- function
- procedure
- application
- continuation
- signature
-
descirption of the parameters of a method
- block
- begin/do
- implicit block
-
if
has these - currying
- closure
- hof
-
higher-order function, passed in to another func or returned
- declaration
- definition
- htdp
- tls
- sicp
- ror
- exception
- environment
-
set of bindings
- package
-
bundle of reusable, installable code
- rank
-
number of dimensions of an array
- R5RS
-
revision 5 report on scheme
- fingernail clippings and oatmeal
- lambda calculus
- srfi
-
scheme requests for implementation; see the SRFI FAQs
(The definitions herein are mostly my own, but much of what I know is inevitably copied from others.)