BinIO and TextIO refectored...

Anoq of the Sun anoq@HardcoreProcessing.com
Tue, 19 Mar 2002 20:06:16 +0100


This is a multi-part message in MIME format.
--------------6C9033267C383E6BA1B862A8
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hello!


I have attached the files which _should_ implement BinIO -
and have TextIO refactored as a functor which can
instantiate both BinIO and TextIO (so this is even better
than my previous ports...).

I haven't been able to compile or even type-check the code properly
yet. I don't remember how I can compile the basis-library with
SML/NJ - which would be useful for typechecking it. Hint please? :)

And when trying to do a complete MLton build I get the
error:

unhandled exception: Fail unknown primitive: Posix_FileSys_O_text

I added the text and binary primitives (I hope) - but maybe it's because
I need to compile the runtime first in this new version of MLton?
I can compile the stuff in runtime/ but how is the procedure to install
it then before the complete compile? Hints?

Also - there's something about win32 vs. mingw32 vs. cygwin #defines
for the text and binary flags. I need to look into this some more -
but I haven't even got to the Win32 part yet :)

Otherwise BinIO should hopefully soon be back :)


Cheers
-- 
http://www.HardcoreProcessing.com
--------------6C9033267C383E6BA1B862A8
Content-Type: application/x-gzip;
 name="MLton_ANOQ20020319_DIFF.tar.gz"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="MLton_ANOQ20020319_DIFF.tar.gz"

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
/wOBQUZOAGgBAA==
--------------6C9033267C383E6BA1B862A8--