summaryrefslogtreecommitdiff
path: root/src/GF/GFCC/Generate.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-01-08 12:22:05 +0000
committeraarne <aarne@cs.chalmers.se>2008-01-08 12:22:05 +0000
commit327c63eb741606adf5d7d98cd32b731f6bda7ae7 (patch)
tree898c6c4ada7e1d3283bd13333a1d7367748cbaa5 /src/GF/GFCC/Generate.hs
parent12144083879e174d8d8176f2c37ea0aaf1a3d948 (diff)
gt command in gf3
Diffstat (limited to 'src/GF/GFCC/Generate.hs')
-rw-r--r--src/GF/GFCC/Generate.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/GF/GFCC/Generate.hs b/src/GF/GFCC/Generate.hs
index 1924a8849..63bdb3b9a 100644
--- a/src/GF/GFCC/Generate.hs
+++ b/src/GF/GFCC/Generate.hs
@@ -8,8 +8,8 @@ import qualified Data.Map as M
import System.Random
-- generate an infinite list of trees exhaustively
-generate :: GFCC -> CId -> [Exp]
-generate gfcc cat = concatMap (\i -> gener i cat) [0..]
+generate :: GFCC -> CId -> Maybe Int -> [Exp]
+generate gfcc cat dp = concatMap (\i -> gener i cat) depths
where
gener 0 c = [tree (AC f) [] | (f, ([],_)) <- fns c]
gener i c = [
@@ -21,7 +21,7 @@ generate gfcc cat = concatMap (\i -> gener i cat) [0..]
depth tr >= i
]
fns c = [(f,catSkeleton ty) | (f,ty) <- functionsToCat gfcc c]
-
+ depths = maybe [0 ..] (\d -> [0..d]) dp
-- generate an infinite list of trees randomly
genRandom :: StdGen -> GFCC -> CId -> [Exp]