summaryrefslogtreecommitdiff
path: root/src/GF/Devel/Lookup.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2007-12-04 07:48:37 +0000
committeraarne <aarne@cs.chalmers.se>2007-12-04 07:48:37 +0000
commita7b68870508b90ab1a9e635489ff4e687713d166 (patch)
tree59e56e88392ef3df3ee1d1b7ae967c46637ab1bc /src/GF/Devel/Lookup.hs
parent0e1831abb488346ae6b57b01b9ee99a1a4d9b75f (diff)
moved some modules to Devel.Grammar
Diffstat (limited to 'src/GF/Devel/Lookup.hs')
-rw-r--r--src/GF/Devel/Lookup.hs73
1 files changed, 0 insertions, 73 deletions
diff --git a/src/GF/Devel/Lookup.hs b/src/GF/Devel/Lookup.hs
deleted file mode 100644
index 741c65472..000000000
--- a/src/GF/Devel/Lookup.hs
+++ /dev/null
@@ -1,73 +0,0 @@
-module GF.Devel.Lookup where
-
-import GF.Devel.Modules
-import GF.Devel.Judgements
-import GF.Devel.Macros
-import GF.Devel.Terms
-import GF.Infra.Ident
-
-import GF.Data.Operations
-
-import Data.Map
-
--- look up fields for a constant in a grammar
-
-lookupJField :: (Judgement -> a) -> GF -> Ident -> Ident -> Err a
-lookupJField field gf m c = do
- j <- lookupJudgement gf m c
- return $ field j
-
-lookupJForm :: GF -> Ident -> Ident -> Err JudgementForm
-lookupJForm = lookupJField jform
-
--- the following don't (need to) check that the jment form is adequate
-
-lookupCatContext :: GF -> Ident -> Ident -> Err Context
-lookupCatContext gf m c = do
- ty <- lookupJField jtype gf m c
- return $ contextOfType ty
-
-lookupFunType :: GF -> Ident -> Ident -> Err Term
-lookupFunType = lookupJField jtype
-
-lookupLin :: GF -> Ident -> Ident -> Err Term
-lookupLin = lookupJField jdef
-
-lookupLincat :: GF -> Ident -> Ident -> Err Term
-lookupLincat = lookupJField jtype
-
-lookupOperType :: GF -> Ident -> Ident -> Err Term
-lookupOperType = lookupJField jtype
-
-lookupOperDef :: GF -> Ident -> Ident -> Err Term
-lookupOperDef = lookupJField jdef
-
-lookupParams :: GF -> Ident -> Ident -> Err [(Ident,Context)]
-lookupParams gf m c = do
- ty <- lookupJField jtype gf m c
- return [(k,contextOfType t) | (k,t) <- contextOfType ty]
-
-lookupParamConstructor :: GF -> Ident -> Ident -> Err Type
-lookupParamConstructor = lookupJField jtype
-
-lookupParamValues :: GF -> Ident -> Ident -> Err [Term]
-lookupParamValues gf m c = do
- d <- lookupJField jdef gf m c
- case d of
- V _ ts -> return ts
- _ -> raise "no parameter values"
-
--- infrastructure for lookup
-
-lookupIdent :: GF -> Ident -> Ident -> Err (Either Judgement Ident)
-lookupIdent gf m c = do
- mo <- maybe (raise "module not found") return $ mlookup m (gfmodules gf)
- maybe (Bad "constant not found") return $ mlookup c (mjments mo)
-
-lookupJudgement :: GF -> Ident -> Ident -> Err Judgement
-lookupJudgement gf m c = do
- eji <- lookupIdent gf m c
- either return (\n -> lookupJudgement gf n c) eji
-
-mlookup = Data.Map.lookup
-