After a quick check, I don't think we define an interface. Nor could I find something in SBCL to copy. Do you have a reference to an API we can implement?
I need one or two functions: * most importantly, a function asdf-encodings::find-implementation-encoding (encoding) that tells me if a keyword names a valid encoding, and if so, returns a proper value to pass as an :external-format. * optionally, a function to return the list of all available encodings; maybe taking a keyword argument that allows to distinguish between actually loaded vs potentially available encodings.
(require 'abcl-contrib) (require 'jss) (jss:hashmap-to-hashtable (#"availableCharsets" 'java.nio.charset.Charset))
will return a hashtable whose keys will be the allowable names for external formats.
"Intermediate" because I would like to keep ASDF independent of the abcl-contrib mechanism, as ASDF is a requirement of ABCL-CONTRIB, so I'd rather that we agree on an API, and I'll implement this with the Java FFI primitives that JSS is based upon.
I suppose that can do for now. This currently happens in a system called asdf-encodings that is separate from ASDF. This stricture is a good reason to keep it separate and not merge it into ASDF as was suggested. If you define an API, I'll change asdf-encodings to use it, and that won't count as a reason against merging asdf-encodings into ASDF anymore. I don't want to do a merge before asdf-encodings is stable, anyway.
Thanks for the pointer.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org