Python-based monads essay (Re: Assignment versus binding)
Rustom Mody
rustompmody at gmail.com
Tue Oct 11 13:25:38 EDT 2016
On Tuesday, October 11, 2016 at 9:53:25 PM UTC+5:30, Anuradha Laxminarayan wrote:
> On Sunday, 9 October 2016 13:18:32 UTC+5:30, Gregory Ewing wrote:
> > Here's the first part of the essay I said I'd write about
> > monads:
> >
> > http://www.cosc.canterbury.ac.nz/greg.ewing/essays/monads/DemystifyingMonads.html
> >
> > Hope it's useful,
> > Greg
>
> Thanks, that made a very interesting read.
Yeah agreed!
Just got it running in ghc.
Some small modifications needed:
import Data.Set
add x f s = f (insert x s)
listify f s = f (toList s) s
seqq f g x = f (\s1 -> g x s1)
dedup (x:t) = seqq (add x) (dedup t)
dedup [] = listify
run_smf f a = f a (\r s -> r) empty
> seq f g h = f (\s1 -> g h s1)
> better be written as
> seq f g x = f (\s1 -> g x s1)
> because naming conventions imply that h is function.
I think it would be good to make state and adhere to a name-convention eg
c for continuation
f,g for general function
s for state
etc
Otherwise excellent work! V useful
More information about the Python-list
mailing list