From: Mario S. Mommer on 20 Mar 2010 07:38 Norbert_Paul <norbertpauls_spambin(a)yahoo.com> writes: > Raymond Toy wrote: >> On 3/19/10 11:40 AM, Norbert_Paul wrote: >> However, I wouldn't be surprised if you ended up with basically one >> defsystem definition per routine. It would be pretty sweet if you could >> just say you wanted the SVD routine, and defsystem would automatically >> build just the routines needed to run the SVD routine. > This is exactly what I had in mind in my initial post. But a defsystem > definition per routine is a bit of overkill. Wouldn't that require a > package declaration for each subroutine? (An asdf-learner's question) No. One can just write (asdf:defsystem :mysystem ... without creating any :mysystem-asd package. I don't think it necessarily is overkill. Maybe a small problem might arise from the fact that *features* is a list, not a hash-table...
From: Norbert_Paul on 20 Mar 2010 09:47 Mario S. Mommer wrote: > No. One can just write > > (asdf:defsystem :mysystem ... > > without creating any :mysystem-asd package. Yeah. That was the point I was missing. The manual even says on the <system>-system package naming convention: "This is not absolutely required by asdf, but ... " I overlooked that and believed the opposite be true. So there is at least the possibiliy to create a system per subroutine each within one :lapack-system. I just figured out that you can pass more arguments to asdf:operate (it has &rest args). Can this somehow (using "documented" features only) be exploited to create something like (asdf:operate 'asdf:load-source-op 'lapack 'dgesvd) or (asdf:operate 'asdf:load-source-op 'lapack 'dgesvd 'dgesv) or (asdf:operate 'asdf:load-source-op 'lapack '(dgesvd dgesv)) or the like? This would be the nicest way. How does asdf:traverse work? > I don't think it necessarily is overkill. Maybe a small problem might > arise from the fact that *features* is a list, not a hash-table... Does asdf use *features* except for providing itself? I didn't notice a change in *features* after loading source: * (let ((features (copy-list *features*))) (asdf:operate 'asdf:load-source-op 'blas) (equal features *features*) ) => T Thank you Norbert
First
|
Prev
|
Pages: 1 2 Prev: Lisp internships and jobs at HPC Platform, Boston and Paris Next: Forgot to mention... |