mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 19:42:50 -06:00
fixed two bugs in gt
This commit is contained in:
@@ -30,7 +30,7 @@ generateForMetas :: Bool -> PGF -> (Type -> [Expr]) -> Expr -> [Expr]
|
|||||||
generateForMetas breadth pgf gen exp = case exp of
|
generateForMetas breadth pgf gen exp = case exp of
|
||||||
EApp f (EMeta _) -> [EApp g a | g <- gener f, a <- genArg g]
|
EApp f (EMeta _) -> [EApp g a | g <- gener f, a <- genArg g]
|
||||||
EApp f x | breadth -> [EApp g a | (g,a) <- zip (gener f) (gener x)]
|
EApp f x | breadth -> [EApp g a | (g,a) <- zip (gener f) (gener x)]
|
||||||
EApp f x -> [EApp g a | (g,a) <- zip (gener f) (gener x)]
|
EApp f x -> [EApp g a | g <- gener f, a <- gener x]
|
||||||
_ -> if breadth then repeat exp else [exp]
|
_ -> if breadth then repeat exp else [exp]
|
||||||
where
|
where
|
||||||
gener = generateForMetas breadth pgf gen
|
gener = generateForMetas breadth pgf gen
|
||||||
@@ -48,7 +48,7 @@ generate pgf ty@(DTyp _ cat _) dp = filter (\e -> case checkExpr pgf e ty of
|
|||||||
gener 0 c = [EFun f | (f, ([],_)) <- fns c]
|
gener 0 c = [EFun f | (f, ([],_)) <- fns c]
|
||||||
gener i c = [
|
gener i c = [
|
||||||
tr |
|
tr |
|
||||||
(f, (cs,_)) <- fns c,
|
(f, (cs,_)) <- fns c, not (null cs),
|
||||||
let alts = map (gener (i-1)) cs,
|
let alts = map (gener (i-1)) cs,
|
||||||
ts <- combinations alts,
|
ts <- combinations alts,
|
||||||
let tr = foldl EApp (EFun f) ts,
|
let tr = foldl EApp (EFun f) ts,
|
||||||
|
|||||||
Reference in New Issue
Block a user