[Openmcl-devel] First draft!
Hamilton Link
hamlink at comcast.net
Mon Jul 5 12:50:33 PDT 2004
No visible broken links in the first six sections, so here are some
content nitpicks:
On the frontmatter, under #2:
Is the disk that crashed ever going to be recovered, or is that now a
bit-decayed excuse?
On the frontmatter, under #4:
0.13.7 now exists. Was it for G5 compatibility fixes?
0.14.1+ are Beta releases
In 1.1.2:
Mac OS X 10.3.4 is supported, what's the oldest version currently
supported by 0.14.2 bleeding edge?
Darwin kernel is now at 7.4.0
In 1.2.1:
A binary release contains way more than that. Surprisingly enough it
doesn't contain autoloaded loop or eval, or did GB make these no longer
autoloaded? Plus the binary release includes the openmcl shell script,
so maybe better than saying "install" it the docs should say to
"configure" it.
In 1.3.1:
The openmcl script will not redefine he CCL_DEFAULT_DIRECTORY
variable if it is already defined, so adjusting your path and defining
that variable in your .tcshrc or .bashrc shell init files is another
way of configuring openmcl.
In 1.4.2:
The "home:" logical pathname is discussed with no introduction
explaining how it gets defined.
In 1.7.1:
I submit the antiquated CVS paths aren't all that useful. The
linked-to page with the correct information should just be inlined
instead.
In 2.1:
I would change the third bullet...
"there is no simple and efficient way to 'inhibit the scheduler'
or otherwise gain exclusive access to the entire CPU. (There are a
variety of simple and efficient ways to synchronize access to
particular data structures.)"
Into two bullets...
"There is no simple blah..."
"There are a variety of blah..."
In 2.2's second bullet:
I think the "There are a number of primitives" should be "There were
a number of primitives".
In 2.5.2 and 2.5.3, for something really nitpicky:
The first lines of the indented code for the examples should be
indented along with the rest of it.
In 4.2:
Trying the examples (under 0.14.2-040320, under OS X 10.3.4), I get...
Welcome to OpenMCL Version (Beta: Darwin) 0.14.2-040320!
? (run-program "cat" () :input (make-string-input-stream "hello")
:output t)
hello#<EXTERNAL-PROCESS (cat)[2606] (EXITED : 0) #x638E9F6>
? (with-output-to-string (stream)
(run-program "uname" '("-r") :output stream))
"7.4.0
"
? (run-program "ls" '("*.lisp") :output t)
ls: *.lisp: No such file or directory
#<EXTERNAL-PROCESS (ls *.lisp)[2610] (EXITED : 0) #x638B70E>
? (run-program "sh" '("-c" "ls *.lisp") :output t)
ls: *.lisp: No such file or directory
#<EXTERNAL-PROCESS (sh -c ls *.lisp)[2611] (EXITED : 0) #x638B536>
?
...which seems like the last case isn't what the description said it
would do.
In 6.3:
I would add a "bottom line" statement to the effect that if you are
loading code and defining classes in the standard way (i.e. via the
compiler, in a single thread) then you're probably safe, but if you are
diddling with the class hierarchy while you're running multiple threads
manipulating related objects, you (a) should really know what you're
doing and (b) should seriously consider what your application's
critical data is and maintain locks over critical sections.
More information about the Openmcl-devel
mailing list