On 29 March 2010 04:33, Mark Evenson evenson@panix.com wrote:
Couldn't you extend the ABCL pathname matching algorithm to allow for wildcards and all in the device component?
Wildcards do work in DEVICE but you can't currently use unused results of the wildcard matches on the DEVICE components to "carry over" to the translation of the DIRECTORY component. I suppose that's what you were suggesting anyways. There isn't an obviously easy way to implement this in ABCL due to the structure of our code and I need to think through the various permutations, but that doesn't mean that its implementation isn't a win for the end user. I'll see what I can do.
If you're going to use a lot of such magic DEVICE components, that could be a win.
So I would ask the ASDF developers to consider extending the output translation DSL to allow something like
(initialize-output-translations '(:output-translations :ignore-inherited-configuration (#p"jar:file:/**/*.jar!/**/*.*" :function SYS::ASDF-JAR-OUTPUT-TRANSLATE)))
I suggest that either you make (:function foo) a valid second value for an output-translations list, or you make said list accept a&key function argument in addition to its two current positional arguments. But having weird non-standard vararg convention for such lists is probably a bad API. The default function would be TRANSLATE-PATHNAME and the calling convention would be the same.
I'd favor the first proposal, as making :FUNCTION a real key argument would imply that the second positional parameter is optional, whereas it is actually being replaced by the (:FUNCTION ARG) parameter. When I get time to revisit the patch, I'll implement your first proposal.
I'd favor either a keyword argument or :function as a magic marker to be inserted in FIRST position, followed by a function designator (and additionally, parameters to curry?). Unless of course, you symmetrically accept a FUNCTION in first position to denote a "recognize if this matching rule applies".
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Boxer’s law of economics: “The economy interprets taxation and regulation as damage and routes around it.” — Jessica Boxer, http://esr.ibiblio.org/?p=1752