Re: (asdf:oos 'asdf:unload-op 'cl-spont)




Pascal Bourguignon wrote:
"bradb" <brad.beveridge@xxxxxxxxx> writes:

JohnFredCee wrote:
Suppose I make such a mess of loading and compiling my asdf package
(It's unsder
active development) that I wish to scracth the whole thing and start
again. Drastic,
I know - but sometimes it happens. (delete-package 'cl-spont) followed
by
(asdf:oos 'asdf:load-op 'cl-spont) doesn't seem to work...is it
actually possible, or does
the whole REPL have to be junked and restarted..?

Slightly offtopic - but why are ASDF calls of the form
(asdf:oos something package) ?

Surely something like
(asdf:load-op 'package) is nicer looking?

But see here. I prefer: (asdf-load :package)
and somebody else might prefer: (asdf:load :package)
and somebody else might prefer to click on a GUI button,
and etc...

That's why there's no user interface in ASDF.
Just define in your ~/.clisprc.lisp file the one you want.

--
__Pascal Bourguignon__ http://www.informatimago.com/

"Remember, Information is not knowledge; Knowledge is not Wisdom;
Wisdom is not truth; Truth is not beauty; Beauty is not love;
Love is not music; Music is the best." -- Frank Zappa


I did do something similar to what Pascal suggested, but I always
wondered about REQUIRE. The CLHS states that REQUIRE is implementation
defined. CLISP has REQUIRE, but it does not hook into ASDF. So, I
attempted to redefine REQUIRE in two different ways, one way was to
redefine as a function:

; SLIME 2006-04-20
CL-USER> (defun require (symbol) (asdf:oos 'asdf:load-op symbol))
WARNING: DEFUN/DEFMACRO: redefining function REQUIRE in top-level, was
defined
in D:\gnu\clisp\current\build-O-mingw\defs1.fas
REQUIRE
CL-USER> (require 's-xml)
; loading system definition from C:\lisp\registry\s-xml.asd into
#<PACKAGE ASDF0>
;; Loading file C:\lisp\registry\s-xml.asd ...
; registering #<SYSTEM :S-XML #x19F4F251> as S-XML
;; Loaded file C:\lisp\registry\s-xml.asd
;; Loading file C:\lisp\packages\s-xml\src\package.fas ...
;; Loaded file C:\lisp\packages\s-xml\src\package.fas
;; Loading file C:\lisp\packages\s-xml\src\xml.fas ...
;; Loaded file C:\lisp\packages\s-xml\src\xml.fas
;; Loading file C:\lisp\packages\s-xml\src\dom.fas ...
;; Loaded file C:\lisp\packages\s-xml\src\dom.fas
;; Loading file C:\lisp\packages\s-xml\src\lxml-dom.fas ...
;; Loaded file C:\lisp\packages\s-xml\src\lxml-dom.fas
;; Loading file C:\lisp\packages\s-xml\src\sxml-dom.fas ...
;; Loaded file C:\lisp\packages\s-xml\src\sxml-dom.fas
;; Loading file C:\lisp\packages\s-xml\src\xml-struct-dom.fas ...
;; Loaded file C:\lisp\packages\s-xml\src\xml-struct-dom.fas
0 errors, 0 warnings
NIL


The second way was a macro:

; SLIME 2006-04-20
CL-USER> (defmacro require (symbol) `(asdf:oos 'asdf:load-op ,symbol))
WARNING: DEFUN/DEFMACRO: redefining function REQUIRE in top-level, was
defined
in D:\gnu\clisp\current\build-O-mingw\defs1.fas
REQUIRE
CL-USER> (require 's-xml)
; loading system definition from C:\lisp\registry\s-xml.asd into
#<PACKAGE ASDF0>
;; Loading file C:\lisp\registry\s-xml.asd ...
; registering #<SYSTEM :S-XML #x19F8AA9D> as S-XML
;; Loaded file C:\lisp\registry\s-xml.asd
;; Loading file C:\lisp\packages\s-xml\src\package.fas ...
;; Loaded file C:\lisp\packages\s-xml\src\package.fas
;; Loading file C:\lisp\packages\s-xml\src\xml.fas ...
;; Loaded file C:\lisp\packages\s-xml\src\xml.fas
;; Loading file C:\lisp\packages\s-xml\src\dom.fas ...
;; Loaded file C:\lisp\packages\s-xml\src\dom.fas
;; Loading file C:\lisp\packages\s-xml\src\lxml-dom.fas ...
;; Loaded file C:\lisp\packages\s-xml\src\lxml-dom.fas
;; Loading file C:\lisp\packages\s-xml\src\sxml-dom.fas ...
;; Loaded file C:\lisp\packages\s-xml\src\sxml-dom.fas
;; Loading file C:\lisp\packages\s-xml\src\xml-struct-dom.fas ...
;; Loaded file C:\lisp\packages\s-xml\src\xml-struct-dom.fas
0 errors, 0 warnings
NIL

Barring the fact that I created a non-standard redefinition of REQUIRE,
I think this has some value. However, the warning about the
redefinition of REQUIRE makes me think that this solution has other
consequences that are not clear to me. That's why I never actually used
this solution. Can anyone shed some light on this subject?

TIA
--
Ralph

.


Quantcast