• "purely functional" (was: Dash in expression functioning as adjective)

    From Stefan Ram@21:1/5 to Jack Campin on Wed May 11 17:07:45 2016
    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)