diff options
Diffstat (limited to 'src/interp/compiler.boot')
-rw-r--r-- | src/interp/compiler.boot | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index e165751e..df460c2c 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -735,6 +735,12 @@ substituteIntoFunctorModemap(argl,modemap is [[dc,:sig],:.],e) == compConstructorCategory(x,m,e) == [x,resolve($Category,m),e] +compEnumCat(x,m,e) == + for arg in x.args repeat + IDENTP arg => nil -- OK + stackAndThrow('"all arguments to %1b must be identifiers",[x.op]) + [x,resolve($Category,m),e] + --% SUBSET CATEGORY compSubsetCategory: (%Form,%Mode,%Env) -> %Maybe %Triple @@ -2639,6 +2645,7 @@ for x in [["|", :"compSuchthat"],_ ["DEF", :"compDefine"],_ ["elt", :"compElt"],_ ["Enumeration", :"compCat"],_ + ["EnumerationCategory", :"compEnumCat"],_ ["exit", :"compExit"],_ ["has", :"compHas"],_ ["IF", : "compIf"],_ @@ -2659,9 +2666,9 @@ for x in [["|", :"compSuchthat"],_ ["SEQ", :"compSeq"],_ ["SubDomain", :"compSubDomain"],_ ["SubsetCategory", :"compSubsetCategory"],_ - ["Union", :"compCat"],_ ["Mapping", :"compCat"],_ ["MappingCategory", :"compConstructorCategory"],_ + ["Union", :"compCat"],_ ["UnionCategory", :"compConstructorCategory"],_ ["where", :"compWhere"],_ ["per",:"compPer"],_ |