免费的monad只是具有接口的monad吗?

时间:2019-05-30 15:38:38

标签: free-monad

我一直在阅读some materials on free monads,但我并不认为我更接近于实现,但是我更容易理解他们是什么!

基于上述大量资源,我理解的是,免费单子从“计算”工作中“释放”“单子”(这是一种数据类型)。换句话说,免费的monad为客户自己实现的joinmap之类的东西提供接口

1 个答案:

答案 0 :(得分:2)

  

换句话说,免费的monad提供了客户端将自己实现的诸如join和map之类的接口?

以某种方式。但是我认为更好的说法是:“一个免费的monad提供一种语言,而其实例实现该语言的不同解释器。”

该单子是自由的,因为它不受单子法则以外的任何其他约束。它的实例并非免费,因为特定的解释会增加其他约束。