On 2010-03-31, at 05:31 , Robert Goldman wrote:
On 3/30/10 Mar 30 -4:32 PM, james anderson wrote:
On 2010-03-30, at 21:36 , Robert Goldman wrote:
[ ... ] Can you explain how to do this?
i have found two ways to do this.
a. put logical hosts on asdf's search path and unify the pathnames for found system definitions with them. this is semi-pure in that the mechanism is part of an extension[1] and hooks into an additional method for system instantiation, but, in principle, it has nothing to do with the hierarchal name mechanism. it uses the mappings cited[2] in the earlier message to implement the equivalent of binary locations in terms pathname translation patterns which match the output file type.
I think that this is the opposite of what Juanjo is proposing.
i do not yet understand his use cases. despite his extended descriptions. as far as i have managed, this fulfills the requirement for dual build methods - one with and one without asdf. in the asdf case, the registry entry suffices. in the other case, there is some other host definition.
According to Juanjo, the population of the asdf:*central-registry*, and the loading of system causes logical pathname hosts to be defined. What you propose here is to define logical pathname hosts and use them to help find and load systems.
b. define a host anew for each system definition[3]. this uses [2] to root a host at a given location. by default that of the currently loaded file.
this alternative satisfies the requirement directly. the definition is the same in both methods.
[1] : http://github.com/lisp/de.setf.utility/blob/master/asdf/ hierarchical-names.lisp#L274 (this uses on operator from [2].) [2] : http://github.com/lisp/de.setf.utility/blob/master/ pathnames.lisp#L119 [3] : http://github.com/lisp/de.setf.amqp/blob/master/amqp.asd#L36
BTW, any chance you could use tiny url or some other url shortener on these github links? At least in my email client, they get line breaks in the middle and thus broken....
will endeavour to.
This bit of code in [2] is very nice, by the way, seems to be just what Juanjo is asking for, but with a slightly different API, yes?
yes. you may have noted the range of implementations and the entry for (mcl 68k)? i have evidently had the fortune of more than a decade of colleagues willing to learn rules and follow them.