(lambda (x) (+ x 1)) is a ``meta-function''? Maybe I don't understand what he's trying to say, but it sounds like he's confusing them with higher-order functions or something.
' is a special syntax used in Lisps, it has nothing to do with plain S-Expressions.sexp ::= '(' sexp* [ sexp ' . ' sexp ] ')' | datum
datum ::= symbol | string | number | char | ...
'x (quote x)
`x (quasiquote x)
,x (unquote x)
,@x (unquote-splicing x)
#'f (function f) in CL, (syntax f) in Scheme with syntax-case, (var f) in Clojure.#`x (quasisyntax x)
#,x (unsyntax x)
#,@x (unsyntax-splicing x)lambda is more than a trivial quotation, in terms of syntax.
fn. Schemes let you use λ. lambda is about as annoying as JavaScript's function. I prefer fn.
λ for short procedures (i.e., (λ (x) (+ x 1))), lambda for the rest:
(with-anus
(λ () ; too much wasted space
...1
...2))
(with-anus
(λ () ...1 ; too much indentation, looks ugly.
...2))
(with-anus
(lambda () ; ok for me.
...1
...2))lambda/λ, because it's more likely to use fn/fun/proc than λ as variable name.cut is a keystrokes bloated ill-designed shit.<> instead of ONE % and THREE cut instead of ONE again #. It's not forgivable for a mechanism the sole purpose of which is to safe typing.#(hax %2 % % %3), with SRFI-26 (cut hax <> <> <>) means (lambda (x y z) (hax x y z)) and you can't do anything else with it. λ. If you need something more than what cut can do, you should probably use lambda directly. Hell, what is this, Perl?