Я действительно не понимаю связи между функцией и результатами, которые она создает. У меня есть следующий код HaskellНевозможно понять связь между результатами и функцией
data Expr = Num Integer | Add Expr Expr | Mul Expr Expr
genExpr' :: Gen Expr
genExpr' = frequency
[ (1, do n <- arbitrary
return (Num n)
)
, (1, do a <- genExpr (1 `div` 2)
b <- genExpr (1 `div` 2)
return (Add a b)
)
, (1, do a <- genExpr (1 `div` 2)
b <- genExpr (1 `div` 2)
return (Mul a b)
)
]
Он генерирует следующие результаты в консоли, когда я запускаю «образец genExpr '»
0*0
-2
-1
1*-3
-1+-6
-7*1
9*10
10+3
-8+15
2*-3
-13
И что делает результаты, чтобы быть в общей сложности 11 ??
Где находится "Gen"? – MathematicalOrchid