I've been away for the last week or so since releasing version 5.2 and
there have been a few emails about various issues. Rather than deal
with each individually I'm responding to all of them together.
I have installed polyml 5.2 (sources) under
MacOSX 10.4.* and 10.5.*. Both times I had
to manually change in the "make install"-step
the attribute of the file install-sh to 755.
Otherwise the make process would refuse to
finish with permission denied message. Maybe
I have been stupid, but it could also be a bug.
The version of install-sh in the CVS repository on sourceforge does not
have execute permission and I don't believe it's possible to add it to
an existing file. I exported from the repository and forgot to set it
explicitly before creating the tar file for the version 5.2 release. It
only seems to be a problem on certain platforms. I don't generally like
changing a distribution once it has been uploaded but I think the
easiest way would be for me to upload a new tar file with execute
permissions set on install-sh.
The PolyML.get_print_depth function appears to be missing from 5.2.
Should I rework my code to do without it or was this an unintentional
omission?
The PolyML structure has been reworked and in particular PolyML.Compiler
has changed. In the old persistent storage version (PolyML 4 and
earlier) the print depth and similar values were special kinds of
references. From version 5 these are just simple references. The
reference set by PolyML.print_depth is now in PolyML.Compiler.printDepth
so you can define get_print_depth as ! PolyML.Compiler.printDepth. This
is used if the compiler is invoked by means of the usual top-level or
with "use" but if PolyML.compiler is called with a value passed in with
PolyML.Compiler.CPPrintDepth then this is used in place of the reference.
Has there been a change to the semantics of the function Unix.execute?
Previously, it executed the programme with respect to the current
path. Now, it seems to require an absolute pathname.
There were some changes to Unix.execute and while I was doing it I took
a closer look at the Basis Library document. This says that the "cmd"
argument should name an executable file. Previously the code used
"/bin/sh -c" to run the command. It's easy to add this in the call if
you want it to search the path.
David.
_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml