diff options
Diffstat (limited to 'src/interp/lisp-backend.boot')
-rw-r--r-- | src/interp/lisp-backend.boot | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/interp/lisp-backend.boot b/src/interp/lisp-backend.boot index 8426a531..36075241 100644 --- a/src/interp/lisp-backend.boot +++ b/src/interp/lisp-backend.boot @@ -317,11 +317,13 @@ expandStrlt ['%strlt,x,y] == expandStrstc ['%strstc,x,y,z] == expandToVMForm ['%store,['%schar,x,y],z] -expandBytevec2str ['%bytevec2str,x,y] == - ['COERCE,['SUBSEQ,expandToVMForm x,0,expandToVMForm y],quoteForm '%String] +expandBytevec2str ['%bytevec2str,x] == + ['MAP,quoteForm 'STRING, --FIXME: should be '%String, fix when SBCL is fixed. + ['FUNCTION,['LAMBDA,['c],['CODE_-CHAR,'c]]],expandToVMForm x] expandStr2bytevec ['%str2bytevec,x] == - ['COERCE,expandToVMForm x,quoteForm ['%Vector,'%Byte]] + ['MAP,quoteForm ['%Vector,'%Byte], + ['FUNCTION,['LAMBDA,['c],['CHAR_-CODE,'c]]],expandToVMForm x] -- bit vector operations expandBitvecnot ['%bitvecnot,x] == |