diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-01-31 16:37:32 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-01-31 16:37:32 +0000 |
| commit | 8f8aac4d24b8ea7d0867df8b3f890422a1f833d8 (patch) | |
| tree | 05fcda4d1d2bd628b6ebae138f0a473c7857929f /src/GF/GFCC/CheckGFCC.hs | |
| parent | c6137229ebb66b0a299b3ff09bd6fabf01444884 (diff) | |
gfcc generation with HOAS: var fields appended to records
Diffstat (limited to 'src/GF/GFCC/CheckGFCC.hs')
| -rw-r--r-- | src/GF/GFCC/CheckGFCC.hs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/GF/GFCC/CheckGFCC.hs b/src/GF/GFCC/CheckGFCC.hs index dfd9b2a0e..33302ab1b 100644 --- a/src/GF/GFCC/CheckGFCC.hs +++ b/src/GF/GFCC/CheckGFCC.hs @@ -138,10 +138,13 @@ str :: CType str = S [] lintype :: GFCC -> CId -> CId -> LinType -lintype gfcc lang fun = case catSkeleton (lookType gfcc fun) of - (cs,c) -> (map linc cs, linc c) ---- HOAS +lintype gfcc lang fun = case typeSkeleton (lookType gfcc fun) of + (cs,c) -> (map vlinc cs, linc c) ---- HOAS where linc = lookLincat gfcc lang + vlinc (0,c) = linc c + vlinc (i,c) = case linc c of + R ts -> R (ts ++ replicate i str) inline :: GFCC -> CId -> Term -> Term inline gfcc lang t = case t of |
