diff options
Diffstat (limited to 'src/GF/Grammar/LookAbs.hs')
| -rw-r--r-- | src/GF/Grammar/LookAbs.hs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/GF/Grammar/LookAbs.hs b/src/GF/Grammar/LookAbs.hs index 0c86ae3e9..5bd4c1e41 100644 --- a/src/GF/Grammar/LookAbs.hs +++ b/src/GF/Grammar/LookAbs.hs @@ -21,6 +21,7 @@ module GF.Grammar.LookAbs (GFCGrammar, lookupRef, refsForType, funRulesOf, + hasHOAS, allCatsOf, allBindCatsOf, funsForType, @@ -130,6 +131,10 @@ funRulesOf gr = mtype m == MTAbstract, (f, C.AbsFun typ _) <- tree2list (jments m)] +-- testing for higher-order abstract syntax +hasHOAS :: GFCGrammar -> Bool +hasHOAS gr = any isHigherOrderType [t | (_,t) <- funRulesOf gr] where + allCatsOf :: GFCGrammar -> [(Cat,Context)] allCatsOf gr = [((i,c),cont) | (i, ModMod m) <- modules gr, |
