BinIO, webpage :)

Stephen Weeks sweeks@wasabi.epr.com
Mon, 15 Nov 1999 10:53:11 -0800 (PST)


> Here's BinIO... it was just some simple cut & (a little) paste
> (compared to TextIO) that I did. And as for Windows,
> I assume it works except that when linking, the compiler
> complains about undefined references to:
> S_IRGRP, S_IWGRP, S_IROTH, S_IWOTH.
> 
> So I guess that removing the last 4 flags in this line
> will do:
> 
> in flags[irusr, iwusr, irgrp, iwgrp, iroth, iwoth]

It would be *very* nice if the ML code for the basis library (as well
as user code) was platform independent.  Thus, I propose as a fix that
you add an #ifdef _WIN32 that defines the four missing flags as 0.

> But I haven't tried it yet... because how do I
> recompile the basis-lib without recompiling/reinstalling
> the compiler?

The Makefile has a target called ../lib/world.mlton.  It is
world.mlton that contains the preprocessed form of the basis library,
which you will notice is load-world'ed from bin/mlton.  Thus remaking
this target should be sufficient to create a new world.
	rm -f lib/world.mlton; cd src; make ../lib/world.mlton

> I have reinstalled and recompiled my Win32 version of MLTon
> and while doing this I have written up a document about how
> to make MLTon crosscompile:
> http://www.HardcoreProcessing.com/Freeware/MLTonWin32.html

Great.   I'll play around with it.

BTW, the link to http://www.HardcoreProcessing.com/Freeware/SDLML.html 
is broken (perhaps your still working on it).

> And to run either MLKit or cmcat you need an
> SML/NJ runtime of a compatible version, so you may soon find yourself continuously
> swapping between 2 versions of SML/NJ

I don't see why you can't build cmcat once with 110.9.1 and then
switch to 110.0.3 for your normal work.  I.E., why do you ever have to 
switch back?  The ".run-sml" shell script that is linked to "cmcat"
should work no matter what version of NJ you're using for regular
work.