I was looking over Christophe's dendrogram sample code, and was surprised to find the following in the comments:
"...this one is technically non-conforming, in that FORMAT-GRAPH-FROM-ROOTS isn't specified as &KEY &ALLOW-OTHER-KEYS"
I went back to the spec and yes, AFAICT, the format-graph-from-roots function is specified as NOT being extendible with new keyword arguments.
With all due respect, this seems kooky, since FORMAT-GRAPH-FROM-ROOTS' interface seems poorly structured to do much of anything beyond trees or graphs that are essentially tree-like. The interface seems poor if you want to have edges of different flavors, if you want to control the assignment of depths, etc.
Now, of course, you can do a pretty arbitrary amount of customization by developing new graph-output-records. BUT... the spec as written (to the best of my understanding) doesn't provide any way to customize these new output record classes with initargs. Not only doesn't format-graph-from-roots as specified allow for extending its argument set, it also doesn't specify (again, as far as I can tell), how to pass initargs to the new class.
The McCLIM implementation takes what seems to me to be a very sensible approach of passing extra keyword arguments from format-graph-from-roots into the make-instance for the GRAPH-OUTPUT-RECORD, but this is an extension to the specification.
Question: have I misread the specification, or is this a deficiency in it?
Cheers, Robert