相关疑难解决方法(0)

什么是Levity多态性

正如问题的标题所示,我想知道什么是Levity多态性及其动机是什么?我知道这个页面里面有一些细节,但大部分的解释都是我的头脑.:)

虽然这个页面更友好,但我仍然无法理解它背后的动机.

haskell

76
推荐指数
1
解决办法
4658
查看次数

Haskell中的那种"*"究竟是什么?

在Haskell,(值电平)的表达式被分类成类型,其可与记谱::如下所示:3 :: Int,"Hello" :: String,(+ 1) :: Num a => a -> a.类似地,类型被分类为种类.在GHCI,可以检查的种类使用命令一个类型的表达式:kind:k:

> :k Int
Int :: *
> :k Maybe
Maybe :: * -> *
> :k Either
Either :: * -> * -> *
> :k Num
Num :: * -> Constraint
> :k Monad
Monad :: (* -> *) -> Constraint
Run Code Online (Sandbox Code Playgroud)

浮动的定义*是"具体类型"或"值"或"运行时值".例如,参见Learn You A Haskell.那是真的吗?我们已经有一些 …

haskell ghc type-kinds

32
推荐指数
3
解决办法
5180
查看次数

未提升型产品的缺点?

在Haskell中,提升型产品意味着(a,b,c)和(a,(b,c))之间存在语义差异.

如果所有产品的所有模式匹配总是无可辩驳的,则没有区别,(a,b,c)可能是(a,(b,c))的语法糖.

为什么Haskell会选择升降式产品?

haskell types programming-languages functional-programming lazy-evaluation

16
推荐指数
2
解决办法
590
查看次数