XPost: alt.usage.english
Newsgroups: alt.usage.english, comp.lang.haskell
Followup-To: comp.lang.haskell
Jack Campin <
[email protected]> writes:
In pure functional programming, one does not have
such effects as object creation.
You do. That's what monads are for.
Monads are merely used to express the /combination/ of
action values using the �bind� operation. But the
action values used in Haskell, like the value of
�putStr "hello"� clearly have an /operational/ meaning:
�putStr :: String -> IO ()
base Prelude, base System.IO
Write a string to the standard output device�
www.haskell.org
and thus they are /not/ what I call �purely function�
anymore.
One can write a Haskell function that deals with an
action value representing object creation. Such a function
would still be what I call �purely function�, but it never
will /create an object/ on its own. The moment one wants
to actually /perform/ the action value, one is leaving
the realm of pure functional programming.
Newsgroups: alt.usage.english, comp.lang.haskell
Followup-To: comp.lang.haskell
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)