Proposal: Add concatMapM function (#2042)
Johannes Waldmann
waldmann at imn.htwk-leipzig.de
Thu Jan 31 10:10:14 EST 2008
Bulat Ziganshin wrote:
(very sound software engineering arguments -
can someone with The Force please copy Bulat's mail
to Haskell/Category/Style ...)
I agree completely, and just add one remark here :
> data Encoding = Encoding { encode :: String -> String
> , decode :: String -> String }
>
> utf8 = Encoding encodeUtf8 decodeUtf8
this is in fact a method table (Java speak) or a dictionary
(Haskell), and Encoding is the interface (class) -
except that we can have local instances
by passing around dictionaries explicitly.
This is similar to passing a Comparator object
to some sorting routine.
Best regards, Johannes.
PS: go read any honest OO book on the benefits of interface
oriented design - they know this stuff - they got there
the hard way (that is, via C++ :-)
More information about the Libraries
mailing list