summaryrefslogtreecommitdiff
path: root/src/GF/UseGrammar
diff options
context:
space:
mode:
authoraarne <unknown>2004-01-08 14:58:46 +0000
committeraarne <unknown>2004-01-08 14:58:46 +0000
commitc7a953bb935f578bcbb389e9d4fbe91822ef3f14 (patch)
tree2be6038cd3eb540c483d8134f7f953097a974dce /src/GF/UseGrammar
parent62e8e319f9490613c1d5bd20f25f109bbd0a3f5d (diff)
Some bug fixes mostly in editor commands.
Diffstat (limited to 'src/GF/UseGrammar')
-rw-r--r--src/GF/UseGrammar/Custom.hs3
-rw-r--r--src/GF/UseGrammar/Paraphrases.hs31
2 files changed, 17 insertions, 17 deletions
diff --git a/src/GF/UseGrammar/Custom.hs b/src/GF/UseGrammar/Custom.hs
index c117c0335..bd1ed49e1 100644
--- a/src/GF/UseGrammar/Custom.hs
+++ b/src/GF/UseGrammar/Custom.hs
@@ -184,7 +184,8 @@ customTermCommand =
,(strCI "compute", \g t -> let gr = grammar g in
err (const [t]) return
(exp2termCommand gr (computeAbsTerm gr) t))
----- ,(strCI "paraphrase", \g t -> mkParaphrases g t)
+ ,(strCI "paraphrase", \g t -> let gr = grammar g in
+ exp2termlistCommand gr (mkParaphrases gr) t)
---- ,(strCI "typecheck", \g t -> err (const []) return (checkIfValidExp g t))
,(strCI "solve", \g t -> err (const [t]) (return . loc2tree)
(uniqueRefinements (grammar g) (tree2loc t)))
diff --git a/src/GF/UseGrammar/Paraphrases.hs b/src/GF/UseGrammar/Paraphrases.hs
index f5dc710f9..41a407d6e 100644
--- a/src/GF/UseGrammar/Paraphrases.hs
+++ b/src/GF/UseGrammar/Paraphrases.hs
@@ -1,41 +1,40 @@
module Paraphrases (mkParaphrases) where
-import Operations
-import AbsGFC
-import GFC
-import Look
-import CMacros ---- (mkApp, eqStrIdent)
+import Abstract
+import PrGrammar
+import LookAbs
import AbsCompute
+
+import Operations
+
import List (nub)
-- paraphrases of GF terms. AR 6/10/1998 -- 24/9/1999 -- 5/7/2000 -- 5/6/2002
-- Copyright (c) Aarne Ranta 1998--99, under GNU General Public License (see GPL)
-- thus inherited from the old GF. Incomplete and inefficient...
-mkParaphrases :: CanonGrammar -> Exp -> [Exp]
-mkParaphrases st t = [t]
----- mkParaphrases st = nub . map (beta []) . paraphrases (allDefs st)
+mkParaphrases :: GFCGrammar -> Term -> [Term]
+mkParaphrases st = nub . map (beta []) . paraphrases (allDefs st)
-{- ----
-type Definition = (Fun,Trm)
+type Definition = (Fun,Term)
-paraphrases :: [Definition] -> Trm -> [Trm]
+paraphrases :: [Definition] -> Term -> [Term]
paraphrases th t =
- t :
paraImmed th t ++
--- paraMatch th t ++
case t of
App c a -> [App d b | d <- paraphrases th c, b <- paraphrases th a]
Abs x b -> [Abs x d | d <- paraphrases th b]
c -> []
+ ++ [t]
-paraImmed :: [Definition] -> Trm -> [Trm]
+paraImmed :: [Definition] -> Term -> [Term]
paraImmed defs t =
- [Cn f | (f, u) <- defs, t == u] ++ --- eqTerm
+ [Q m f | ((m,f), u) <- defs, t == u] ++ --- eqTerm
case t of
- Cn c -> [u | (f, u) <- defs, eqStrIdent f c]
+ ---- Cn c -> [u | (f, u) <- defs, eqStrIdent f c]
_ -> []
--}
+
{- ---
paraMatch :: [Definition] -> Trm -> [Trm]
paraMatch th@defs t =