aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sucl/cli.icl7
1 files changed, 4 insertions, 3 deletions
diff --git a/sucl/cli.icl b/sucl/cli.icl
index e7981c5..c86daac 100644
--- a/sucl/cli.icl
+++ b/sucl/cli.icl
@@ -9,6 +9,7 @@ import absmodule
import rule
import dnc
import basic
+from syntax import SK_Function
import general
import StdEnv
@@ -168,9 +169,9 @@ clistrategy (CliAlias {arities=as,typeconstructors=tcs,typerules=ts,rules=rs}) m
---> ("cli.clistrategy.checkconstr",tcs)
)
) (corestrategy matchable) // Checks rules for symbols in the language core (IF, _AP, ...)
- where islocal rsym=:(SuclUser s) = isMember rsym (map fst rs)// User-defined symbols can be imported, so they're known if we have a list of rules for them
- islocal rsym = True // Symbols in the language core (the rest) are always completely known
- // This includes lifted case symbols; we lifted them ourselves, after all
+ where islocal rsym=:(SuclUser (SK_Function _)) = isMember rsym (map fst rs) // User-defined function symbols can be imported, so they're known if we have a list of rules for them
+ islocal _ = True // Symbols in the language core (the rest) are always completely known
+ // This includes lifted case symbols; we lifted them ourselves, after all
typearity :: (Rule SuclTypeSymbol SuclTypeVariable) -> Int
typearity ti = length (arguments ti)