mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-22 19:22:50 -06:00
remove the dependency to GF.Data.Operations from GF Embed API
This commit is contained in:
@@ -2,7 +2,7 @@ module GF.Canon.GFCC.GenGFCC where
|
|||||||
|
|
||||||
import GF.Canon.GFCC.DataGFCC
|
import GF.Canon.GFCC.DataGFCC
|
||||||
import GF.Canon.GFCC.AbsGFCC
|
import GF.Canon.GFCC.AbsGFCC
|
||||||
import GF.Data.Operations
|
|
||||||
import qualified Data.Map as M
|
import qualified Data.Map as M
|
||||||
import System.Random
|
import System.Random
|
||||||
|
|
||||||
@@ -26,6 +26,11 @@ generate gfcc cat = concatMap (\i -> gener i cat) [0..]
|
|||||||
Tr _ [] -> 1
|
Tr _ [] -> 1
|
||||||
Tr _ ts -> maximum (map depth ts) + 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
|
-- generate an infinite list of trees randomly
|
||||||
generateRandom :: StdGen -> GFCC -> CId -> [Exp]
|
generateRandom :: StdGen -> GFCC -> CId -> [Exp]
|
||||||
generateRandom gen gfcc cat = genTrees (randomRs (0.0, 1.0) gen) cat where
|
generateRandom gen gfcc cat = genTrees (randomRs (0.0, 1.0) gen) cat where
|
||||||
|
|||||||
@@ -121,4 +121,7 @@ instance Print CFFun where
|
|||||||
instance Print Exp where
|
instance Print Exp where
|
||||||
prt = P.printTree
|
prt = P.printTree
|
||||||
|
|
||||||
|
instance Print a => Print (Err a) where
|
||||||
|
prt (Ok a) = prt a
|
||||||
|
prt (Bad str) = str
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
module GF.Infra.PrintClass where
|
module GF.Infra.PrintClass where
|
||||||
|
|
||||||
import Data.List (intersperse)
|
import Data.List (intersperse)
|
||||||
import GF.Data.Operations (Err(..))
|
|
||||||
|
|
||||||
class Print a where
|
class Print a where
|
||||||
prt :: a -> String
|
prt :: a -> String
|
||||||
@@ -50,7 +49,3 @@ instance Print Integer where
|
|||||||
instance Print a => Print (Maybe a) where
|
instance Print a => Print (Maybe a) where
|
||||||
prt (Just a) = prt a
|
prt (Just a) = prt a
|
||||||
prt Nothing = "Nothing"
|
prt Nothing = "Nothing"
|
||||||
|
|
||||||
instance Print a => Print (Err a) where
|
|
||||||
prt (Ok a) = prt a
|
|
||||||
prt (Bad str) = str
|
|
||||||
|
|||||||
Reference in New Issue
Block a user