What’s the difference between “flet” and “labels” in Common Lisp?

In Common Lisp, both flet and labels make lexical bindings of slightly different sorts:

  • flet is a special form for local function binding. Bindings are not recursive and cannot refer to each other. Each binding contains function name, arguments, and function body.

  • labels is a special form for local function binding. Bindings can be recursive and can refer to each other. Each binding contains function name, arguments, and function body.

In Emacs Lisp, there is a small difference. The labels form is like flet, except that it makes lexical bindings of the function names rather than dynamic bindings.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)