I suppose it depends on the compiler implementation. In GHC, you can just
use unsafePerformPrimIO and _ccall_. There is a section in the manual
called "Avoiding monads" that describes this.
--FC
-----Original Message-----
>Is there a way to promise Haskell that external calls which return
>data do not change any state so that you can use them within
>functions rather than only within do sequences. It would make certain
>classes of CGI applications much easier (I really want a Haskell version
>of PHP). Examples: