有什麼區別? seq
保證更多的流動條件嗎?Monads:seq和>> =有什麼區別?
2
A
回答
15
他們根本沒有關係。
seq
具有類型:
seq :: a -> b -> b
它用於(作爲seq a b
,或a `seq` b
)評價a
頭正常形式,這是說,它迫使懶惰值a
是的一個奇特的方式評估一下。它與單子無關。
>>=
是用於測序monads。它的類型爲:
(>>=) :: Monad m => m a -> (a -> m b) -> m b
它用於從單值中獲取值並將其傳遞給返回另一個一元值的函數。基本上是這樣的:
getLine >>= putStrLn
這將從命令行得到一個輸入字符串,然後打印出來。
所以,基本上根本沒有關係。
2
相關問題
- 1. '>'和'>>'有什麼區別?
- 2. 在Purescript; - >和=>有什麼區別?
- 3. 「%>」和「 - %>」之間有什麼區別?
- 4. <%# %>和<%= %>有什麼區別?
- 5. > =和=>有什麼區別?
- 6. Java中> =和=>有什麼區別?
- 7. 是什麼區別 - , - >和 - >使用
- 8. 區別<p>是什麼Javascript和ASP.net有什麼區別?</p>
- 9. - >和=>有什麼區別?什麼是 ::?
- 10. PostgreSQL JSON函數中的 - >和 - >>有什麼區別?
- 11. 運算符>>>在Java和JavaScript中有什麼區別?
- 12. Postgres SQL中` - >>`和` - >`有什麼區別?
- 13. 在shell中使用>和>>有什麼區別?
- 14. PostgreSQL中#>和 - >>運算符有什麼區別?
- 15. Ada中的=和=>有什麼區別?
- 16. 有什麼區別:to和=> in rails
- 17. 變量的=和=>有什麼區別?
- 18. puppet,'='和'=>'有什麼區別
- 19. (null)和<null>有什麼區別?
- 20. >和空間有什麼區別?
- 21. PHP中的 - >和::有什麼區別?
- 22. mysqli_fetch和query-> fetch有什麼區別?
- 23. Java操作符>>和>>>之間有什麼區別?
- 24. 運算符>>和運算符>>>在java中有什麼區別?
- 25. List <Something>和List <?有什麼區別?擴展Something>?
- 26. XSLT:<copy-of>和<apply-templates>有什麼區別?
- 27. <?有什麼區別?擴展Object>和<E extends Object>?
- 28. HashSet <T>和List <T>有什麼區別?
- 29. 列表<string>和IEnumerable <String>有什麼區別?
- 30. <f:viewParam>和<f:param>有什麼區別?
嗯,對於某種「嚴格身份monad」,'seq'可能會被視爲類似於「(>>)」的東西。有點懷疑這是提問者想到的。 –
或者也許OP在考慮'sequence :: Monad m => [m a] - > m [a]'? –
@pelotom,不,但謝謝你試圖幫助。 – mcandre