summaryrefslogtreecommitdiff
path: root/src/GF/GFCC/CheckGFCC.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-01-31 16:37:32 +0000
committeraarne <aarne@cs.chalmers.se>2008-01-31 16:37:32 +0000
commit8f8aac4d24b8ea7d0867df8b3f890422a1f833d8 (patch)
tree05fcda4d1d2bd628b6ebae138f0a473c7857929f /src/GF/GFCC/CheckGFCC.hs
parentc6137229ebb66b0a299b3ff09bd6fabf01444884 (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.hs7
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