aboutsummaryrefslogtreecommitdiff
path: root/src/interp/compiler.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/compiler.boot')
-rw-r--r--src/interp/compiler.boot6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot
index 10657288..1d9686bc 100644
--- a/src/interp/compiler.boot
+++ b/src/interp/compiler.boot
@@ -828,7 +828,11 @@ compConstruct(form is ["construct",:l],m,e) ==
(T:= compVector(l,["Vector",CADR y],e)) and (T':= convert(T,m)) =>
return T'
-compQuote(expr,m,e) == [expr,m,e]
+++ Compile a literal (quoted) symbol.
+compQuote: (%Form,%Mode,%Env) -> %Maybe %Triple
+compQuote(expr,m,e) ==
+ expr is ["QUOTE",x] and SYMBOLP x => convert([expr,$Symbol,e],m)
+ stackAndThrow('"%1b is not a literal symbol.",[x])
compList: (%Form,%Mode,%Env) -> %Maybe %Triple
compList(l,m is ["List",mUnder],e) ==