[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] Re: learning Lisp
From: |
root |
Subject: |
Re: [Axiom-developer] Re: learning Lisp |
Date: |
Tue, 6 Dec 2005 11:00:49 -0500 |
ok, this conversation has gone WAY off the rails ...
1) the $dalymode is a HACK to allow easier maintenance of the system.
it is NOT a general purpose mechanism and it needs one of those
hallway signs (like slippery floor) to make people aware that it
INTENTIONALLY breaks the interpreter in certain well-known ways
to allow ease of use for MAINTENANCE. If you're gonna unscrew the
pipes you've got to expect that the plumbing is broken. there is
no plan to ever make this part of the standard.
2) the BOOT package has nothing to do with the boot language. the
BOOT package is a way to isolate certain axiom names from certain
common lisp names. there is a concatenate function in lisp and
one in the boot language. to distinguish these two names so they
don't collide each name lives in a separate hash table. the lisp
concatenate is really USER:CONCATENATE and the boot version is
BOOT:CONCATENATE. the "package name" prefix is the name of the
hash table to look up the function symbol. so being in the BOOT
package means to look in the BOOT package hash table to find the
symbol corresponding to a name. to change to the "standard"
package type:
(in-packge "USER")
to change back type
(in-package "BOOT")
3) the commands
)read file.input
)lisp (load "file.lisp")
work on two different levels that have NOTHING to do with each other.
the ")read" command reads AXIOM expressions from an input stream.
the "(load" command reads LISP expressions from an input stream.
4) the |foo| naming convention isn't really a naming convention. the
BOOT language is case sensitive. by default lisp uses uppercase only.
the lisp syntax for escaping special characters in a symbol name is
to surround it with vertical bars. if you define a function in BOOT
using lower case with
foo ==
it becomes equivalent to
(defun |foo|
however if you define a BOOT function name in uppercase as in
BAR ==
it becomes equivalent to
(defun bar
without the escape characters.
5) Lisp functions are always available in Axiom and are used in the
algebra (grep for $LISP). However it is strongly recommended that
you don't do this as it implies you know the EXACT LISP internal
representation of the object you are manipulating. Don't try this
at home.
6) everything in axiom is just lisp code. there is no magic anywhere.
sure, it looks funny but it's really just lisp. once you understand
that it all makes sense (well, after 10 years or so).
7) there are "flavors" of lisp. axiom is written in common lisp version 1.
the standard has moved since axiom was written but in a mostly
upward compatible way. the lisp in Emacs is another, older lisp.
since there is general confusion about all of this perhaps it is best
to learn lisp in a raw lisp image. when you build axiom you'll find a
raw lisp image that has been built and can be used. if you build axiom at
(yourpage)/axiom
then do
(yourpage)/axiom/obj/linux/bin/lisp
and you'll get a clean, non-axiom lisp image where you can work.
t
- Re: [Axiom-developer] Re: learning Lisp, (continued)
- Re: [Axiom-developer] Re: learning Lisp, Kai Kaminski, 2005/12/05
- Re: [Axiom-developer] Re: learning Lisp, Ralf Hemmecke, 2005/12/05
- Re: [Axiom-developer] Re: learning Lisp, root, 2005/12/05
- RE: [Axiom-developer] Re: learning Lisp, Bill Page, 2005/12/05
- Re: [Axiom-developer] Re: learning Lisp, William Sit, 2005/12/06
- RE: [Axiom-developer] Re: learning Lisp, Bill Page, 2005/12/05
- RE: [Axiom-developer] Re: learning Lisp, C Y, 2005/12/05
- RE: [Axiom-developer] Re: learning Lisp, C Y, 2005/12/05
- RE: [Axiom-developer] Re: learning Lisp, Bill Page, 2005/12/05
- Re: [Axiom-developer] Re: learning Lisp, William Sit, 2005/12/06
- Re: [Axiom-developer] Re: learning Lisp,
root <=
- RE: [Axiom-developer] Re: learning Lisp, Bill Page, 2005/12/06
- Re: [Axiom-developer] Re: learning Lisp, root, 2005/12/06
- Re: [Axiom-developer] Re: learning Lisp, C Y, 2005/12/06
- Re: [Axiom-developer] Re: learning Lisp, root, 2005/12/06
- RE: [Axiom-developer] Re: learning Lisp, Bill Page, 2005/12/05
- Re: [Axiom-developer] Re: learning Lisp, William Sit, 2005/12/06
[Axiom-developer] Re: learning Lisp, root, 2005/12/03