[armedbear-devel] How do I release ABCL's "package-lock"?
Peter Olsen
pcolsen at gmail.com
Wed Dec 30 06:18:54 UTC 2009
I'm writing to ask how to redefine the "or" macro in ABCL.
I'm working on a project and there's one package in which I need "or"
to mean something else than its usual definition. I've tried simply
to redefine it, but it doesn't work. I understand that the Common
Lisp spec requires special provision for that to be done --- such as
the package-lock construct in SBCL.
How can I do that in ABCL? I want to be able to do this within the
code, for example, with in a "let" so that I can bound its scope.
Can anyone point me in the right direction? My first --- failed ---
experiment is below.
Thanks!
Peter
-------------------------------------------------------
A way that doesn't work.
slipstream:~ pcolsen$ abcl
Armed Bear Common Lisp 0.17.0
Java 1.5.0_20 Apple Inc.
Java HotSpot(TM) Client VM
Low-level initialization completed in 1.476 seconds.
Startup completed in 4.363 seconds.
Type ":help" for a list of available commands.
CL-USER(1): (or nil t)
T
CL-USER(2): (defmacro or (x) (+ 1 x)) ; My very own new "or"
OR
CL-USER(3): (or 3) ; Result should be 4
3
CL-USER(4): (or nil nil) ; My "or" should take only one argument.
NIL
CL-USER(5): (or nil t)
T
CL-USER(6): ;;; Redefinition didn't work.
Peter Olsen
olsen at sigmaxi.net
I have loved the stars too fondly to be fearful of the night.
Galileo Galilei
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20091230/789c6d35/attachment.html>
More information about the armedbear-devel
mailing list