[Haskell-cafe] Re: Functional version of this OO snippet

Apfelmus, Heinrich apfelmus at quantentunnel.de
Fri Dec 5 10:42:54 EST 2008

Thomas Davie wrote:
>> You don't even need a type class, a simple data type is enough.
> Very true, but I disagree that you've made it functional in any way, IO
> is all about sequencing things, it's very much not a functional style
>>  data Engine = Engine { foo :: IO (), bar :: String -> IO () }
> This is much nicer done as functions from String -> String

Sure, I agree. I was just replicating  foo  and  bar  from the OP
because I don't know what kind of effect he had in mind. I mean, instead
of merely mapping each command in isolation, he could want to accumulate
a value or read files or something.

H. Apfelmus

More information about the Haskell-Cafe mailing list