summaryrefslogtreecommitdiffstats
path: root/itypes.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-04-15 13:58:46 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-04-15 13:58:46 -0700
commitfc7a6a883b663ea58edf8b190d210f11e91d4552 (patch)
treed67b4ff82a0961e0397f39051b19b8717af0d734 /itypes.h
parent1b86c3b4edd40f7b97c9e2f2af2554fcc098d30d (diff)
downloadtxr-fc7a6a883b663ea58edf8b190d210f11e91d4552.tar.gz
txr-fc7a6a883b663ea58edf8b190d210f11e91d4552.tar.bz2
txr-fc7a6a883b663ea58edf8b190d210f11e91d4552.zip
compiler: lambda call to let optimization.
Normalize ((lambda ...) args) to (call (lambda ...) args). Reduce (apply (lambda ...) args) and (call (lambda ...) args) to let (let (vars-inited-from-args ...) ...). * lisplib.c (error_set_entries): Autoload for new error functions lambda-too-many-args, lambda-too-few-args, lambda-short-apply-list. * share/txr/stdlib/compiler.tl (comp-fun-form): Restructure to recognize lambda and handle via comp-inline-lambda. (compiler comp-inline-lambda): New method. (lambda-apply-transform): New function. * share/txr/stdlib/error.tl (lambda-too-many-args, lambda-too-few-args, lambda-short-apply-list): New functions.
Diffstat (limited to 'itypes.h')
0 files changed, 0 insertions, 0 deletions