[nhc-bugs] Building nhc98 on Windows 2000
C.Reinke
C.Reinke@ukc.ac.uk
Thu, 04 Apr 2002 19:42:42 +0100
> > > The file-removal assumes the unix-like property that you can unlink a
> > > file while it still has a (lazy) reader attached to it, and the file
> > > contents will stick around until the reader has finished with it.
> > > It is perfectly possible to create a new (different) file with the
> > > same name as the old one whilst the old one is still being read.
> >
> > Ah, I had almost forgotten about that old magic:)
> > Old wizards used to say: don't use magic for ordinary tasks.
>
> Magic? It's just data-structure persistence and automatic garbage
> collection, both of which are ideas we love in functional programming.
> Should I avoid higher-order functions and laziness, since many
> imperative programmers regard them as magic too?
"Any sufficiently advanced technology is indistinguishable from magic."
Sir Arthur C., I think;-)
> > It may be cute that it works on real systems, but it isn't really
> > needed here, so why not go for the ordinary, boring way?
>
> Working out a decent way of forcing exactly the right degree of
> evaluation to match the broken operating system is much harder than
> doing it the natural lazy way!
One of the author's of the three additions to Asimov's Foundation
series managed to let one of the characters paraphrase the above:
"Any technology distinguishable from magic is insufficiently advanced."
Seems to fit some overblown window-managers..
But wouldn't it be possible to imitate the unix behaviour by making
temporary copies (using tmpnam & system cp, if neccessary), at least
for readFile & hGetContents, and omitting that indirection step on
"real" oss (which do all that behind the scenes)?
> Btw, thanks for your help in tracking down these issues, Claus. It
> never fails to surprise me how many seemingly-small incompatibilities
> there are between Cygwin and real Unix, and how easy it is to trip
> over them.
You're welcome. I wouldn't want you to give up on including windows
in portability considerations:-) And without Cygwin&co., I couldn't
survive for long on windows systems (imagine having to buy each and
every tool, starting from compilers..). Often, I wait until others
find and fix the new-release bugs; this time, it's my turn to help..
Cheers,
Claus