summaryrefslogtreecommitdiffstats
path: root/lisplib.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-03-03 08:03:00 -0800
committerKaz Kylheku <kaz@kylheku.com>2021-03-03 08:03:00 -0800
commit87ad7742d1fb7dd757f37dbf922eb30872e1b8ed (patch)
treebfe3536e8315e4bb718603e64fc2ff891aacd958 /lisplib.c
parentd6e7978be1b7f3c4ab81db87b6f15f3f26ac25ab (diff)
downloadtxr-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