August 30, 2015 clojure racket jargon

'(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.)