cvs commit: hugs98/src/bcc32 options.h hugs98/src/djgpp2 options.h hugs98/src/epoc options.h hugs98/src/machugs options.h hugs98/src/msc options.h hugs98/src/winhugs options.h hugs98/src options.h.in server.h server.c

sof 2002/02/23 20:54:24 PST Modified files: src/bcc32 options.h src/djgpp2 options.h src/epoc options.h src/machugs options.h src/msc options.h src/winhugs options.h src options.h.in server.h server.c Log: Overhauling the Hugs Server API, based on experiences made with HaskellScript, Lambada and mod_haskell. Changes made: * made the use of Dynamic wrappers conditional (see options.h and NO_DYNAMIC_TYPES) * methods added to API: - garbageCollect() - loadString() -- load module from a string buffer. - mkAddr() / evalAddr() -- Addr support. - setOptions() / getOptions() -- controlling options. - doIO_Int(int*) -- evaluate (IO Int) action. - doIO_Addr(void**) -- evaluate (IO Addr) action. Revision Changes Path 1.5 +12 -2 hugs98/src/bcc32/options.h 1.5 +12 -2 hugs98/src/djgpp2/options.h 1.3 +12 -2 hugs98/src/epoc/options.h 1.4 +12 -2 hugs98/src/machugs/options.h 1.5 +13 -3 hugs98/src/msc/options.h 1.2 +12 -2 hugs98/src/winhugs/options.h 1.7 +12 -2 hugs98/src/options.h.in 1.4 +12 -2 hugs98/src/server.h 1.8 +370 -101 hugs98/src/server.c

- doIO_Int(int*) -- evaluate (IO Int) action. - doIO_Addr(void**) -- evaluate (IO Addr) action.
Instead of this, how about having doIO leave an HVal on the stack which you can manipulate separately? doIO_Void, doIO_Int, doIO_Addr, etc. could be provided as utilities on top of this. -- Alastair Reid reid@cs.utah.edu http://www.cs.utah.edu/~reid/

Yes, you won't get an argument against doing this from
me -- this commit is really work in progress (i.e.,
a disk flush).
The Cambridge lot wanted to revamp their RTS
invocation API, so I'm hoping we can come up with
something that's close between the two systems whenever
that happens. A Diet HEP, if you like.
--sigbjorn
----- Original Message -----
From: "Alastair David Reid"
- doIO_Int(int*) -- evaluate (IO Int) action. - doIO_Addr(void**) -- evaluate (IO Addr) action.
Instead of this, how about having doIO leave an HVal on the stack which you can manipulate separately?
doIO_Void, doIO_Int, doIO_Addr, etc. could be provided as utilities on top of this.
-- Alastair Reid reid@cs.utah.edu http://www.cs.utah.edu/~reid/ _______________________________________________ Cvs-hugs mailing list Cvs-hugs@haskell.org http://www.haskell.org/mailman/listinfo/cvs-hugs

Yes, you won't get an argument against doing this from me -- this commit is really work in progress (i.e., a disk flush).
Now that I'm back in the UK, I may find some hacking time to do this kind of thing. But I may not - life remains busy.
A Diet HEP, if you like.
Meaning something on a scale that is feasible to implement (on multiple platforms) and maintain? :-) -- Alastair Reid reid@cs.utah.edu http://www.cs.utah.edu/~reid/
participants (3)
-
Alastair David Reid
-
Sigbjorn Finne
-
Sigbjorn Finne