aboutsummaryrefslogtreecommitdiff
path: root/src/interp/compiler.boot.pamphlet
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/compiler.boot.pamphlet')
-rw-r--r--src/interp/compiler.boot.pamphlet16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/interp/compiler.boot.pamphlet b/src/interp/compiler.boot.pamphlet
index 175eff35..e93b69c6 100644
--- a/src/interp/compiler.boot.pamphlet
+++ b/src/interp/compiler.boot.pamphlet
@@ -99,6 +99,12 @@ compMacro(form,m,e) ==
<<*>>=
<<license>>
+import '"c-util"
+import '"pathname"
+import '"category"
+import '"modemap"
+)package "BOOT"
+
compTopLevel(x,m,e) ==
--+ signals that target is derived from lhs-- see NRTmakeSlot1Info
$NRTderivedTargetIfTrue: local := false
@@ -208,7 +214,7 @@ compTypeOf(x:=[op,:argl],m,e) ==
hasFormalMapVariable(x, vl) ==
$formalMapVariables: local := vl
null vl => false
- ScanOrPairVec('hasone?,x) where
+ ScanOrPairVec(function hasone?,x) where
hasone? x == MEMQ(x,$formalMapVariables)
compWithMappingMode(x,m is ["Mapping",m',:sl],oldE) ==
@@ -375,9 +381,9 @@ convert(T,m) ==
mkUnion(a,b) ==
b="$" and $Rep is ["Union",:l] => b
a is ["Union",:l] =>
- b is ["Union",:l'] => ["Union",:setUnion(l,l')]
- ["Union",:setUnion([b],l)]
- b is ["Union",:l] => ["Union",:setUnion([a],l)]
+ b is ["Union",:l'] => ["Union",:union(l,l')]
+ ["Union",:union([b],l)]
+ b is ["Union",:l] => ["Union",:union([a],l)]
["Union",a,b]
maxSuperType(m,e) ==
@@ -1057,7 +1063,7 @@ compColon([":",f,t],m,e) ==
--if inside an expression, ":" means to convert to m "on faith"
$lhsOfColon: local:= f
t:=
- atom t and (t':= ASSOC(t,getDomainsInScope e)) => t'
+ atom t and (t':= assoc(t,getDomainsInScope e)) => t'
isDomainForm(t,e) and not $insideCategoryIfTrue =>
(if not member(t,getDomainsInScope e) then e:= addDomain(t,e); t)
isDomainForm(t,e) or isCategoryForm(t,e) => t