--
You received this message because you are subscribed to a topic in the Google Groups "Quicklisp" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/quicklisp/GqKUiSPPAwY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to quicklisp+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
;; Details on setting up and using packages
;; http://www.gigamonkeys.com/book/programming-in-the-large-packages-and-symbols.html
;; Define a package ANA-IS-NOT-AARON, with nickname ANA, that inherits
;; all symbols exported by COMMON-LISP and CL-CAIRO2, and the suite of
;; packages loaded into CL-USER
(defpackage :ana-is-not-aaron
(:use
:common-lisp
:cl-cairo2
;; :cl-cairo2-xlib
:cl-colors
;; :cl-freetype2
:sb-alien
:sb-debug
:sb-ext
:sb-gray
:sb-profile)
(:nicknames :ana))
;; Make ANA the current package
(in-package :ana)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Things appear to be running as expected with these changes. That said, I'm not sure why (in-package :ana) isn't switching to the named package in the REPL. I can accomplish this by invoking (in-package :ana) at the REPL but it seems like I should be able to do this automatically.
--
Thanks so much for your contributions!
Apologies, but I'm afraid I don't understand the statement: "There should be no need to do that. If the user already has quicklisp, he will use it himself and quicklisp handles dependencies automatically.
If the user doesn't have quicklisp, he won't be able to load the file at all even if he has all the other dependencies."
After adding the lines indicated below to the top of my main program file, I still receive an error when using (dev "ana"). The error at the REPL is: Could not find system, attempting to in-package anyway.
I think I will have to revisit <http://www.xach.com/lisp/asdf-tutorial/> to straighten myself out.
(ql:quickload "cl-cairo2")
(ql:quickload "cl-cairo2-xlib")
(ql:quickload "cl-colors") ; but already loaded by cl-cairo2
(ql:quickload "cl-freetype2")
(ql:quickload "repl-utilities") <---------------------
(defpackage :ana-is-not-aaron
(:use
:common-lisp
:cl-cairo2
;; :cl-cairo2-xlib
:cl-colors
;; :cl-freetype2
:sb-alien
:sb-debug
:sb-ext
:sb-gray
:sb-profile
:repl-utilities) <---------------------
I don't do that because I installed quicklisp system wide but projects I work on shouldn't be available for other users.
Not that there actually are other users. *cough*
Also, the compiler guarantee that if you have defpackage as a top level form in your source file, then at any point afterwards
you can say (in-package :foo) and not have to deal with any worries about dealing with the complexities of understanding
read-time vs compile-time vs execute time phases of how your lisp compiler is actually doing this for you.
Hope this could help. I know there are any number of people on this group who no doubt can point you in the right direction
but understanding the times at which various different phases of evaluation occur (most importantly macro-expansion vs evaluation)
Is an important concept you will need to understand in order to work effectively in CL, otherwise you are likely going to run into any
Number of situations where things just won't work for seemingly no apparent reason.
Regards,
Dan
2. With the proviso that I very much want to understand what is happening here so that I might make my current and future programming more robust, maintainable and portable -- given that I now have a functional program that I can continue to develop for my own research, what do I gain by getting ANA to behave as does CLPROJECTTEST?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ANA.asd
#+sbcl
(asdf:defsystem #:ANA ;ana-is-not-aaron
:author "Don Winiecki"
:depends-on (#:cl-cairo2
;; #:cl-cairo2-xlib
#:cl-colors
;; #:cl-freetype2
#:sb-alien
#:sb-debug
#:sb-ext
#:sb-gray
#:sb-profile
#:repl-utilities)
:components ((:file "ANA")))
--