summaryrefslogtreecommitdiff
path: root/src/GF/Canon/GFCC
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2006-09-17 14:57:46 +0000
committeraarne <aarne@cs.chalmers.se>2006-09-17 14:57:46 +0000
commit1242b8cc91f2ba3b9860cf34b36d0a5bbcea1b1a (patch)
tree9ff97a1330b86f180f0e6beedcacd699fe4f428a /src/GF/Canon/GFCC
parent35f81967eab677ed4a8f58fef27f4945f684ee8b (diff)
predef types in gfcc
Diffstat (limited to 'src/GF/Canon/GFCC')
-rw-r--r--src/GF/Canon/GFCC/GenGFCC.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/GF/Canon/GFCC/GenGFCC.hs b/src/GF/Canon/GFCC/GenGFCC.hs
index 533867d3f..15c5e71d7 100644
--- a/src/GF/Canon/GFCC/GenGFCC.hs
+++ b/src/GF/Canon/GFCC/GenGFCC.hs
@@ -39,13 +39,16 @@ generateRandom gen gfcc cat = genTrees (randomRs (0.0, 1.0) gen) cat where
(genTrees ds2 cat) -- else (drop k ds)
genTree rs = gett rs where
+ gett ds (CId "String") = (Tr (AS "foo") [], 1)
+ gett ds (CId "Int") = (Tr (AI 12345) [], 1)
gett ds cat = case fns cat of
fs -> let
d:ds2 = ds
(f,args) = getf d fs
(ts,k) = getts ds2 args
in (Tr (AC f) ts, k+1)
- getf d fs = fs !! floor (d * fromIntegral (length fs))
+ getf d fs = let lg = (length fs) in
+ fs !! (floor (d * fromIntegral lg))
getts ds cats = case cats of
c:cs -> let
(t, k) = gett ds c