remove the dependency to GF.Data.Operations from GF Embed API

This commit is contained in:
kr.angelov
2007-09-25 05:55:49 +00:00
parent 133963751b
commit c9daa2e2c1
3 changed files with 9 additions and 6 deletions

View File

@@ -2,7 +2,7 @@ module GF.Canon.GFCC.GenGFCC where
import GF.Canon.GFCC.DataGFCC
import GF.Canon.GFCC.AbsGFCC
import GF.Data.Operations
import qualified Data.Map as M
import System.Random
@@ -26,6 +26,11 @@ generate gfcc cat = concatMap (\i -> gener i cat) [0..]
Tr _ [] -> 1
Tr _ ts -> maximum (map depth ts) + 1
combinations :: [[a]] -> [[a]]
combinations t = case t of
[] -> [[]]
aa:uu -> [a:u | a <- aa, u <- combinations uu]
-- generate an infinite list of trees randomly
generateRandom :: StdGen -> GFCC -> CId -> [Exp]
generateRandom gen gfcc cat = genTrees (randomRs (0.0, 1.0) gen) cat where

View File

@@ -121,4 +121,7 @@ instance Print CFFun where
instance Print Exp where
prt = P.printTree
instance Print a => Print (Err a) where
prt (Ok a) = prt a
prt (Bad str) = str

View File

@@ -1,7 +1,6 @@
module GF.Infra.PrintClass where
import Data.List (intersperse)
import GF.Data.Operations (Err(..))
class Print a where
prt :: a -> String
@@ -50,7 +49,3 @@ instance Print Integer where
instance Print a => Print (Maybe a) where
prt (Just a) = prt a
prt Nothing = "Nothing"
instance Print a => Print (Err a) where
prt (Ok a) = prt a
prt (Bad str) = str