a dialect of Lisp, treats code as data, good for multithreading