diff --git a/gf.cabal b/gf.cabal index 6c47b2114..9a9f3608d 100644 --- a/gf.cabal +++ b/gf.cabal @@ -89,7 +89,6 @@ Library PGF.Macros PGF.Optimize PGF.Printer - PGF.Tree PGF.Utilities other-modules: PGF.CId @@ -102,6 +101,7 @@ Library PGF.Parse PGF.Probabilistic PGF.SortTop + PGF.Tree PGF.Type PGF.Tokenizer PGF.TypeCheck diff --git a/src/compiler/GF/Command/Commands.hs b/src/compiler/GF/Command/Commands.hs index 58e485768..be309b3d7 100644 --- a/src/compiler/GF/Command/Commands.hs +++ b/src/compiler/GF/Command/Commands.hs @@ -20,7 +20,7 @@ import PGF.Data(abstract,funs,cats,Literal(LStr),Expr(EFun,ELit)) ---- import PGF.Printer(ppFun,ppCat) --import PGF.Probabilistic(rankTreesByProbs,probTree,setProbabilities) --import PGF.Generate (generateRandomFrom) ---- -import PGF.Tree (Tree(Fun), expr2tree, tree2expr) +--import PGF.Tree (Tree(Fun), expr2tree, tree2expr) import PGF.Optimize(optimizePGF) import GF.Compile.Export @@ -1198,10 +1198,9 @@ allCommands = Map.fromList [ _ -> unl . linearize pgf lang -- replace each non-atomic constructor with mkC, where C is the val cat - tree2mk pgf = showExpr [] . tree2expr . t2m . expr2tree where - t2m t = case t of - Fun cid [] -> t - Fun cid ts -> Fun (mk cid) (map t2m ts) + tree2mk pgf = showExpr [] . t2m where + t2m t = case unApp t of + Just (cid,ts@(_:_)) -> mkApp (mk cid) (map t2m ts) _ -> t mk = mkCId . ("mk" ++) . showCId . lookValCat (abstract pgf)