Допустим, я есть следующее:
f :: a -> b -> c
g :: b -> c
g = f 10
Теперь скажем, f
на самом деле:
f x y = f1 x + y
Будет ли:
g `seq`...
фактически оценивать f1 10
, поэтому позже при запуске
g 9
это на самом деле просто простое дополнение?
Если нет, то есть ли способ «оценить» части частично примененной функции?
Я ищу универсальное решение, которое не зависит от знания того, как работают f
и g
.