diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-03-03 08:03:00 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-03-03 08:03:00 -0800 |
commit | 87ad7742d1fb7dd757f37dbf922eb30872e1b8ed (patch) | |
tree | bfe3536e8315e4bb718603e64fc2ff891aacd958 /lisplib.c | |
parent | d6e7978be1b7f3c4ab81db87b6f15f3f26ac25ab (diff) | |
download | txr-87ad7742d1fb7dd757f37dbf922eb30872e1b8ed.tar.gz txr-87ad7742d1fb7dd757f37dbf922eb30872e1b8ed.tar.bz2 txr-87ad7742d1fb7dd757f37dbf922eb30872e1b8ed.zip |
compiler: lift uslot and umethod forms too.
The uslot and umethod functions produce functions; and should
be lifted to load-time, if possible.
For instance, the .foo expression [mapcar .foo list]
translates to a (uslot 'foo) function call. This references no
variables, and so is liftable to load-time.
The umethod function is an extension of uslot that allows
partially applied method arguments to be carried. If those
arguments are all functional, the umethod call is liftable.
* share/txr/stdlib/compiler.tl (%functional-funs%): Include
umethod and uslot.
Diffstat (limited to 'lisplib.c')
0 files changed, 0 insertions, 0 deletions