diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-04-15 13:58:46 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-04-15 13:58:46 -0700 |
commit | fc7a6a883b663ea58edf8b190d210f11e91d4552 (patch) | |
tree | d67b4ff82a0961e0397f39051b19b8717af0d734 /itypes.h | |
parent | 1b86c3b4edd40f7b97c9e2f2af2554fcc098d30d (diff) | |
download | txr-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