相关疑难解决方法(0)

":="有什么作用?

我已经看过:=在几个代码示例中使用过,但从未附带过相应的解释.如果不知道它的正确名称,就不可能谷歌使用它.

它有什么作用?

operators colon-equals

106
推荐指数
5
解决办法
7万
查看次数

46
推荐指数
4
解决办法
2万
查看次数

如何在类型类中指定两个操作通勤?

我开始阅读关于CRDT的这篇论文,这是一种通过确保修改数据的操作是可交换的,同时共享可修改数据的方法.在我看来,这将是Haskell中抽象的一个很好的候选者 - 为CRDT提供一个类型类,指定数据类型和在该类型上通信的操作,然后使库实际上在并发进程之间共享更新.

我无法想象的是如何表达操作必须在类型类规范中通勤的合同.

举个简单的例子:

class Direction a where
  turnLeft :: a -> a
  turnRight :: a -> a
Run Code Online (Sandbox Code Playgroud)

不能保证和它turnLeft . turnRight一样turnRight . turnLeft.我认为后备是指定monad定律的等价物 - 使用注释来指定类型系统不强制执行的约束.

haskell typeclass commutativity

10
推荐指数
2
解决办法
671
查看次数