diff options
| author | aarne <aarne@cs.chalmers.se> | 2007-10-05 08:17:27 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2007-10-05 08:17:27 +0000 |
| commit | cc104236df63dafebaf87612aa379156cf914063 (patch) | |
| tree | 2cad2a5e4cd021204bab62fdd0fe555e2f4e6d0d /src/GF/GFCC/Generate.hs | |
| parent | 07d2910df14842b1882512af0cb3717be6c303bc (diff) | |
shifted to use general trees and types (with macros for c-f)
Diffstat (limited to 'src/GF/GFCC/Generate.hs')
| -rw-r--r-- | src/GF/GFCC/Generate.hs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/GF/GFCC/Generate.hs b/src/GF/GFCC/Generate.hs index 09212976a..8baaf12d7 100644 --- a/src/GF/GFCC/Generate.hs +++ b/src/GF/GFCC/Generate.hs @@ -11,16 +11,16 @@ import System.Random generate :: GFCC -> CId -> [Exp] generate gfcc cat = concatMap (\i -> gener i cat) [0..] where - gener 0 c = [tree (AC f) [] | (f, Typ [] _) <- fns c] + gener 0 c = [tree (AC f) [] | (f, ([],_)) <- fns c] gener i c = [ tr | - (f, Typ cs _) <- fns c, + (f, (cs,_)) <- fns c, let alts = map (gener (i-1)) cs, ts <- combinations alts, let tr = tree (AC f) ts, depth tr >= i ] - fns = functionsToCat gfcc + fns c = [(f,catSkeleton ty) | (f,ty) <- functionsToCat gfcc c] -- generate an infinite list of trees randomly @@ -55,7 +55,7 @@ genRandom gen gfcc cat = genTrees (randomRs (0.0, 1.0) gen) cat where in (t:ts, k + ks) _ -> ([],0) - fns cat = [(f,cs) | (f, Typ cs _) <- functionsToCat gfcc cat] + fns cat = [(f,(fst (catSkeleton ty))) | (f,ty) <- functionsToCat gfcc cat] {- |
