From 2f8514e54ab4548f4938fe2cc73d824da2fb14bc Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 23 Nov 2005 21:38:11 +0000 Subject: [PATCH] extending proto resource API --- src/GF/Formalism/SimpleGFC.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/GF/Formalism/SimpleGFC.hs b/src/GF/Formalism/SimpleGFC.hs index f3a51e7db..c98884a3c 100644 --- a/src/GF/Formalism/SimpleGFC.hs +++ b/src/GF/Formalism/SimpleGFC.hs @@ -179,13 +179,16 @@ Path path ++. lbl = Path (Left lbl : path) (++!) :: Path c t -> Term c t -> Path c t Path path ++! sel = Path (Right sel : path) -lintypeFollowPath :: Path c t -> LinType c t -> LinType c t +lintypeFollowPath :: (Show c,Show t) => Path c t -> LinType c t -> LinType c t lintypeFollowPath (Path path) = follow path where follow [] ctype = ctype follow (Right pat : path) (TblT _ ctype) = follow path ctype follow (Left lbl : path) (RecT rec) = maybe err (follow path) $ lookup lbl rec where err = error $ "lintypeFollowPath: label not in record type" + ++ "\n" ++ show lbl + ++ "\n" ++ show rec + --- by AR for debugging 23/11/2005 termFollowPath :: (Eq c, Eq t) => Path c t -> Term c t -> Term c t termFollowPath (Path path) = follow (reverse path)