Monads/List monad: Difference between revisions

Content added Content deleted
(Add Factor)
Line 169: Line 169:
→ (List "1" "-8" "27" "-125")
→ (List "1" "-8" "27" "-125")
</lang>
</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}}==
=={{header|Go}}==