Monads/List monad: Difference between revisions

Add Factor
(Add Factor)
Line 169:
→ (List "1" "-8" "27" "-125")
</lang>
 
=={{header|Factor}}==
Factor comes with an implementation of Haskell-style monads in the <code>monads</code> vocabulary.
<lang factor>USING: kernel math monads prettyprint ;
FROM: monads => do ;
 
{ 3 4 5 }
>>= [ 1 + array-monad return ] swap call
>>= [ 2 * array-monad return ] swap call .</lang>
Or:
<lang factor>{ 3 4 5 }
[ 1 + array-monad return ] bind
[ 2 * array-monad return ] bind .</lang>
Or:
<lang factor>{
[ { 3 4 5 } ]
[ 1 + array-monad return ]
[ 2 * array-monad return ]
} do .</lang>
{{out}}
<pre>
{ 8 10 12 }
</pre>
 
=={{header|Go}}==
1,808

edits