[plt-scheme] Where to find out that library objects like "chmod" are available in the underlying implementation?
[Adding a little on top of what Noel said]
On Oct 3, Ernie Smith wrote:
> Many reasonable inferences can be made, but one would find comfort
> in finding an assertion like the above somewhere in the
> documentation with or without caveats. The kind of comfort that
> permits you to make the bold assumption that this may continue in
> later versions. Otherwise the amount of maintenance and
> installation baggage that goes with a simple script goes up
> dramatically as well as the risks.
Relying on something like the standard C library being included is
pretty much guaranteed. Dumping it is as practical as it is to
reimplement mzscheme on top of a different VM.
> (define chmod (get-ffi-obj "chmod" #f (_fun _path _int -> _void)))
But for things that you suspect are more Linux/Mac/Windows specific,
you can of course just name the dynamic library directly. In the
`chmod' case, you'll probably need different code anyway on Windows.
Buut don't forget that there is another use for #f as the library --
it's the way to use internal MzScheme functionality (stuff that is
described in the inside mzscheme manual) from inside Scheme.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://www.barzilay.org/ Maze is Life!