From 8f8aac4d24b8ea7d0867df8b3f890422a1f833d8 Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 31 Jan 2008 16:37:32 +0000 Subject: gfcc generation with HOAS: var fields appended to records --- src/GF/GFCC/Macros.hs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/GF/GFCC/Macros.hs') diff --git a/src/GF/GFCC/Macros.hs b/src/GF/GFCC/Macros.hs index 383b77d34..d38ccb2e5 100644 --- a/src/GF/GFCC/Macros.hs +++ b/src/GF/GFCC/Macros.hs @@ -69,10 +69,18 @@ catSkeleton :: Type -> ([CId],CId) catSkeleton ty = case ty of DTyp hyps val _ -> ([valCat ty | Hyp _ ty <- hyps],val) +typeSkeleton :: Type -> ([(Int,CId)],CId) +typeSkeleton ty = case ty of + DTyp hyps val _ -> ([(contextLength ty, valCat ty) | Hyp _ ty <- hyps],val) + valCat :: Type -> CId valCat ty = case ty of DTyp _ val _ -> val +contextLength :: Type -> Int +contextLength ty = case ty of + DTyp hyps _ _ -> length hyps + cid :: String -> CId cid = CId -- cgit v1.2.3