diff options
Diffstat (limited to 'src/interp/lisp-backend.boot')
-rw-r--r-- | src/interp/lisp-backend.boot | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/interp/lisp-backend.boot b/src/interp/lisp-backend.boot index 6fb119e8..d1fa2d74 100644 --- a/src/interp/lisp-backend.boot +++ b/src/interp/lisp-backend.boot @@ -190,6 +190,9 @@ expandList(x is ['%list,:args]) == args' = 'failed => ['LIST,:args] quote args' +expandArray2List ['%array2list,x] == + ['COERCE,expandToVMForm x,quote 'LIST] + expandLeave ['%leave,l,x] == x := expandToVMForm x l = nil => ['RETURN,x] @@ -672,6 +675,7 @@ for x in [ ++ Table of opcode-expander pairs. for x in [ ['%list, :function expandList], + ['%array2list, :function expandArray2List], ['%collect, :function expandCollect], ['%repeat, :function expandRepeat], ['%return, :function expandReturn], |