Hi all,
(I'm not sure whether or not this is the right place for questions about the grid system in gsd; apologies if I should be posting elsewhere.)
Has anyone else found a reliable way to force the grid extension to iterate to load?
I have a project that uses some of the various iterate extensions. Naturally its asdf system won't compile properly if the iterate extension is not loaded. There doesn't seem to be any way to ensure that the grid extension is loaded aside from making sure that the asdf-system-connections system has been loaded before I try to load my system. That means I need this ugly piece of work in my asd file, before my system definition:
;; We want to use the iterate extension for grid data (eval-when (:compile-toplevel :load-toplevel :execute) (require '#:asdf-system-connections))
Including :asdf-system-connections in the dependencies of my system is not sufficient, either because I can't control the order in which systems load, or for some deeper reason (I suspect that in fact asdf-system-connections needs to be fully loaded before asdf even starts thinking about my system).
Would it be possible to include an asdf system in the grid project like the following?
(asdf:defsystem grid-iterate-extension :depends-on (#:grid #:iterate #:alexandria) :components ((:module "grid-iterate" :pathname "" :components ((:file "iterate")))))
Then I could just include grid-iterate-extension in the dependencies for my asdf system and not have to go through any contortions to get asdf-system-connections loaded first. It has to go in its own file to be reliably found by asdf, which I recognize adds clutter, but I think it's wrong to have a dependency on asdf-system-connections that I can't express in my system definition.
Thanks! James