[nhc-bugs] Building nhc98 on Windows 2000

Malcolm Wallace Malcolm.Wallace@cs.york.ac.uk
Wed, 3 Apr 2002 17:22:18 +0100


> > If `fullname' is available it gives the absolute pathname to its argument
> 
> I can't see this under Solaris either, so the number of systems
> having it might be limited?

We have it locally under both Linux and Solaris, but I guessed it
might be fairly non-standard.  However, my own local setup was the
one I was most interested in getting to work at the time, so if it
works for anyone else that is just a bonus...  :-)

> ?? you seem to assume that the redirection affects the executing
>    shell itself, whereas, IMO, it only affects the command. so, if
>    the shell can't find the command, no redirection, and the shell
>    reports the error as usual, no?

There seems to be a difference between bash and sh - the former behaves
as I would like, the latter as you describe.

> (btw, don't you want to force the call to safeinit, so that readFile can
> complete and removeFile can proceed?).

Maybe that's the easiest hack, but it would of course need to be a
deepSeq, not just a seq.

> > 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?

> 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!

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.

Regards,
    Malcolm