Re: laziness and functional middleware

1998-06-17 Thread Hans Aberg
At 07:54 +0100 98/06/17, Simon L Peyton Jones wrote: >> Ideally, I would like to write cgifunctions of type: >> >> myCGIFunction:: [HTTPRequest]->[DatabaseVersion]-> >> ([HTTPResponse],[DatabaseChanges]) >> >> HTTPRequests come from _middleware_ that recieves http requests fro

Re: Garbage Collection in GreenCard/RedCard/HaskellCOM

1998-06-17 Thread Sven Panne
S. Alexander Jacobson wrote: > [...] > However, Haskell/Com (built on top of Greencard?) seems to be able > to propagate garbage collection information from Haskell to C so that > when a Haskell/COM Object is no longer in use, there is some > functionality decrements its reference counter automati

Re: Garbage Collection in GreenCard/RedCard/HaskellCOM

1998-06-17 Thread Simon L Peyton Jones
> I just reread Dima's answer to my query about the database access in > particular and am confused. Dima says that he can't allow queries > outside the IOMonad because he has to worry about freeing memory (query > output). > > However, Haskell/Com (built on top of Greencard?) seems to be able

Re: laziness and functional middleware

1998-06-17 Thread Simon L Peyton Jones
Alex, > > main = do input <- getContents > > putStr $ addTwo $ makeLines input > > > addTwo lines = ask1++(ask2 (Strict x)) ++ (result (Strict y)) > > where x:y:xs = map read lines > > ask1 = "Enter an Integer: " > > ask2 _ = "Enter another Integer: " >

Re: laziness and functional middleware

1998-06-17 Thread S. Alexander Jacobson
On Wed, 17 Jun 1998, Simon L Peyton Jones wrote: > What is "Strict". If you said (x `seq` ask2) instead > of (ask2 (Strict x)) then you should get the behaviour you expect. "x `seq` ask2" didn't worth but after a little more research, "ask2 `strict` x" did. The general question is whether it i

Re: Exceptions and functions. Second round?

1998-06-17 Thread Fergus Henderson
On 16-Jun-1998, Greg Michaelson <[EMAIL PROTECTED]> wrote: > In SML(sorry...), in: handle > is evaluated and any exception raised within it is handled by an > appropriate handler in . If there isn't one then the exception > is handled in the enclosing environment for the whole construct. Simila