Integrated Dynamics - это мод Minecraft, который использует ленивых операторов с карри и действует очень похоже на Haskell. Я писал функции, которые имеют одинаковую сигнатуру, но не выполняют ничего, что можно попробовать, и легче исследовать объединение операторов. Примером является itemName :: Item -> String
с itemName _ = ""
. Это значит, что ghci :t itemName
нужно указать как Item -> String
.
. Я попытался сделать пару более сложных, таких как
* 1010. *
Я бы хотел увидеть подпись этого, если я передам его напрямую с большим или меньшим, ожидая увидеть что-то вроде [a] -> b -> c -> d
. List, Item (тип данных custm), целое число и возвращаемое логическое значение. при вызове с :t (lessThan . itemListCount)
Это выдает ошибку:
Couldn't match type 'b0 -> Integer' with 'Int'.
Expected type: [a] -> Int
Actual type: [a] -> b0 -> Integer
Это потому, что я вызываю его с :t
, что он пытается оценить вместо объединения функций?