p*****2 发帖数: 21240 | |
r*a 发帖数: 1503 | 2 monad的主要好处是什么?可以用do notation?可以在计算的时候带上context?有一
系列现成的函数可以用? |
c*********w 发帖数: 65 | 3 same if you want to add an new interface and implementation(s) to the java
collection framework.
you may have the need (low level library, system utility, special business
domain need), if you can justify that, the effort may worth it.
otherwise, it may be sufficient to understand and know when/how to use them.
I can only dream coding a monad:)
【在 p*****2 的大作中提到】 : 感觉写一个monad要花很多时间
|
p*****2 发帖数: 21240 | 4 我理解不够深
感觉就是一个design pattern
可以帮助我更好的分析问题的本质
【在 r*a 的大作中提到】 : monad的主要好处是什么?可以用do notation?可以在计算的时候带上context?有一 : 系列现成的函数可以用?
|
p*****2 发帖数: 21240 | 5 monad的神奇效果使得很少的代码解决问题 但是需要几倍甚至几十倍的思考时间
java就要反过来了
不过蛮好玩的就是
them.
【在 c*********w 的大作中提到】 : same if you want to add an new interface and implementation(s) to the java : collection framework. : you may have the need (low level library, system utility, special business : domain need), if you can justify that, the effort may worth it. : otherwise, it may be sufficient to understand and know when/how to use them. : I can only dream coding a monad:)
|
c******o 发帖数: 1277 | 6 monad的目的就是回复不具备组合性的数据的组合性。
什么是组合性的呢?
就是说两个函数,都输入产出同一类数据,但是你没法简单的连接他们。
因为:
1. 可能的error/exception/null
2.这个数据是 整整一个stream/list的数据,
3.这个数据本身的产生是有延迟的,而且可能失败。
4.这个数据本身要求(就是)实时的输入或输出。
5.这个数据是由内部状态的,第一次用/第二次用是不一样的。
你要是还想要写个函数就能保证它在那儿用都是你认为的逻辑,而不是在各种复杂情况
面前一再修改,多个版本,添加大量的if/else/for/while/switch, 那怎么办?
自己做一个monad就解决了。 |
x***4 发帖数: 1815 | 7 有没有教程或者书讲几个具体的例子?
【在 c******o 的大作中提到】 : monad的目的就是回复不具备组合性的数据的组合性。 : 什么是组合性的呢? : 就是说两个函数,都输入产出同一类数据,但是你没法简单的连接他们。 : 因为: : 1. 可能的error/exception/null : 2.这个数据是 整整一个stream/list的数据, : 3.这个数据本身的产生是有延迟的,而且可能失败。 : 4.这个数据本身要求(就是)实时的输入或输出。 : 5.这个数据是由内部状态的,第一次用/第二次用是不一样的。 : 你要是还想要写个函数就能保证它在那儿用都是你认为的逻辑,而不是在各种复杂情况
|
p*****2 发帖数: 21240 | |