Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Simple Lisp Support

121 views
Skip to first unread message

Nathan

unread,
Dec 12, 2010, 2:20:22 PM12/12/10
to
Can anyone suggest a simple alternative to Emacs? I was indenting Lisp
according to rules I'd learned in C then I discovered ILisp which
seems to have better indentation. Right now, Kate is best option I've
seen, but the indentation is not as good as Ilisp.

I only care about 5 things.
1. SIMPLE PLEASE
2. braces matching (I would prefer rainbow parenthesis, but whatever)
3. automatic indentation
4. tab completion (this can be really stupid, just so long as it at
least completes words that I have typed before)
5. some sort of pop-up documentation

I can deal with the REPL being in another window, but I want an editor
or IDE that is a tool in the same capacity that a lawn mower is a
tool. It should do it's job right from the very beginning. If you want
to pull your lawn mower apart you can; but you basically don't unless
it's broken.

In an ideal world, I'd just type "lisp" into the Netbeans plugin
manager and install. Is there any sort of option for Lisp that's as
simple? Is Emacs a prerequisite to Lisp?

I'll learn a new editor if I have to, I did conquer VI after all, but
right now I only care about Lisp. If I ever decide to learn Emacs, I
would prefer to do that when I already have a solid grasp on Lisp.
Even after coping a 940 line emacs file, I still have bad indentation
and no auto-complete.

There's gotta be something obvious I'm missing.

Tamas K Papp

unread,
Dec 12, 2010, 2:35:14 PM12/12/10
to
On Sun, 12 Dec 2010 11:20:22 -0800, Nathan wrote:

> Can anyone suggest a simple alternative to Emacs? I was indenting Lisp
> according to rules I'd learned in C then I discovered ILisp which seems
> to have better indentation. Right now, Kate is best option I've seen,
> but the indentation is not as good as Ilisp.

Emacs with SLIME and ParEdit.

> I only care about 5 things.
> 1. SIMPLE PLEASE

SLIME is quite simple to use, find one of the reference cards floating
around on the net. Instead of giving Emacs commands, I will give
standard bindings below.

> 2. braces matching (I would prefer rainbow parenthesis, but whatever)

ParEdit.

> 3. automatic indentation

Should work out of the box.

> 4. tab completion (this can be really stupid, just so long as it at
> least completes words that I have typed before)

SLIME is quite smart, see C-c C-i (simple completion) and C-c M-i
(fuzzy completion, which, for example, would complete mu-v-b to
multiple-value-bind, or if it can't decide, it will list the options).

5. some sort of pop-up documentation

C-c C-d h will open the hyperspec page for the symbol under the cursor
(when none, it will prompt). C-c C-d d will give you the docstring.
I find it ideal.

> I can deal with the REPL being in another window, but I want an editor
> or IDE that is a tool in the same capacity that a lawn mower is a tool.
> It should do it's job right from the very beginning. If you want to pull
> your lawn mower apart you can; but you basically don't unless it's
> broken.

I don't understand what you mean here. I have never had to do any
programming in Emacs, or understand the internals of SLIME. You can
get very far by just copying snippers from other people's scripts.

> In an ideal world, I'd just type "lisp" into the Netbeans plugin manager
> and install. Is there any sort of option for Lisp that's as simple? Is
> Emacs a prerequisite to Lisp?

Emacs is a very good Lisp IDE that many people like. Commercial
implementations have their own IDE, some people prefer those. If you
absolutely abhor Emacs, you might want to give those a try.

> I'll learn a new editor if I have to, I did conquer VI after all, but
> right now I only care about Lisp. If I ever decide to learn Emacs, I
> would prefer to do that when I already have a solid grasp on Lisp. Even

IMO you don't have to learn more of Emacs than any other IDE to be
productive. Just learn the 10-15 basic commands of SLIME, and general
Emacs stuff like how to open files, navigate buffers etc, that will
take you very far.

> after coping a 940 line emacs file, I still have bad indentation and no
> auto-complete.
>
> There's gotta be something obvious I'm missing.

I agree. See above.

Best,

Tamas

Pascal Costanza

unread,
Dec 12, 2010, 3:08:53 PM12/12/10
to
On 12/12/2010 20:20, Nathan wrote:
> Can anyone suggest a simple alternative to Emacs? I was indenting Lisp
> according to rules I'd learned in C then I discovered ILisp which
> seems to have better indentation. Right now, Kate is best option I've
> seen, but the indentation is not as good as Ilisp.

The most common development environment for Lisp hacking is Emacs+SLIME.
Alternatives are Clozure Common Lisp, which comes with an IDE for Mac OS
X; MCLIDE for Mac OS X; Allegro Common Lisp for Windows; LispWorks for
Linux, Mac OS X and Windows. (The latter two are commercial Common Lisp
implementations that come with IDEs, but they offer free non-commercial
editions that are excellent for learning purposes and behave more like
'regular' IDEs.)

There are also more alternatives, but they are less often used, as far
as I can tell.


Pascal

--
My website: http://p-cos.net
Common Lisp Document Repository: http://cdr.eurolisp.org
Closer to MOP & ContextL: http://common-lisp.net/project/closer/

kenny

unread,
Dec 12, 2010, 3:25:00 PM12/12/10
to
On Dec 12, 2:20 pm, Nathan <nbeen...@gmail.com> wrote:
> Can anyone suggest a simple alternative to Emacs?

A chisel and stone tablet would be a step up.

> There's gotta be something obvious I'm missing.

Money. Get AllegroCL.

hth, kt

Bigos

unread,
Dec 13, 2010, 6:43:54 AM12/13/10
to
On Dec 12, 7:20 pm, Nathan <nbeen...@gmail.com> wrote:
> Can anyone suggest a simple alternative to Emacs?
Only alternative to Emacs that I can think of is vim. For example,
calling Kate an alternative to Emacs shows you didn't give yourself a
chance to understand Emacs. So listen to advice of someone who has
been using Kate for 6 years and learn Emacs.

You don't have to learn all Emacs to do simple things. Others have
shown you Emacs solutions for below tasks.


> I only care about 5 things.
> 1. SIMPLE PLEASE
> 2. braces matching (I would prefer rainbow parenthesis, but whatever)
> 3. automatic indentation
> 4. tab completion (this can be really stupid, just so long as it at
> least completes words that I have typed before)
> 5. some sort of pop-up documentation
>
> I can deal with the REPL being in another window, but I want an editor
> or IDE that is a tool in the same capacity that a lawn mower is a
> tool. It should do it's job right from the very beginning. If you want
> to pull your lawn mower apart you can; but you basically don't unless
> it's broken.

Editing Lisp with Emacs+Slime is the most convenient solution that I
have found. Before trying Lisp I used to avoid Emacs due to it's
unpleasant user interface, and emphasis on keyboard short cuts. Also,
Emacs didn't feel discoverable the same way other programs are.
Actually Emacs is discoverable, but options for it are well hidden in
Help/Describe menu.

>
> In an ideal world, I'd just type "lisp" into the Netbeans plugin
> manager and install. Is there any sort of option for Lisp that's as
> simple? Is Emacs a prerequisite to Lisp?

Am afraid you might have to write or modify the plug-ins yourself


>
> I'll learn a new editor if I have to, I did conquer VI after all, but
> right now I only care about Lisp. If I ever decide to learn Emacs, I
> would prefer to do that when I already have a solid grasp on Lisp.

When I finally decided to learn Emacs it took me 1 afternoon to grasp
the basics. Once it was done it quickly snowballed to get more
advanced stuff. Now I have stopped using Kate, and use Emacs most of
the time.
Best Resource for quick and painless learning of Emacs is imho Xah
Lee's tutorial: http://xahlee.org/emacs/emacs.html
It is a bit controversial because it recommends ditching some old
Emacs conventions that old-timers love, but as a result it makes Emacs
more much friendly to beginners.


> Even after coping a 940 line emacs file, I still have bad indentation
> and no auto-complete.
>
> There's gotta be something obvious I'm missing.

Don't give up on Emacs, backup your old .emacs file and start from
scratch after following peoples advice,

http://gigamonkeys.com/book/lather-rinse-repeat-a-tour-of-the-repl.html

Tassilo Horn

unread,
Dec 13, 2010, 8:09:51 AM12/13/10
to
Bigos <ruby....@googlemail.com> writes:

> Best Resource for quick and painless learning of Emacs is imho Xah
> Lee's tutorial: http://xahlee.org/emacs/emacs.html It is a bit
> controversial because it recommends ditching some old Emacs
> conventions that old-timers love, but as a result it makes Emacs more
> much friendly to beginners.

I'd highly recommend to start with the builtin tutorial (Help > Emacs
Tutorial) and documentation (Help > Read the Emacs Manual).

Maybe Xah does really good with his tutorial, but af course, he tutors
about using emacs customized according to his likings. Even on the
third page "Emacs Intermediate", which is also referenced from the very
first page "Emacs Basics", he tells the user to enable CUA mode without
even discussing why one should do that...

Bye,
Tassilo

Raffael Cavallaro

unread,
Dec 13, 2010, 10:28:24 AM12/13/10
to
On 2010-12-12 14:20:22 -0500, Nathan said:

> Can anyone suggest a simple alternative to Emacs?

The LispWorks Personal Edition.
It is easier to get started with than emacs/slime.
It costs nothing.
It is a full featured GUI IDE.
It runs on Windows, Mac OS X, Linux, FreeBDS, and Solaris x86/x64.
Portable code you write with it will run under any other common lisp
implementation (sbcl, allegro, ccl, ecl, clisp, etc.) on any platform.

<http://www.lispworks.com/downloads/index.html>

Warmest regards,

Ralph

--
Raffael Cavallaro

Pascal J. Bourguignon

unread,
Dec 13, 2010, 10:30:06 AM12/13/10
to
Raffael Cavallaro <raffaelc...@pas.despam.s.il.vous.plait.mac.com>
writes:

> On 2010-12-12 14:20:22 -0500, Nathan said:
>
>> Can anyone suggest a simple alternative to Emacs?
>
> The LispWorks Personal Edition.
> It is easier to get started with than emacs/slime.
> It costs nothing.
> It is a full featured GUI IDE.
> It runs on Windows, Mac OS X, Linux, FreeBDS, and Solaris x86/x64.

A couple of months ago, I tried it and it didn't run on my linux x86_64
system. Only a 32-bit executable that didn't work there was available
AFAIK.


> Portable code you write with it will run under any other common lisp
> implementation (sbcl, allegro, ccl, ecl, clisp, etc.) on any platform.
>
> <http://www.lispworks.com/downloads/index.html>
>
> Warmest regards,
>
> Ralph

--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.

Bigos

unread,
Dec 13, 2010, 10:39:37 AM12/13/10
to
On Dec 13, 1:09 pm, Tassilo Horn <tass...@member.fsf.org> wrote:

> Bigos <ruby.obj...@googlemail.com> writes:
> > Best Resource for quick and painless learning of Emacs is imho Xah
> > Lee's tutorial:http://xahlee.org/emacs/emacs.htmlIt is a bit

> > controversial because it recommends ditching some old Emacs
> > conventions that old-timers love, but as a result it makes Emacs more
> > much friendly to beginners.
>
> I'd highly recommend to start with the builtin tutorial (Help > Emacs
> Tutorial) and documentation (Help > Read the Emacs Manual).
I have started with the Tutorial as well, but everybody's different
and I can see why Xah's tutorial is good for some beginners.

>
> Maybe Xah does really good with his tutorial, but af course, he tutors
> about using emacs customized according to his likings.  Even on the
> third page "Emacs Intermediate", which is also referenced from the very
> first page "Emacs Basics", he tells the user to enable CUA mode without
> even discussing why one should do that...
I am aware of certain "problems" with CUA mode, and maybe one day I'll
switch to classic Emacs if I need to, but I must admit that some Emacs
customisations have helped me to start using Emacs as my main editor.

>
> Bye,
> Tassilo

Pascal Costanza

unread,
Dec 13, 2010, 10:48:06 AM12/13/10
to
On 13/12/2010 16:30, Pascal J. Bourguignon wrote:
> Raffael Cavallaro<raffaelc...@pas.despam.s.il.vous.plait.mac.com>
> writes:
>
>> On 2010-12-12 14:20:22 -0500, Nathan said:
>>
>>> Can anyone suggest a simple alternative to Emacs?
>>
>> The LispWorks Personal Edition.
>> It is easier to get started with than emacs/slime.
>> It costs nothing.
>> It is a full featured GUI IDE.
>> It runs on Windows, Mac OS X, Linux, FreeBDS, and Solaris x86/x64.
>
> A couple of months ago, I tried it and it didn't run on my linux x86_64
> system. Only a 32-bit executable that didn't work there was available
> AFAIK.

A 64bit Linux cannot execute 32bit applications? Wow...

Or am I missing something?

Pascal J. Bourguignon

unread,
Dec 13, 2010, 10:59:21 AM12/13/10
to
Pascal Costanza <p...@p-cos.net> writes:

> On 13/12/2010 16:30, Pascal J. Bourguignon wrote:
>> Raffael Cavallaro<raffaelc...@pas.despam.s.il.vous.plait.mac.com>
>> writes:
>>
>>> On 2010-12-12 14:20:22 -0500, Nathan said:
>>>
>>>> Can anyone suggest a simple alternative to Emacs?
>>>
>>> The LispWorks Personal Edition.
>>> It is easier to get started with than emacs/slime.
>>> It costs nothing.
>>> It is a full featured GUI IDE.
>>> It runs on Windows, Mac OS X, Linux, FreeBDS, and Solaris x86/x64.
>>
>> A couple of months ago, I tried it and it didn't run on my linux x86_64
>> system. Only a 32-bit executable that didn't work there was available
>> AFAIK.
>
> A 64bit Linux cannot execute 32bit applications? Wow...
>
> Or am I missing something?

Yes, I was surprised too.

Antony

unread,
Dec 13, 2010, 3:08:47 PM12/13/10
to
On 12/12/2010 11:20 AM, Nathan wrote:
> Can anyone suggest a simple alternative to Emacs? I was indenting Lisp
It just struck me that the real issue people have about using emacs for
learning Lisp while knowing neither yet is precisely that.

It is like kids saying long division is hard.
It is not. It is trivial, provided you know your multiplication tables
and you know carry subtraction. Most kids don't by the time they are
asked to learn long division. Trying to wrestle with three new things
simultaneously is hard.

That would be emacs+slime+lisp :)

Ok, that was just fun to write but probably useless to you.

A suggestion is to use whatever ide you can for now so that you get
comfortable with lisp first and then try emacs.

-Antony

Antony

unread,
Dec 13, 2010, 3:00:06 PM12/13/10
to
On 12/12/2010 11:20 AM, Nathan wrote:
> Can anyone suggest a simple alternative to Emacs? I was indenting Lisp
It just struck me that the real issue people have about using emacs for
learning Lisp while knowing neither yet is precisely that.

It is like kids saying long division is hard.
It is not. It is trivial, provided you know your multiplication tables
and you know carry subtraction. Most kids don't by the time they are
asked to learn long division. Trying to wrestle with three new things
simultaneously is hard.

That would be emacs+slime+lisp :)

-Antony

Pascal J. Bourguignon

unread,
Dec 13, 2010, 4:43:02 PM12/13/10
to
Antony <spam+lisp...@gmail.com> writes:


Actually, while you are learning the language, you can use notepad and
the REPL in a terminal. This doesn't prevent learning the language the
least. Of course, typing (load "myfile.lisp") may grow old soon,
(you'll learn to (defun l () (load "myfile.lisp')) and type (l) instead).

The OP could just use his favorite editor, and his favorite terminal
emulator. I'd advise to use clisp which includes readline, but he could
even use sbcl with rlwrap.

Peter Keller

unread,
Dec 13, 2010, 5:26:34 PM12/13/10
to
Pascal J. Bourguignon <p...@informatimago.com> wrote:
> Actually, while you are learning the language, you can use notepad and
> the REPL in a terminal. This doesn't prevent learning the language the
> least. Of course, typing (load "myfile.lisp") may grow old soon,
> (you'll learn to (defun l () (load "myfile.lisp')) and type (l) instead).

Or, if you're a masochist who likes to type less with an occasionally
difficult to debug out of left field problem:

(define-symbol-macro l (load "myfile.lisp"))

Then you just have to type the letter l at the prompt and hit return
instead of busting out the whole function calling syntax of ( and ).

:)

-pete

Raffael Cavallaro

unread,
Dec 13, 2010, 5:50:21 PM12/13/10
to
On 2010-12-13 15:08:47 -0500, Antony said:

> It just struck me that the real issue people have about using emacs for
> learning Lisp while knowing neither yet is precisely that.

The real issue is that GUIs have been mainstream for a quarter century,
and emacs/slime is an "IDE" (yes, those are scare quotes) whose
fundamental design looks rather like it knows nothing whatsoever of
GUIs, precisely because emacs originated in the pre-GUI, text-terminal
era. The problem with emacs/slime is that the shallow end of the pool
is really not that shallow compared to GUI lisp IDEs.

No question that keyboard-centric interfaces can be very powerful - but
GUIs are clearly easier for many, maybe most, to cut their teeth on.
The ideal combination for many newbies then is a GUI that lets one
segue seamlessly into keyboard-centric power use.

Allegro, Clozure CL (the Mac OS X IDE), LispWorks, and MCLIDE all let
you start out with a mouse and menus to open, edit, load and compile
files - and no, having to configure a GUI emacs, configure slime, then
type "meta-x slime" before you can see these menus does not count as
starting out with a mouse and menus. A nub can then move on to
emacs-like (or custom) keybindings just as with emacs and slime.

Of all of these listed no-cost, full featured, GUI lisp IDEs, LispWorks
is available on the most platforms.

warmest regards,

Ralph


--
Raffael Cavallaro

Rob Warnock

unread,
Dec 14, 2010, 2:42:37 AM12/14/10
to
Pascal Costanza <p...@p-cos.net> wrote:
+---------------
| Pascal J. Bourguignon wrote:
| > A couple of months ago, I tried [LispWorks] and it didn't run

| > on my linux x86_64 system. Only a 32-bit executable that didn't
| > work there was available AFAIK.
|
| A 64bit Linux cannot execute 32bit applications? Wow...
| Or am I missing something?
+---------------

Nope. The 32-bit build of CMUCL runs just fine on
every 64-bit Linux I've tried it on.


-Rob

-----
Rob Warnock <rp...@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607

Rob Warnock

unread,
Dec 14, 2010, 2:48:10 AM12/14/10
to
Pascal J. Bourguignon <p...@informatimago.com> wrote:
+---------------

| Antony <spam+lisp...@gmail.com> writes:
| > A suggestion is to use whatever ide you can for now so that you get
| > comfortable with lisp first and then try emacs.
|
| Actually, while you are learning the language, you can use notepad and
| the REPL in a terminal. This doesn't prevent learning the language the
| least. Of course, typing (load "myfile.lisp") may grow old soon,
| (you'll learn to (defun l () (load "myfile.lisp')) and type (l) instead).
+---------------

And then you learn to (DEFINE-SYMBOL-MACRO L (LOAD "myfile.lisp")) and
type just L instead. ;-} ;-}

Rob Warnock

unread,
Dec 14, 2010, 3:00:24 AM12/14/10
to
Peter Keller <psi...@cs.wisc.edu> wrote:
+---------------

| Or, if you're a masochist who likes to type less with an occasionally
| difficult to debug out of left field problem:
| (define-symbol-macro l (load "myfile.lisp"))
+---------------

Actually, using DEFINE-SYMBOL-MACRO tends to result in *fewer*
weird problems, since it's lexically scoped, and therefore can
be reliably shadowed by lexical bindings.

Of course, if you're being really careful you'll use COMMON-LISP:LOAD
instead of bare LOAD in the above... ;-}

Nathan

unread,
Dec 14, 2010, 11:25:46 AM12/14/10
to
On Dec 13, 2:08 pm, Antony <spam+lisp_dot_li...@gmail.com> wrote:
> It just struck me that the real issue people have about using emacs for
> learning Lisp while knowing neither yet is precisely that.

If you were to take my opinion, I would say that is the biggest
oversight of the Lisp community. There are many books about how to
master Lisp, but where is the "gentle introduction to Lisp" for C/Java
programmers? Emacs might well be the best IDE imaginable (though I
rather doubt it) but it is not a good IDE to start on.

Learning Lisp is like climbing a fire escape; if you can make it past
the first floor you're golden. I think most Linux distributions suffer
from largely the same issue. That's why Ubuntu's popularity so quickly
surpassed distributions that already had historic strength; somebody
paid attention to details.

All too frequently, technical excellence is the last thing noticed.
Look at PHP. It's dead simple to learn which means it always has
plenty of new recruits. Despite it's shortcomings PHP consistently
fails to drive people away (possibly because those flaws are hidden
enough to only surface after people have significant vested
interests). Sizable presence is a natural bi-product of the previous
two conditions.

My favorite Macro is

(defmacro fx (&body lambda) `(lambda (x) ,lambda))

It makes simple things easier to read

Tim Bradshaw

unread,
Dec 14, 2010, 11:31:26 AM12/14/10
to
On 2010-12-14 16:25:46 +0000, Nathan said:

> Emacs might well be the best IDE imaginable (though I
> rather doubt it) but it is not a good IDE to start on.

I'm no longer a big fan of Emacs, but on the other hand I can see where
people are coming from. A lot of modern IDEs just make me feel ill
because they put *so much* in the way of just being able to type stuff
in.

>
> Learning Lisp is like climbing a fire escape; if you can make it past
> the first floor you're golden.

I think if learning enough Emacs to get by (is it really that hard?) is
too hard then you probably should not be learning Lisp.


Mark Wooding

unread,
Dec 14, 2010, 2:55:43 PM12/14/10
to
Nathan <nbee...@gmail.com> writes:

> My favorite Macro is
>
> (defmacro fx (&body lambda) `(lambda (x) ,lambda))

Ugh!

* Is there a reason (other than trying to be confusing) that the &BODY
argument is called LAMBDA?

* Should that be `,@' rather than `,'? If not, I'd argue that you
want &REST rather than &BODY here -- and that you've made matters
harder for everyone by having the first argument behave as if in
function position rather than value position.

-- [mdw]

Peter Keller

unread,
Dec 14, 2010, 3:31:09 PM12/14/10
to
Rob Warnock <rp...@rpw3.org> wrote:
> Peter Keller <psi...@cs.wisc.edu> wrote:
> +---------------
> | Or, if you're a masochist who likes to type less with an occasionally
> | difficult to debug out of left field problem:
> | (define-symbol-macro l (load "myfile.lisp"))
> +---------------
>
> Actually, using DEFINE-SYMBOL-MACRO tends to result in *fewer*
> weird problems, since it's lexically scoped, and therefore can
> be reliably shadowed by lexical bindings.
>
> Of course, if you're being really careful you'll use COMMON-LISP:LOAD
> instead of bare LOAD in the above... ;-}

Ooo! That's a good one. Thanks for pointing it out.

-pete

Rob Warnock

unread,
Dec 14, 2010, 11:24:36 PM12/14/10
to
Mark Wooding <m...@distorted.org.uk> wrote:
+---------------

| Nathan <nbee...@gmail.com> writes:
| > My favorite Macro is
| > (defmacro fx (&body lambda) `(lambda (x) ,lambda))
|
| Ugh!
...

| * Should that be `,@' rather than `,'? If not, I'd argue that you
| want &REST rather than &BODY here -- and that you've made matters
| harder for everyone by having the first argument behave as if in
| function position rather than value position.
+---------------

Nathan's macro threw me off for a second, too, until I realized that
it was designed specifically for LAMBDAs with a *single* argument that's
*always* named "X" [and thus *not* nestable!], unlike my own version
of that which is just an abbreviation for LAMBDA:

(defmacro fn (args &body body) `(lambda args ,@body))

So his use of &BODY is acceptable, since the single arg is implied.
But you are correct that he needs a ",@" instead of ",".

And capturing "X" is just... ugly. ;-}


-Rob

p.s. My real FN macro is actually a bit more complex, since I wanted
to allow a single unparenthesized symbol to stand for a &REST arg as
in Scheme's LAMBDA:

(defmacro fn (args &body body)
`(lambda ,(if (listp args) args (list '&rest args)) ,@body))

That is, (FN X ...) is the same as (FN (&REST X) ...).

Daniel Carrera

unread,
Dec 15, 2010, 3:52:17 AM12/15/10
to
Hi Nathan,

I just want to say thank you for starting this thread. Like you, I am
new at Lisp, and I put off by everyone telling me to learn Emacs and
SLIME at the same time I learn Lisp. I have no real interest in using
Emacs. I used to use it several years ago, and back them I knew most
of the basic commands, but now that's all long forgotten and I don't
think that learning Emacs will significantly improve my productivity
(maybe if I spent all day coding it might). What it would do is put a
barrier between me and learning Lisp, while I have a busy schedule
with little time available to learn Lisp on the side.

In brief, I am also interested in an editor (GUI or not) that will do
a few basic things like syntax highlighting, brace matching, and
indentation, without requiring me to take a tutorial or learn 10 new
commands. If the editor can later grow into something more advanced
that I can learn as time permits, all the better, but this isn't
really important to me.

Cheers,
Daniel.

Daniel Carrera

unread,
Dec 15, 2010, 4:02:06 AM12/15/10
to
> On 2010-12-13 15:08:47 -0500, Antony said:
> No question that keyboard-centric interfaces can be very powerful - but
> GUIs are clearly easier for many, maybe most, to cut their teeth on.
> The ideal combination for many newbies then is a GUI that lets one
> segue seamlessly into keyboard-centric power use.

I would agree. This is precisely what I'd like. I have a lot of work
and learning Lisp is a side project for me that I try to fit in my
spare time. I'd like a GUI editor that allows me to get moving now
without having to fight the editor at every turn. I'll consider
learning advanced features later, if I decide that Lisp is for me.

> - and no, having to configure a GUI emacs, configure slime, then
> type "meta-x slime" before you can see these menus does not count as
> starting out with a mouse and menus. A nub can then move on to
> emacs-like (or custom) keybindings just as with emacs and slime.

+1

Daniel.

Erik Winkels

unread,
Dec 15, 2010, 4:17:48 AM12/15/10
to
On 2010-12-15, Daniel Carrera <dcar...@gmail.com> wrote:
>
> I just want to say thank you for starting this thread. Like you, I am
> new at Lisp, and I put off by everyone telling me to learn Emacs and
> SLIME at the same time I learn Lisp.

That's a generalisation. Every topic on HN or Reddit about learning
Common Lisp I try to get a post in telling people that using
Emacs + Slime is not required. IMHO one should focus on learning CL
and not have the additional baggage of learning an editor as well.

I generally advise using CLISP + your favourite editor since CLISP
comes with command line history and is available on a lot of platforms.

That said, Emacs and Slime are definitely worth checking out later.


> In brief, I am also interested in an editor (GUI or not) that will do
> a few basic things like syntax highlighting, brace matching, and
> indentation, without requiring me to take a tutorial or learn 10 new
> commands. If the editor can later grow into something more advanced
> that I can learn as time permits, all the better, but this isn't
> really important to me.

This is somewhat contradictory to my previous paragraphs but you're
basically describing Emacs here.

Tim Bradshaw

unread,
Dec 15, 2010, 4:42:40 AM12/15/10
to
On 2010-12-15 08:52:17 +0000, Daniel Carrera said:

> In brief, I am also interested in an editor (GUI or not) that will do
> a few basic things like syntax highlighting, brace matching, and
> indentation, without requiring me to take a tutorial or learn 10 new
> commands. If the editor can later grow into something more advanced
> that I can learn as time permits, all the better, but this isn't
> really important to me.

of the environments I'm familiar with, the best match for this would be
LispWorks. The editor is Emacs-related (I think it may be a distant
derivative) but it has a mode (which may be on by default) which uses
whatever the platform-native bindings are. The Allegro environent may
very well be just as good or better, but I am not familiar with it.
Both I believe have mildly restricted free versions.

Clozure also comes with an editor: I use it but I'm not sure how
hostile it would seem to non-Emacs people.

Of course this point is where it turns out that one of the conditions
is that it not only needs to be free but slightly restricted free
versions of commercial products are not acceptable either: there's
always some impediment, I find. I very much doubt the people who are
donating their time to the open source Lisps and who are generally
emacs users are going to spend a bunch of time creating an editor that
they won't actually use.

Tim Bradshaw

unread,
Dec 15, 2010, 4:48:46 AM12/15/10
to
On 2010-12-15 09:42:40 +0000, Tim Bradshaw said:

> (I think it may be a distant derivative)

s/distant/distant Hemlock/

sorry

Daniel Carrera

unread,
Dec 15, 2010, 5:57:32 AM12/15/10
to
On Dec 14, 5:25 pm, Nathan <nbeen...@gmail.com> wrote:
> If you were to take my opinion, I would say that is the biggest
> oversight of the Lisp community. There are many books about how to
> master Lisp, but where is the "gentle introduction to Lisp" for C/Java
> programmers? Emacs might well be the best IDE imaginable (though I
> rather doubt it) but it is not a good IDE to start on.

I don't feel this way, but then, I have experience with many more
languages than just C and Java. There are Lisp resources that are
quite gentle. For example:

http://www.cs.cmu.edu/~dst/LispBook/index.html

This introduction is *EXTREMELY* gentle. I found it frustratingly
slow. I am reading through Practical Common Lisp, which is less
gentle, and I wish it moved faster.

http://www.gigamonkeys.com/book/


So, for me, I actually would like an introduction for people who
already know several programming languages and can handle a faster
pace. The reason I originally posted to this thread is that I agree
with you about Emacs. I'd like to use a regular editor for Lisp
without giving up features like syntax highlighting, bracket matching
and proper indentation.

> All too frequently, technical excellence is the last thing noticed.
> Look at PHP. It's dead simple to learn which means it always has
> plenty of new recruits. Despite it's shortcomings PHP consistently
> fails to drive people away (possibly because those flaws are hidden
> enough to only surface after people have significant vested
> interests). Sizable presence is a natural bi-product of the previous
> two conditions.

I used PHP for several years for work. I hate the language. I don't
think that the flaws are particularly hidden. The fact that there are
umpteen different functions that differ only slightly instead of a
smaller number of *flexible* options is something you encounter early
on. As a language, I think PHP sucks. From my point of view, the only
thing it has going for it is that it's good for making page templates.

Daniel.

Daniel Carrera

unread,
Dec 15, 2010, 6:06:04 AM12/15/10
to
On Dec 14, 5:31 pm, Tim Bradshaw <t...@tfeb.org> wrote:
> > Emacs might well be the best IDE imaginable (though I
> > rather doubt it) but it is not a good IDE to start on.
>
> I'm no longer a big fan of Emacs, but on the other hand I can see where
> people are coming from.  A lot of modern IDEs just make me feel ill
> because they put *so much* in the way of just being able to type stuff
> in.

I agree with that as well. I hate Eclipse, and Netbeans is not great
either. Lately I've been using Geany most because it is fairly light
weight and it supports a good number of languages. I don't love Geany,
I just hate it less than every other editor :-) Sadly, Geany doesn't
support Lisp :-(


> > Learning Lisp is like climbing a fire escape; if you can make it past
> > the first floor you're golden.
>
> I think if learning enough Emacs to get by (is it really that hard?) is
> too hard then you probably should not be learning Lisp.

I cannot speak for Nathan, but I would not label it "too hard" in the
sense that I cannot do it. I used to know Emacs, so obviously I can.
But I feel like I shouldn't have to re-learn Emacs just so I can use
Lisp. Most applications have standardized on certain shortcuts: Ctrl
+S, Ctrl+N, Ctrl+X, Ctrl+C, Ctrl+V, and some standard behaviour (e.g.
highlight text, hit backspace and the text is deleted). I hate it when
a text editor deviates from that because then I have to use different
shortcuts in different applications. Incidentally, this is also a
reason why I hate MATLAB's editor. I don't know how it is on Windows
or Mac, but on Linux it has non-standard short-cuts like Alt+W to copy
and Ctrl+W to cut and Ctrl+Y to paste. Ugh!

Daniel.

Daniel Carrera

unread,
Dec 15, 2010, 6:16:57 AM12/15/10
to
Hi Eric,

On Dec 15, 10:17 am, Erik Winkels <aeri...@xs4all.nl> wrote:
> I generally advise using CLISP + your favourite editor since CLISP
> comes with command line history and is available on a lot of platforms.

Is CLISP good? I read that it works by converting Lisp to C and the
compiling that, so I more or less ignored it and installed SBCL
instead. But I don't like the SBCL interactive shell because, at least
on my system, I don't get a command history.

> > In brief, I am also interested in an editor (GUI or not) that will do
> > a few basic things like syntax highlighting, brace matching, and
> > indentation, without requiring me to take a tutorial or learn 10 new
> > commands. If the editor can later grow into something more advanced
> > that I can learn as time permits, all the better, but this isn't
> > really important to me.
>
> This is somewhat contradictory to my previous paragraphs but you're
> basically describing Emacs here.

If there was a way to make Emacs use the standard short-cuts that
other applications use, I'd be happy with Emacs. Maybe there is a mode
for that... I don't know.

Daniel.

Zach Beane

unread,
Dec 15, 2010, 6:36:22 AM12/15/10
to
Daniel Carrera <dcar...@gmail.com> writes:

> But I don't like the SBCL interactive shell because, at least on my
> system, I don't get a command history.

That used to bug me a bit, too, but since I started using Quicklisp I
just do this:

(ql:quickload "linedit")
(linedit:install-repl)

It makes the SBCL REPL more readline-like and is pretty handy.

Zach

Nicolas Edel

unread,
Dec 15, 2010, 6:41:42 AM12/15/10
to
On Dec 15, 12:16 pm, Daniel Carrera <dcarr...@gmail.com> wrote:
> Hi Eric,
>
> On Dec 15, 10:17 am, Erik Winkels <aeri...@xs4all.nl> wrote:
>
> > I generally advise using CLISP + your favourite editor since CLISP
> > comes with command line history and is available on a lot of platforms.
>
> Is CLISP good? I read that it works by converting Lisp to C and the
> compiling that, so I more or less ignored it and installed SBCL
> instead. But I don't like the SBCL interactive shell because, at least
> on my system, I don't get a command history.

And they are right no to do it since other tools may do it
perfectly ;)
On any Linux box, my advice is to use rlwrap. It uses good old GNU
readline (stands for ReadLine WRAPper) and deals with input history
accross time and sessions. You should give it a try.

> rlwrap sbcl
[...]

Note rlwrap:
- is useable with any program that read its input from standard input
- handle history using ~/.<program-name> file as classical shells do
- handle classical emacs keyboard shortcuts (C-a, C-e, M-e, etc.)

For more info, `man rlwrap' ...

:Nicolas

Tamas K Papp

unread,
Dec 15, 2010, 6:44:40 AM12/15/10
to
On Wed, 15 Dec 2010 03:16:57 -0800, Daniel Carrera wrote:

> Hi Eric,
>
> On Dec 15, 10:17 am, Erik Winkels <aeri...@xs4all.nl> wrote:
>> I generally advise using CLISP + your favourite editor since CLISP
>> comes with command line history and is available on a lot of platforms.
>
> Is CLISP good? I read that it works by converting Lisp to C and the
> compiling that, so I more or less ignored it and installed SBCL instead.
> But I don't like the SBCL interactive shell because, at least on my
> system, I don't get a command history.

You can use rlwrap or something similar, but there is very little
point in doing it. You should learn to use SLIME.

BTW, CLISP is fine. AFAIK it doesn't compile to C. But even if it
did, why would you care what it does under the hood? Any ANSI CL
compliant implementation is just fine for learning the language.

> If there was a way to make Emacs use the standard short-cuts that other
> applications use, I'd be happy with Emacs. Maybe there is a mode for
> that... I don't know.

If course there is, you can remap every single keybinding in Emacs.
Google for Emacs keybindings, or Emacs FAQ (BTW, you could have found
this easily yourself with about 10s of googling).

OTOH, if I were you I would either just get a commercial CL
implementation with an IDE (maybe a free trial version), or learn to
use Emacs as it is. If you take the latter path, it takes at most 2-3
hours to work through the tutorial and learn basic SLIME commands.

I don't really understand what your problem is, but I see very little
point in whining about Emacs. It is free, some people find it useful,
and it has a large user community. You can take Emacs or leave it,
but complaining about it is pretty pointless.

Best,

Tamas

Erik Winkels

unread,
Dec 15, 2010, 6:51:31 AM12/15/10
to
On 2010-12-15, Daniel Carrera <dcar...@gmail.com> wrote:
> On Dec 15, 10:17 am, Erik Winkels <aeri...@xs4all.nl> wrote:
>> I generally advise using CLISP + your favourite editor since CLISP
>> comes with command line history and is available on a lot of platforms.
>
> Is CLISP good? I read that it works by converting Lisp to C and the
> compiling that, so I more or less ignored it and installed SBCL
> instead. But I don't like the SBCL interactive shell because, at least
> on my system, I don't get a command history.

Linedit will give you a command history (and tab completion which
'rlwrap' will not give you).

> If there was a way to make Emacs use the standard short-cuts that
> other applications use, I'd be happy with Emacs. Maybe there is a mode
> for that... I don't know.

I can't imagine using Emacs and not changing the default keybindings to
something you're used to. The default chords are just too painful :-)

These commands should be in your standard Emacs vocabulary:

M-x apropos
M-x global-set-key

I have an Emacs config that I made for a friend of mine that mimics
standard Windows keybindings. It's unfinished and not ideal but I
never heard him complain (he only had to use Emacs for a short while
and is a graphic designer). Shall I mail it to you?

Tim Bradshaw

unread,
Dec 15, 2010, 7:02:12 AM12/15/10
to
On 2010-12-15 11:44:40 +0000, Tamas K Papp said:

> OTOH, if I were you I would either just get a commercial CL
> implementation with an IDE (maybe a free trial version), or learn to
> use Emacs as it is. If you take the latter path, it takes at most 2-3
> hours to work through the tutorial and learn basic SLIME commands.

I think this summarises the situation quite well. People complaining
about this stuff are unwilling to spend 2 or 3 hours learning a tool.
That probably means they are unwilling to learn at all, because there's
not much you can usefully learn in 2 or 3 hours.

Pascal J. Bourguignon

unread,
Dec 15, 2010, 7:14:07 AM12/15/10
to
Daniel Carrera <dcar...@gmail.com> writes:

> Hi Nathan,
>
> I just want to say thank you for starting this thread. Like you, I am
> new at Lisp, and I put off by everyone telling me to learn Emacs and
> SLIME at the same time I learn Lisp. I have no real interest in using
> Emacs. I used to use it several years ago, and back them I knew most
> of the basic commands, but now that's all long forgotten and I don't
> think that learning Emacs will significantly improve my productivity
> (maybe if I spent all day coding it might). What it would do is put a
> barrier between me and learning Lisp, while I have a busy schedule
> with little time available to learn Lisp on the side.
>
> In brief, I am also interested in an editor (GUI or not) that will do
> a few basic things like syntax highlighting, brace matching, and
> indentation, without requiring me to take a tutorial or learn 10 new
> commands. If the editor can later grow into something more advanced
> that I can learn as time permits, all the better, but this isn't
> really important to me.

On news:news.answers a FAQ gives a list of emacsen:
Message-ID: <4d07e2c8$0$6704$8046...@newsreader.iphouse.net>

there are 67 free editors that you could try out. Some of them are just
specialized GNU emacs implementations that you can skip. Most others
are quite smaller and simplier than GNU emacs. So, try them out for
newbie lisp programming, and write up a report (publish it here and on
http://cliki.net). You'll be famous!

Nicolas Neuss

unread,
Dec 15, 2010, 7:15:02 AM12/15/10
to
Daniel Carrera <dcar...@gmail.com> writes:

> If there was a way to make Emacs use the standard short-cuts that
> other applications use, I'd be happy with Emacs. Maybe there is a mode
> for that... I don't know.

IINM, this is called cua-mode.

Nicolas

Pascal J. Bourguignon

unread,
Dec 15, 2010, 7:16:58 AM12/15/10
to
Nicolas Edel <nicola...@gmail.com> writes:
> Note rlwrap:

> - handle classical emacs keyboard shortcuts (C-a, C-e, M-e, etc.)

Aw. Couldn't we have rather a version of rlwrap using the standard
MS-Windows shortcut? I wanted to avoid learning emacs...

Nicolas Edel

unread,
Dec 15, 2010, 7:44:05 AM12/15/10
to
On Dec 15, 1:16 pm, "Pascal J. Bourguignon" <p...@informatimago.com>
wrote:

Appart from C-c C-v, what are the usual MS-Windows shortcut ? I didn't
even realize there were some ... Just note you may `set editing-mode
vi' in readline conf (hence the `man rlwrap') ^^


:Nicolas

Pascal J. Bourguignon

unread,
Dec 15, 2010, 8:19:51 AM12/15/10
to
Nicolas Edel <nicola...@gmail.com> writes:

> On Dec 15, 1:16 pm, "Pascal J. Bourguignon" <p...@informatimago.com>
> wrote:
>> Nicolas Edel <nicolas.e...@gmail.com> writes:
>> > Note rlwrap:
>> > - handle classical emacs keyboard shortcuts (C-a, C-e, M-e, etc.)
>>
>> Aw.  Couldn't we have rather a version of rlwrap using the standard
>> MS-Windows shortcut?  I wanted to avoid learning emacs...
>>
>> --
>> __Pascal Bourguignon__                    http://www.informatimago.com/
>> A bad day in () is better than a good day in {}.
>
> Appart from C-c C-v, what are the usual MS-Windows shortcut ?

I don't know actually. I would assume they're described in the user
interface style guides of MS-Windows. People usually refer to CUA.
Well, this is a mess!

http://en.wikipedia.org/wiki/Common_User_Access
http://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts

(Note, I started to add a column for emacs, but a few tables remain to
be updated).

> I didn't
> even realize there were some ... Just note you may `set editing-mode
> vi' in readline conf (hence the `man rlwrap') ^^

Petter Gustad

unread,
Dec 15, 2010, 9:06:02 AM12/15/10
to
Daniel Carrera <dcar...@gmail.com> writes:

> Lisp. Most applications have standardized on certain shortcuts: Ctrl
> +S, Ctrl+N, Ctrl+X, Ctrl+C, Ctrl+V, and some standard behaviour (e.g.

When they came along they broke the current standard used by Emacs :-)

The first time I used the C-x,C-c,C-v, shortcuts was on my Mac in
1984. I believe the Lisa also used the same shortcuts. Various Emacs
implementations existed from the 70's. Hence, the Emacs shortcuts
precede the CUA shortcuts.

The Emacs shortcuts were adopted by many other UNIX software packages
like FrameMaker etc. in the 80's.

> reason why I hate MATLAB's editor. I don't know how it is on Windows
> or Mac, but on Linux it has non-standard short-cuts like Alt+W to copy
> and Ctrl+W to cut and Ctrl+Y to paste. Ugh!

I remember how I hated FrameMaker on Windows. On UNIX I could scroll
with C-v, go to the beginning of line with C-a, end of the line with
C-e, etc. When it was ported to Windows it had all non-standard
shortcuts. Ugh!

The designers of Emacs and FrameMaker were faced with either keep
their established shortcuts or go with the new trend in shortcuts.
Emacs kept them in order to keep current users happy. Adobe decided to
keep the new Windows users happy.

I would be very upset if the Emacs shortcuts would suddenly change.

Petter
--
.sig removed by request.

Nathan

unread,
Dec 15, 2010, 9:22:03 AM12/15/10
to
One could argue that having the argument called "lambda" is confusing,
but that's sort of the point of lisp2. In this case, it's the body of
a lambda that I'm passing in. I don't see how that's terribly
confusing.

I read that the difference between &body and &rest was mainly a tip to
editors for indentation purposes. In this case, since it's a block and
not merely a function with a variable number of arguments I believe
&body is the correct form to use.

No, I don't want to use ,@ as that would require more parenthesis and
virtually eliminate the purpose of the macro altogether. I wrote that
as a simpler form to embed in remove-if's, map's etc. Lambda still
exists for the complex cases, but fx is simple and concise when power
is not needed.

(lambda (x) (+ x (random 10)))
(fx + x (random 10))

Nathan

unread,
Dec 15, 2010, 9:24:28 AM12/15/10
to
I appreciate that ;-)

Simplicity is the ultimate sophistication.
~Leonardo da Vinci

Espen Vestre

unread,
Dec 15, 2010, 9:29:11 AM12/15/10
to
Petter Gustad <newsma...@gustad.com> writes:

>> Lisp. Most applications have standardized on certain shortcuts: Ctrl
>> +S, Ctrl+N, Ctrl+X, Ctrl+C, Ctrl+V, and some standard behaviour (e.g.
>
> When they came along they broke the current standard used by Emacs :-)

:-)

I think Apple introduced these before they were adapted by Windows and
by Unix windowing environments. If only MS had used them consistently,
but they don't, and their worst sin is that they use different shortcuts
in different language versions.

Speaking of Apple: One of the things I like about using a mac, is that
the basic Emacs control key combos were inherited the day NextStep was
reborn in disguise as Mac OS X. So in Cocoa applications, your Emacs
spine doesn't create havoc as long as you remember that the simple emacs
control combos (^A, ^K, ^W, ^T and other good old friends) are used with
the control key, while the Apple key combos should be used with the
command key.

(Sometimes my wife wants me to proof read something she's written in
Word on the mac. I often beg her to use Pages instead, because every
time I use Word (which, at least not her version, is not a Cocoa
program) I feel like a complete retard because it doesn't respond to my
^A, ^E, ^N etc.)
--
(espen)

Pascal J. Bourguignon

unread,
Dec 15, 2010, 10:06:44 AM12/15/10
to
Petter Gustad <newsma...@gustad.com> writes:

> Daniel Carrera <dcar...@gmail.com> writes:
>
>> Lisp. Most applications have standardized on certain shortcuts: Ctrl
>> +S, Ctrl+N, Ctrl+X, Ctrl+C, Ctrl+V, and some standard behaviour (e.g.
>
> When they came along they broke the current standard used by Emacs :-)
>
> The first time I used the C-x,C-c,C-v, shortcuts was on my Mac in
> 1984. I believe the Lisa also used the same shortcuts. Various Emacs
> implementations existed from the 70's. Hence, the Emacs shortcuts
> precede the CUA shortcuts.

While it might seem to be pedantic, it is not C-x C-c and C-v that the
Mac popularised, but Command-x, Command-c and Command-v (Command being
first labelled with the Apple logo, then with the 'cloverleaf', and took
its name 'Command' from NeXTstep.

It is the Microsoft Windows key that took its origin from it, and it is
the equivalent to the Meta key, not the Control key.


On the other hand, a lot of GUI started to use indeed Control instead of
Meta, or Command, because they merely lacked these keys, and Microsoft
hadn't copied it into a MS-Windows key yet.

> The Emacs shortcuts were adopted by many other UNIX software packages
> like FrameMaker etc. in the 80's.

> [...]


> The designers of Emacs and FrameMaker were faced with either keep
> their established shortcuts or go with the new trend in shortcuts.
> Emacs kept them in order to keep current users happy. Adobe decided to
> keep the new Windows users happy.
>
> I would be very upset if the Emacs shortcuts would suddenly change.

It is worth mentionning the origins of Command-z, Command-x, Command-c,
and Command-v too. These keys were choosen as a "Huffman coding"
optimization, because they're close to the Command key, zxcv being the
characters on the lower left row of QWERTY keyboards, and with the Mac
user interface, the commands, undo, cut, copy and paste were the base of
the enslavement of the 'users' to their new tool, a fundamental feature
of the GUI popularised by Mac, and MS-Windows.

Indeed, instead of having the computer do the work, the philosophy
behind the GUI and these commands, is to have the user do the work, the
computer being only a dead "tool". There is no "do" command, only an
"undo", because the user cannot instruct the computer to do anything,
only he can work himself, and if he makes an error, he can instruct the
computer to "undo" his errors. But nevermind.


In emacs, the same reason leads to the bindings of M-z, M-x, M-c, M-v
and C-z, C-x, C-c, C-v to the most often used commands: zap-to-char,
executed-extended-command, capitalize-word, scroll-down and
suspend-frame, the emacs command prefix, the user command prefix, and
scroll-up.

Again, since you can program emacs to do your editing tasks for you, it
would be silly to bind low level commands such as cut, copy or paste to
these fast keys. The cutting, copying and pasting in emacs is done by
the commands you write to automatize your editing, you don't do them
yourself!

Paul Donnelly

unread,
Dec 15, 2010, 2:18:34 PM12/15/10
to
Daniel Carrera <dcar...@gmail.com> writes:

> Incidentally, this is also a reason why I hate MATLAB's editor. I
> don't know how it is on Windows or Mac, but on Linux it has
> non-standard short-cuts like Alt+W to copy and Ctrl+W to cut and
> Ctrl+Y to paste. Ugh!

In other words: standard Emacs shortcuts. ;) I feel your pain in general
(try hitting ^w (Emacs cut) in a web browser, or ^p (Emacs up a line)),
but you shouldn't let it stop you from learning a good tool. Emacs has a
really shallow learning curve these days, with all the irritating GUI
stuff it has enabled by default. Enable CUA mode if you must (which is
in the Options menu on the menu bar) and you can probably get away with
learning no new keys, if you don't mind leaning on the menu bar a bit.

Raffael Cavallaro

unread,
Dec 15, 2010, 3:21:15 PM12/15/10
to
On 2010-12-15 10:06:44 -0500, Pascal J. Bourguignon said:

> (Command being
> first labelled with the Apple logo, then with the 'cloverleaf', and took
> its name 'Command' from NeXTstep.

This is mistaken in several ways. The Mac predates NeXTstep by 5 years,
and NeXT computer itself by a year (after all, Jobs founded it in
reaction to being removed from the Apple board a year after the Mac
release). The key combinations on the Mac were commonly called
"command-v," "command-x," etc., from the very first 128k mac, so before
NeXT existed.

They were *not* called "apple-v," etc., since the Apple logo did *not*
appear on the command key on the original mac (although the Apple logo
had been on Apple III and other Apple keyboards since 1980). Jobs
thought it would be overusing the Apple logo to have it appear in
numerous menu items as part of each keyboard shortcut. Instead,
designers were instructed to pick another glyph and the Saint John's
Arms (a.k.a. "cloverleaf") was chosen. When people spoke of these key
combinations, they said "command-v," etc. not "cloverleaf-v," and
certainly not "Apple-v" since there was no apple logo on the original
Macintosh command key.

warmest regards,

Ralph

--
Raffael Cavallaro

Pascal J. Bourguignon

unread,
Dec 15, 2010, 3:51:39 PM12/15/10
to
Raffael Cavallaro <raffaelc...@pas.despam.s.il.vous.plait.mac.com>
writes:

> On 2010-12-15 10:06:44 -0500, Pascal J. Bourguignon said:
>
>> (Command being
>> first labelled with the Apple logo, then with the 'cloverleaf', and took
>> its name 'Command' from NeXTstep.
>
> This is mistaken in several ways. The Mac predates NeXTstep by 5
> years, and NeXT computer itself by a year (after all, Jobs founded it
> in reaction to being removed from the Apple board a year after the Mac
> release). The key combinations on the Mac were commonly called
> "command-v," "command-x," etc., from the very first 128k mac, so
> before NeXT existed.

They were spoken "command", but they were labelled with the Apple logo
and/or the cloverleaf (depending on the progression from Lisa to Mac).

NeXT Computer Inc. was the first company to produce NeXTkeyboards
with keys labelled "Cmd" for "Command-", AFAIK. In any case, they did
it before Apple Computer Inc, and Apple started to name they key
"Command-" only after having be bought by NeXT Computer Inc.
(Or perhaps it was the reverse, historicians are not sure ;-) ).


> They were *not* called "apple-v," etc., since the Apple logo did *not*
> appear on the command key on the original mac (although the Apple logo
> had been on Apple III and other Apple keyboards since 1980).

It was called the "Apple key", when it was serigraphied by the Apple
logo on the Lisa keyboard. See folklore.org link below. The first Mac
keyboards only had the cloverleaf symbol. Since I had exposure from the
Lisa before getting my Macintosh on June 25th 1984, I certainly called
it the Apple key at first. And from Mac SE and Mac II, keyboards were
marked with both symbols.

http://en.wikipedia.org/wiki/Command_key


In France, the key was definitely called 'Pomme-', but it might have
been after Apple added back the Apple logo on the key. Before, IIRC,
users just called it schmilblic or smurf or thingymally or something
like that.


> Jobs thought it would be overusing the Apple logo to have it appear in
> numerous menu items as part of each keyboard shortcut. Instead,
> designers were instructed to pick another glyph and the Saint John's
> Arms (a.k.a. "cloverleaf") was chosen.

Indeed, this is documented eg. by Andy Hertzfeld:

http://www.folklore.org/StoryView.py?project=Macintosh&story=Swedish_Campground.txt&sortOrder=Sort%20by%20Date&detail=medium&search=command


> When people spoke of these key combinations, they said "command-v,"
> etc. not "cloverleaf-v," and certainly not "Apple-v" since there was
> no apple logo on the original Macintosh command key.

Actually, the Apple logo came back quite early, from the Mac SE and
Macintosh II.
http://www.old-computers.com/museum/computer.asp?c=161&st=1

So that was only the Macintosh, Macintosh 512 and Macintosh Plus that
the Apple logo was missing.

Thomas A. Russ

unread,
Dec 15, 2010, 3:15:22 PM12/15/10
to
Petter Gustad <newsma...@gustad.com> writes:

> I would be very upset if the Emacs shortcuts would suddenly change.

That's why I like the approach on the Mac.

I get all the standard Control keys for Emacs.
And I also get the Command-C, Command-V, etc. CUA keys from the Mac
interface. It was nice of the Mac to introduce a separate modifier
key that was different from Control.

(Of course in the old days the Mac keyboards didn't have a control key
at all, but that changed years ago.)

--
Thomas A. Russ, USC/Information Sciences Institute

Thomas A. Russ

unread,
Dec 15, 2010, 3:08:12 PM12/15/10
to
Daniel Carrera <dcar...@gmail.com> writes:

> I would agree. This is precisely what I'd like. I have a lot of work
> and learning Lisp is a side project for me that I try to fit in my
> spare time. I'd like a GUI editor that allows me to get moving now
> without having to fight the editor at every turn. I'll consider
> learning advanced features later, if I decide that Lisp is for me.

So I think the consensus is to get LispWorks Personal Edition.

Thomas A. Russ

unread,
Dec 15, 2010, 3:24:49 PM12/15/10
to
Nathan <nbee...@gmail.com> writes:

> No, I don't want to use ,@ as that would require more parenthesis and
> virtually eliminate the purpose of the macro altogether. I wrote that
> as a simpler form to embed in remove-if's, map's etc. Lambda still
> exists for the complex cases, but fx is simple and concise when power
> is not needed.
>
> (lambda (x) (+ x (random 10)))
> (fx + x (random 10))

Well, this is fine as long as you are content to limit yourself to
single forms in the body. So anything where you plan to have side
effects becomes a lot more difficult to write, since you have to
remember to add the additional forms. For example:

(fx progn (print x) (+ x (random 10)))

where you have to remember to add the PROGN in the front. But I suppose
this is worth saving the extra parentheses. Or else the addition of a
new FXN macro....

Thomas A. Russ

unread,
Dec 15, 2010, 3:20:43 PM12/15/10
to
"Pascal J. Bourguignon" <p...@informatimago.com> writes:

> It is worth mentionning the origins of Command-z, Command-x, Command-c,
> and Command-v too. These keys were choosen as a "Huffman coding"
> optimization, because they're close to the Command key, zxcv being the

> characters on the lower left row of QWERTY keyboards...


> In emacs, the same reason leads to the bindings of M-z, M-x, M-c, M-v
> and C-z, C-x, C-c, C-v to the most often used commands: zap-to-char,
> executed-extended-command, capitalize-word, scroll-down and
> suspend-frame, the emacs command prefix, the user command prefix, and
> scroll-up.

I'm not so sure about that.

IIRC the early keyboards had the Control key in the same row as "asdf"
(where the caps lock key is usually found now), so it would not be quite
as convenient. And there was not real meta key. Instead, one used the
escape key in the upper right as the meta prefix key.

This was certainly true of the vt52 terminals we used on the DEC
computers at MIT with the early teco-based Emacs editors.

Daniel Carrera

unread,
Dec 15, 2010, 4:24:09 PM12/15/10
to
On Dec 15, 12:44 pm, Tamas K Papp <tkp...@gmail.com> wrote:
> On Wed, 15 Dec 2010 03:16:57 -0800, Daniel Carrera wrote:
> BTW, CLISP is fine.  AFAIK it doesn't compile to C.  But even if it
> did, why would you care what it does under the hood?  Any ANSI CL
> compliant implementation is just fine for learning the language.

Because if it works as I suggested you would not expect it to have a
REPL interactive shell.

> BTW, you could have found this easily yourself with about 10s of googling

...


> I don't really understand what your problem is, but I see very little
> point in whining about Emacs.  It is free, some people find it useful,
> and it has a large user community.  You can take Emacs or leave it,
> but complaining about it is pretty pointless.

And I really don't understand why you feel compelled to keep pushing
Emacs to and SLIME to someone who already explained at length that
they are not interested. I didn't ask you or anyone else to change
Emacs. I believe I am allowed to state what I would like to see in an
editor, since that is the only way someone here can offer a
suggestion. Asking what I'd like in an editor inevitably overlaps with
why Emacs is not my ideal choice. I kindly ask you to respect my
preference and not say things like "I don't know what your problem is"
which I think is needlessly hostile considering that all I have done
is ask about editors in a public forum. I don't understand why it
bothers you that I don't like Emacs (judging from the tone of your
response). Emacs is just a tool. Some people like it and others do
not. That's it.


Daniel Carrera

unread,
Dec 15, 2010, 4:27:09 PM12/15/10
to
Hi Nicolas,

On Dec 15, 12:41 pm, Nicolas Edel <nicolas.e...@gmail.com> wrote:
> On any Linux box, my advice is to use rlwrap. It uses good old GNU
> readline (stands for ReadLine WRAPper) and deals with input history
> accross time and sessions. You should give it a try.

Thank you. I didn't know about rlwrap. I just installed it. Indeed, it
makes sbcl much better.

Daniel.

Zach Beane

unread,
Dec 15, 2010, 4:28:19 PM12/15/10
to
Daniel Carrera <dcar...@gmail.com> writes:

> On Dec 15, 12:44 pm, Tamas K Papp <tkp...@gmail.com> wrote:
>> On Wed, 15 Dec 2010 03:16:57 -0800, Daniel Carrera wrote:
>> BTW, CLISP is fine.  AFAIK it doesn't compile to C.  But even if it
>> did, why would you care what it does under the hood?  Any ANSI CL
>> compliant implementation is just fine for learning the language.
>
> Because if it works as I suggested you would not expect it to have a
> REPL interactive shell.

That's an incorrect negative expectation to have. ECL manages just fine.

Zach

Daniel Carrera

unread,
Dec 15, 2010, 4:35:37 PM12/15/10
to
On Dec 15, 12:51 pm, Erik Winkels <aeri...@xs4all.nl> wrote:
> Linedit will give you a command history (and tab completion which
> 'rlwrap' will not give you).

Thanks. Linedit doesn't seem to come with Ubuntu, but I found their
website and I'll install it later.


> I can't imagine using Emacs and not changing the default keybindings to
> something you're used to.  The default chords are just too painful :-)
>
> These commands should be in your standard Emacs vocabulary:
>
>     M-x apropos
>     M-x global-set-key
>
> I have an Emacs config that I made for a friend of mine that mimics
> standard Windows keybindings.  It's unfinished and not ideal but I
> never heard him complain (he only had to use Emacs for a short while
> and is a graphic designer).  Shall I mail it to you?


Yes, please. Thanks. Does the mail reader show my email? It's
dcar...@gmail.com. That config file will give me a good place to
start, and then it'll be easy to teak the bindings later as needed.

Thanks again.

Daniel.

Daniel Carrera

unread,
Dec 15, 2010, 4:45:09 PM12/15/10
to
On Dec 15, 1:44 pm, Nicolas Edel <nicolas.e...@gmail.com> wrote:
> Appart from C-c C-v, what are the usual MS-Windows shortcut ? I didn't
> even realize there were some ... Just note you may `set editing-mode
> vi' in readline conf (hence the `man rlwrap') ^^

For clarity, I should emphasize that I am not using Windows and I got
the impression that Nathan is not either. I don't know, or care, what
the standard Windows shortcuts are. But in general, every application
on my GNU/Linux box agrees on some basic behaviour:

* C-x, C-c, C-v for cut, copy, paste.
* If you highlight text and hit backspace, that deletes.

This is the behaviour of most text editors I've used, all web browsers
and the LaTeX editor that I use every day. The main exceptions are
MATLAB, Pico, Emacs and Vim.

I believe that Windows has the same things, but IIRC so does Mac, so I
wouldn't say that these are the "Windows" shortcuts.


Tamas K Papp

unread,
Dec 15, 2010, 5:06:39 PM12/15/10
to
On Wed, 15 Dec 2010 13:24:09 -0800, Daniel Carrera wrote:

>> I don't really understand what your problem is, but I see very little
>> point in whining about Emacs.  It is free, some people find it useful,
>> and it has a large user community.  You can take Emacs or leave it, but
>> complaining about it is pretty pointless.
>
> And I really don't understand why you feel compelled to keep pushing
> Emacs to and SLIME to someone who already explained at length that they
> are not interested. I didn't ask you or anyone else to change Emacs. I
> believe I am allowed to state what I would like to see in an editor,
> since that is the only way someone here can offer a suggestion. Asking
> what I'd like in an editor inevitably overlaps with why Emacs is not my
> ideal choice. I kindly ask you to respect my preference and not say
> things like "I don't know what your problem is" which I think is
> needlessly hostile considering that all I have done is ask about editors
> in a public forum. I don't understand why it bothers you that I don't
> like Emacs (judging from the tone of your response). Emacs is just a
> tool. Some people like it and others do not. That's it.

I am not pushing anything. In fact, if you reread my e-mail, you will
notice that I also suggested that you look at commercial
implementations.

It doesn't bother me at all if you keep complaining about Emacs, I
just don't see the point of doing it. You have already received
several suggestions, so you could just get back to learning Lisp.

Please don't take this personally, but I don't understand why some
newcomers to CL make such a big deal about choosing an IDE. There are
only a few choices, and if you don't have a strong preference either
one then you can just grab one of them and start coding, and if you
don't like it, experiment with the alternatives later on. Anyway,
that's how I would do things, YMMV.

Best,

Tamas

Pascal J. Bourguignon

unread,
Dec 15, 2010, 5:42:35 PM12/15/10
to

It's a question of chronology, but I have the impression the Knight
keyboard is older than vt52. Perhaps I'm wrong.

Nathan

unread,
Dec 15, 2010, 7:10:40 PM12/15/10
to
You know what, give Eclipse a try at editing Java. One week and you
will wish you knew one of the two. Two weeks, and you will say eclipse
is vastly superior to emacs. The refactoring capabilities alone are
fantastic.

Now it is true that Java the language is dramatically inferior to Lisp
in many ways, but from what I've seen, Eclipse is dramatically
superior to Emacs. Perhaps it's a form of compensation for the
shortcomings of the language, call it what you want.

Now, to summarize the advice I've received so far:
1. learning Emacs is a prerequisite to learning Lisp (quit wining it's
not difficult unless you're retarded, and we suspect you are)
2. If you don't like emacs, use notepad (I take this as a polite "go
screw yourself")
3. I think emacs is crap also, buy AllegroCL (the first viable
alternative offered)
4. try Lispworks

I'm probably forgetting somebody, my apologies

Mark Wooding

unread,
Dec 15, 2010, 8:20:07 PM12/15/10
to
Nathan <nbee...@gmail.com> writes:

> One could argue that having the argument called "lambda" is confusing,
> but that's sort of the point of lisp2. In this case, it's the body of
> a lambda that I'm passing in. I don't see how that's terribly
> confusing.

The main thing is that it's not a lambda at all, but the body. There's
a traditional name for &BODY arguments...

> I read that the difference between &body and &rest was mainly a tip to
> editors for indentation purposes. In this case, since it's a block and
> not merely a function with a variable number of arguments I believe
> &body is the correct form to use.

A `body', as I understand it, consists of (in some contexts) a
docstring, (in some contexts) some declarations, and a sequence of
expressions. The argument to your macro is none of these things. This
also suggests that the editor will indent it wrongly.

> No, I don't want to use ,@ as that would require more parenthesis and
> virtually eliminate the purpose of the macro altogether.

This I just don't buy.

> I wrote that as a simpler form to embed in remove-if's, map's
> etc. Lambda still exists for the complex cases, but fx is simple and
> concise when power is not needed.
>
> (lambda (x) (+ x (random 10)))
> (fx + x (random 10))

I think I've become used to typing the LAMBDA form in full nowadays. I
think that I'd go for a rather deeper syntactic transformation if I
wanted an abbreviation. How about this?

(defvar *la-state* nil)

(defun read-$ (stream char)
(declare (ignore char))
(let ((level *la-state*))
(loop
(let ((char (read-char stream t nil t)))
(unless (char= char #\$)
(unread-char char stream)
(return))
(setf level (cdr level))))
(unless level
(error "$ARG outside of [...]"))
(let ((state (car level)))
(let ((n (read stream t nil t))
(sz (array-dimension state 0)))
(unless (typep n '(and fixnum unsigned-byte))
(error "Argument indicator in $ARG must be a nonnegative fixnum."))
(when (<= sz n)
(adjust-array state (do ((sz (ash sz 1) (ash sz 1)))
((> sz n)))))
(let ((fp (fill-pointer state)))
(when (<= fp n)
(do ((i fp (1+ i)))
((> i n))
(setf (aref state i) (make-symbol (format nil "$~A" i))))
(setf (fill-pointer state) (+ n 1))))
(setf (aref state n) (make-symbol (format nil "$~A" n)))
(aref state n)))))

(defun read-[ (stream char)
(declare (ignore char))
(let* ((*la-state* (cons (make-array 4
:initial-element nil
:fill-pointer 0
:adjustable t)
*la-state*))
(body (read-delimited-list #\] stream t)))
(list 'lambda
(coerce (car *la-state*) 'list)
body)))

(defun install-lambda-abbreviation (&optional (readtable *readtable*))
(set-macro-character #\$ #'read-$ t readtable)
(set-macro-character #\[ #'read-[ t readtable)
(set-syntax-from-char #\] #\) readtable readtable))

Now your example looks like

[+ $0 (random 10)]

You can have multiple arguments (but you must actually used the highest-
numbered argument). You can refer to arguments from outer [...] forms
by using more `$' signs. And all this with an even terser, yet no
longer misleading, syntax.

(I just consed this together now. I don't think I'll use it in real life.)

-- [mdw]

Daniel H. Leidisch

unread,
Dec 15, 2010, 8:48:42 PM12/15/10
to
Pascal Costanza <p...@p-cos.net> writes:

> [...] Allegro Common Lisp for Windows [...]

I just wanted to mention that the Allegro IDE works under Linux and OS
X, too.

Usually, I prefer Emacs+SLIME, but we are using Allegro CL in our
university classes (and projects), and usually need to use the
GUI-builder, so I tried the IDE on my Linux netbook and it works pretty
well.

There are some minor annoyances compared to the Windows version though –
The most recognizable being the not yet implemented syntax highlingting
under GTK.

Apart from that, almost everything (including the GUI-Builder) works,
and a friend of mine mentioned it working fine under OS X as well.


Regards

dhl

Andrew Reilly

unread,
Dec 15, 2010, 9:29:38 PM12/15/10
to
On Wed, 15 Dec 2010 16:10:40 -0800, Nathan wrote:

> You know what, give Eclipse a try at editing Java. One week and you will
> wish you knew one of the two. Two weeks, and you will say eclipse is
> vastly superior to emacs. The refactoring capabilities alone are
> fantastic.

Have you tried Cusp or Dandelion in Eclipse, then?

Personally, I tend to the vi camp, rather than the Eclipse end of the
spectrum, so you'll pardon me if the advice hasn't been tested.

Other options mentioned here: http://www.cliki.net/development

> Now, to summarize the advice I've received so far:
> 1. learning Emacs is
> a prerequisite to learning Lisp (quit wining it's not difficult unless
> you're retarded, and we suspect you are)

That doesn't seem realistic. Particularly since many folk have offered
other suggestions.

> 2. If you don't like emacs, use
> notepad (I take this as a polite "go screw yourself")

I take it more as "use whichever editor you like". They'll all get you
some of the way there.

> 3. I think emacs is crap also, buy AllegroCL (the first viable
> alternative offered)
> 4. try Lispworks

They're both reputed to work (unsurprisingly.)

I'm a vim fan, myself. I use viper mode whenever I use emacs (which is
not often.)

Another option (perhaps) that I haven't seen mentioned this time around
is DrScheme (now DrRacket, I think.) It wouldn't give you a CL REPL (its
repl is scheme, and it's not really a repl, sort-of) but it does have a
reasonable editor for parenthesised languages, and it knows a bit about
colouring, indentation, and sexpr-selection. And it's keybindings are
configurable, I think.

Cheers,

--
Andrew

Nathan

unread,
Dec 15, 2010, 9:29:57 PM12/15/10
to
Wow. I must say, I am quite impressed with your knowledge. I look at
macros as being a way to produce minor syntactic variations for the
sake of code hygiene. Occasionally I see a pattern that I can't fully
abstract out without them (like this example from PHP).

$variable_name = (isset($_POST['variable_name']?
$_POST['variable_name'] : some_default)

and I think "dang, if only I had macros... this is a special form".
You're inventing an entire language. Coming from C, just using Lambdas
freed me so much I could hardly believe it, but you're much freer
still.

It's posts like yours that make me remember just how important it is
for me to learn Lisp even if I can only spare a couple hours a week.
So thanks

Tim Bradshaw

unread,
Dec 16, 2010, 5:07:27 AM12/16/10
to
On 2010-12-15 21:45:09 +0000, Daniel Carrera said:

> IIRC so does Mac, so I
> wouldn't say that these are the "Windows" shortcuts.

No the mac is different in that the keychords use the command key, not
control. That sounds trivial until you realise that this means the
common emacs keychords (using control) don't clash with these on the
mac (and indeed work in most (all?) text editing tools.

Bigos

unread,
Dec 16, 2010, 6:44:32 AM12/16/10
to
On Dec 15, 8:52 am, Daniel Carrera <dcarr...@gmail.com> wrote:
> Hi Nathan,
>
> I just want to say thank you for starting this thread. Like you, I am
> new at Lisp, and I put off by everyone telling me to learn Emacs and
> SLIME at the same time I learn Lisp. I have no real interest in using
> Emacs. I used to use it several years ago, and back them I knew most
> of the basic commands, but now that's all long forgotten and I don't
> think that learning Emacs will significantly improve my productivity
> (maybe if I spent all day coding it might). What it would do is put a
> barrier between me and learning Lisp, while I have a busy schedule
> with little time available to learn Lisp on the side.
>
> In brief, I am also interested in an editor (GUI or not) that will do
> a few basic things like syntax highlighting, brace matching, and
> indentation, without requiring me to take a tutorial or learn 10 new
> commands. If the editor can later grow into something more advanced
> that I can learn as time permits, all the better, but this isn't
> really important to me.
>
> Cheers,
> Daniel.


Maybe there's hope for you...

Since Kate 3.4 in KDE 4.4 the Kate editor component is easily
extensible by writing scripts. The scripting language is ECMAScript
(widely known as JavaScript). Kate supports two kinds of scripts:
indentation and command line scripts.

http://docs.kde.org/stable/en/kdesdk/kate/advanced-editing-tools-scripting.html


Raffael Cavallaro

unread,
Dec 16, 2010, 1:06:04 PM12/16/10
to
On 2010-12-15 15:51:39 -0500, Pascal J. Bourguignon said:

> In any case, they did
> it before Apple Computer Inc, and Apple started to name they key
> "Command-" only after having be bought by NeXT Computer Inc.

1. The original Inside Macintosh, dating to 1985 (available here:
<http://www.weihenstephan.org/~michaste/pagetable/mac/Inside_Macintosh.pdf>)
refers to it as the "Command key." Note that the event modifier flag
for this key is "cmdKey" so this key is designated as the commmand key
in the source for the earliest Mac ROMS. Apple has always called this
key the "Command key" from the very first 128k Mac. They just didn't
print a "command" label on it until later.

2. The Apple logo has never appeared in menu keyboard shortcuts. All
the keyboard shortcuts involving the command key have always apeared in
menus with the saint john's arms (a.k.a. "cloverleaf"), so reading the
keyboard shortcuts from the menus (which is how they were first
learned), would never lead one to call the keyboard shortcut "apple-v"
etc.

3. Saying that "only" the Mac, Mac 512, and Mac Plus lacked an apple
logo on the command key is saying that "only" the first 3 years of mass
market macs lacked an apple logo on the command key. At that point mac
user culture was already well established - the key was already long
known as the command key, and correctly so.

Pascal J. Bourguignon

unread,
Dec 16, 2010, 3:03:54 PM12/16/10
to
Raffael Cavallaro <raffaelc...@pas.despam.s.il.vous.plait.mac.com>
writes:

> On 2010-12-15 15:51:39 -0500, Pascal J. Bourguignon said:
>
>> In any case, they did
>> it before Apple Computer Inc, and Apple started to name they key
>> "Command-" only after having be bought by NeXT Computer Inc.
>
> 1. The original Inside Macintosh, dating to 1985 (available here:
> <http://www.weihenstephan.org/~michaste/pagetable/mac/Inside_Macintosh.pdf>)
> refers to it as the "Command key." Note that the event modifier flag
> for this key is "cmdKey" so this key is designated as the commmand key
> in the source for the earliest Mac ROMS. Apple has always called this
> key the "Command key" from the very first 128k Mac. They just didn't
> print a "command" label on it until later.

Yes. How many users have read "Inside Mac"?
Users called it schmilblic until they put the Apple logo back on and
then they call it "Pomme" (in French speaking countries).


> 2. The Apple logo has never appeared in menu keyboard shortcuts. All
> the keyboard shortcuts involving the command key have always apeared
> in menus with the saint john's arms (a.k.a. "cloverleaf"), so reading
> the keyboard shortcuts from the menus (which is how they were first
> learned), would never lead one to call the keyboard shortcut "apple-v"
> etc.

The Apple logo appeared in the Lisa menu, and Steve Jobs found it
ridiculous to have so many apples in the menus, that why he asked them
to find another symbol.


> 3. Saying that "only" the Mac, Mac 512, and Mac Plus lacked an apple
> logo on the command key is saying that "only" the first 3 years of
> mass market macs lacked an apple logo on the command key. At that
> point mac user culture was already well established - the key was
> already long known as the command key, and correctly so.

Yes. That's why users then called it "Pomme" ever after.

Petter Gustad

unread,
Dec 16, 2010, 4:35:39 PM12/16/10
to
"Pascal J. Bourguignon" <p...@informatimago.com> writes:

> Yes. How many users have read "Inside Mac"?

I've read it, if combined users/programmers counts as users. I
actually won my copy of Inside Macintosh at some Macintosh trivia at
one of the the first Mac expo's. That and the first issue of MacWorld
are the only Macintosh items I have left from my Mac programming days.
Looking back I would say that MPW and the MacApp framework was sort of
ahead of its time, same thing with ExperLisp.

> Users called it schmilblic until they put the Apple logo back on and

Cool, very French indeed. In Norway the cloverleaf is used as the
symbol in attraction signs.

http://knivskjellodden.no/images/Severdighet.jpg

These days they even put them on the sea-bed:

http://www.norsk-sjofartsmuseum.no/images/skilt01.jpg

Hence I've heard the keys referred to as the attraction-key
(«severdighets-tasten»).


//Petter

--
.sig removed by request.

Raffael Cavallaro

unread,
Dec 16, 2010, 5:47:31 PM12/16/10
to
On 2010-12-16 15:03:54 -0500, Pascal J. Bourguignon said:

> Users called it schmilblic until they put the Apple logo back on and
> then they call it "Pomme" (in French speaking countries).

You have an oddly franco-centric view of mac history. You do realize
that Apple was founded and has always been headquartered in the US, an
english speaking country, right? Allow me to assure you that perfectly
ordinary mac users (not programmers) called it the "command key" from
day one (I and many others were mac users before we ever saw a copy of
Inside Macintosh).

We called it the "Command key" from the start for the obvious reason
that that's what Apple called it. If you went to a Mac demo (for
example, I first saw such a demo at Harvard where I was a grad student
at the time) the Apple demonstraters called it the "Command key" for
the again obvious reason that that's what Apple called it internally.
The universal keyboard shortcuts were, from the very start, referred to
by Apple's own sales staff as "Command-X," "Command-C," and "Command-V."

There were no apples on the keys for the first couple of years the Mac
existed, and never have been apples in the menu keyboard shortcuts.
Users had no reason whatsoever to call it the "apple key" - there
simply were no apples involved, and Apple sales staff and engineers
themselves called it the "Command key."

The fact that french speaking users may have called it "pomme" at some
point is completely irrelevant to the fact that it has always been
called the "Command key" by english speaking users, by Apple in their
documentation, by Apple sales staff, and in their source code (i.e.,
"cmdKey").

> The Apple logo appeared in the Lisa menu

and all 12 lisa users may have called it the apple key, but the
millions of english speaking mac users have always called it the
"Command key" just as Apple has always called this key on the mac the
"Command key."

Pascal J. Bourguignon

unread,
Dec 16, 2010, 6:28:56 PM12/16/10
to
Raffael Cavallaro <raffaelc...@pas.despam.s.il.vous.plait.mac.com>
writes:

You're negating historical facts. It was marked by the Apple logo on
Lisa keyboards, and in the Lisa user interface, the Apple logo was
displayed to represent this key in the menus.

Users who had had exposure of Lisa (granted not a lot), kept calling it
"Apple" key. And as mentionned, the historical fact is that the
keyboards missed the Apple logo only for three years. Since the
introduction of MacSE and MacII, that key was labelled with an Apple
logo, and if you told users to press "Command-X" they would look you and
the keyboard with puzzled eyes.


>> The Apple logo appeared in the Lisa menu
>
> and all 12 lisa users may have called it the apple key, but the
> millions of english speaking mac users have always called it the
> "Command key" just as Apple has always called this key on the mac the
> "Command key."

Not only "Command key". None of the users around me ever called it
that.

Paul Rubin

unread,
Dec 16, 2010, 6:33:52 PM12/16/10
to
"Pascal J. Bourguignon" <p...@informatimago.com> writes:
> Not only "Command key". None of the users around me ever called it
> that.

I think I remember hearing that key called the "Clover" key, after the
emblem that appeared on it in at least some Mac incarnations.

Raffael Cavallaro

unread,
Dec 16, 2010, 10:44:05 PM12/16/10
to
On 2010-12-16 18:28:56 -0500, Pascal J. Bourguignon said:

> Users who had had exposure of Lisa (granted not a lot), kept calling it
> "Apple" key.

This is a completely insignificant number of Mac users - close to 0%.
The overwhelming majority of early mac users were not aware that the
Lisa had ever existed, much less actually seen or used one.

> And as mentionned, the historical fact is that the
> keyboards missed the Apple logo only for three years.

These three years were determinative - they were the three years that
marked the introduction of the Mac, and the growth of the Mac user base
from 0 to millions. During this formative time there was absolutely no
reason whatsoever for any mac user to talk about an "Apple key" as no
such key existed on any shipping mac, and Apple themselves called it

the "Command key" from the very first 128k Mac.

> Since the


> introduction of MacSE and MacII, that key was labelled with an Apple
> logo, and if you told users to press "Command-X" they would look you and
> the keyboard with puzzled eyes.

No, they would not, since Apple's own documentation, Apple's own sales
force, and a user base millions strong were already calling it the
"Command key." You appear to be confused by what may have been common
parlance in France, but there was no such confusion in the US -
everyone called it the "Command key" from the very start quite simply
because that is what Apple called it.

Paul Wallich

unread,
Dec 17, 2010, 12:54:29 PM12/17/10
to

Twiddle.

This has mostly been an issue since it became possible to use the same
keyboard on whatever flavor of computer you had in front of view.

paul

Thomas A. Russ

unread,
Dec 17, 2010, 2:59:49 PM12/17/10
to

For what it's worth, my current new Mac keyboard has the key labeled
"Command #" where "#" is the clover-leaf / St.John's Arms. But that's the
English keyboard. I don't know what they do in France.

Interestingly, there is an extensive article on this in Wikipedia:
http://en.wikipedia.org/wiki/Command_key
that traces the history and naming of the key, including the
differentiation between the open and filled apple keys.

I liked the line in the history section about the Open Apple symbol
sticking around on ADB keyboards "for more than twenty years, causing
confusion long after the Apple II series went out of production." It
seems to cause confusion or at least debate many years after ADB was
replaced by USB.

Robert Maas, http://tinyurl.com/uh3t

unread,
Dec 19, 2010, 3:27:40 PM12/19/10
to
> From: Nathan <nbeen...@gmail.com>
> Can anyone suggest a simple alternative to Emacs?

You need to say what computer system you're running on before
anyone can answer your question. For example:
- On MacOS 6.0.3 or 7.5.5, I recommend McSink.
- On MS-Windows, I tolerate Note Pad.
- On Unix/Linux/FreeBSD, emacs is available, emacs is best, so use it!!

> I was indenting Lisp according to rules I'd learned in C

Bad idea. Instead, find a version of Lisp that prettyprints its
output by default in the REP loop, then copy-and-paste your source
code, preceded by an apostrophe, into that REPL and it'll show your
source back at you prettyprinted the standard way. You may feel
free to make minor tweaks to that format.

> I only care about 5 things.
> 1. SIMPLE PLEASE

Copy-and-paste into a REPL with pretty-printed out is so simple a
3-yr-old can do it.

> 2. braces matching (I would prefer rainbow parenthesis, but whatever)

If what you copy-and-paste has not enough close parentheses, it'll
just hang, and then you manually key in extra parens until it
finally accepts your input. You then look at the prettyprinted
output and figure out where some *inner* parens were needed to make
the desired structure, to replace the *final* parens you manually
keyed that didn't really belong there. For example:
'(defun foo (a b)
(let ((a1 (loop for aa in a collect (car aa))
((b1 (loop for bb in b collect (cdr bb))
(list ac bc)))
)
)
)
)
=>
(DEFUN FOO (A B)
(LET ((A1
(LOOP FOR AA IN A COLLECT (CAR AA))
((B1 (LOOP FOR BB IN B COLLECT (CDR BB)) (LIST AC BC)))))
))
Add a parens after the first binding:
'(defun foo (a b)
(let ((a1 (loop for aa in a collect (car aa)))
((b1 (loop for bb in b collect (cdr bb))
(list ac bc)))
)
)
)
=>
(DEFUN FOO (A B)
(LET ((A1 (LOOP FOR AA IN A COLLECT (CAR AA)))
((B1 (LOOP FOR BB IN B COLLECT (CDR BB)) (LIST AC BC))))
))
Delete a parens before the second binding:
'(defun foo (a b)
(let ((a1 (loop for aa in a collect (car aa)))
(b1 (loop for bb in b collect (cdr bb))
(list ac bc)))
)
)
=>
(DEFUN FOO (A B)
(LET ((A1 (LOOP FOR AA IN A COLLECT (CAR AA)))
(B1 (LOOP FOR BB IN B COLLECT (CDR BB)) (LIST AC BC)))
))
Add a parens after the list of bindings:
'(defun foo (a b)
(let ((a1 (loop for aa in a collect (car aa)))
(b1 (loop for bb in b collect (cdr bb)))
(list ac bc)))
)
=>
(DEFUN FOO (A B)
(LET ((A1 (LOOP FOR AA IN A COLLECT (CAR AA)))
(B1 (LOOP FOR BB IN B COLLECT (CDR BB)))
(LIST AC BC))
))
Insert another parens after the list of bindings:
'(defun foo (a b)
(let ((a1 (loop for aa in a collect (car aa)))
(b1 (loop for bb in b collect (cdr bb))))
(list ac bc)))
=>
(DEFUN FOO (A B)
(LET ((A1 (LOOP FOR AA IN A COLLECT (CAR AA)))
(B1 (LOOP FOR BB IN B COLLECT (CDR BB))))
(LIST AC BC)))
Success!

If what you copy-and-paste has too many close parentheses, it'll
print out a result prematurely, probably with structure not what
you intended, then it'll signal errors about the extra parens that
are syntactically incorrect. For example:
'(defun foo (a b)
(let ((a1 (loop for aa in a collect (car aa)))
(b1 (loop for bb in b collect (cdr bb))))
(list ac bc))))
=>
(DEFUN FOO (A B)
(LET ((A1 (LOOP FOR AA IN A COLLECT (CAR AA)))
(B1 (LOOP FOR BB IN B COLLECT (CDR BB))))
(LIST AC BC)))
* Warning: Ignoring unmatched close parenthesis at file position 5664.

> 3. automatic indentation
If your parens all match in the right way, to create the correct
nesting of expressions, so that the pretty-print shows your intent
correctly, per the *last* of the first set of examples above, *not*
per any of the earlier examples within that same set, but if you
are too lazy to manually insert all the whitespace in your text
editor (not emacs which does it automatically), then you can
copy-and-paste from the prettyprinted output back to your edit
session.

> 4. tab completion (this can be really stupid, just so long as it at
> least completes words that I have typed before)

I recommend: Don't rely on tab completion. Instead, almost always
copy-and-paste the names of your functions and variables, instead
of trying to re-key any of them. Only really short variable names
such as x1, and really short function/macro names, such as car or
cons or loop, should be manually re-keyed.

> 5. some sort of pop-up documentation

What, you're too lazy to manually copy-and-paste from your edit
session to a search engine??

> I can deal with the REPL being in another window, but I want an
> editor or IDE that is a tool in the same capacity that a lawn
> mower is a tool. It should do it's job right from the very
> beginning. If you want to pull your lawn mower apart you can; but
> you basically don't unless it's broken.

Never use MS-Windows, because it's a royal pain to mark an
arbitrary piece of text (for purpose of copy-and-paste) because
virtually all editing software on MS-WIndows insists on expanding
your mouse-sweep to include additioanal text after the part you
tried to mark. The only way I've found on MS-Windows to mark just
part of a word is to click at the start then shift-rightarrow to
include additional characters until you get just what you want.
Most times it's easier to let it copy more than you want, then use
DELETE key to get of one unwanted character at a time.

> Is Emacs a prerequisite to Lisp?

Absolutely not. Where'd you get such a silly idea?

> Even after coping a 940 line emacs file, ...

http://en.wikipedia.org/wiki/Coping
Coping may refer to:
1 Coping (architecture) consists of the capping or covering of a wall
2 Coping (psychology) is the process of managing stressful
circumstances
3 Coping (joinery), a woodworking technique
4 A coping is the part of a Crown (dentistry) that contacts the
prepared tooth
(Bullets replaced by index numbers.)
What did you do to that poor innocent file anyway?? :-)
It doesn't sound to me like you're coping (#2 above) very well. :-)

Robert Maas, http://tinyurl.com/uh3t

unread,
Dec 20, 2010, 2:05:13 AM12/20/10
to
> From: Bigos <ruby.obj...@googlemail.com>
> You don't have to learn all Emacs to do simple things.

Very true. I wonder why newbies insist on claiming that some
utility is "too hard" because they don't have time to learn every
single feature it has. Now if the only way to learn a tool was to
read the Unix 'man' pages, and if those particular pages were
virtually inscrutable, with no idea where to start, such a claim
would be valid. But emacs has a nice getting-started tutorial, so
for emacs the "too much to learn" claim is false.

> Editing Lisp with Emacs+Slime is the most convenient solution
> that I have found.

Which is useful only on systems where Emacs+Slime is available.

> Best Resource for quick and painless learning of Emacs is imho Xah
> Lee's tutorial: http://xahlee.org/emacs/emacs.html

http://xahlee.org/emacs/emacs.html
Link that you currently have selected
Linkname: Which Emacs to Download?
URL: http://xahlee.org/emacs/which_emacs.html

"GNU Emacs ... built for Mac OS X"
(so I can't use it here on MacOS 7.5.5)

"Aquamacs Emacs"
(no mention of which MacOS it would run on)
http://aquamacs.org/
"Version 2.1 for Mac OS X"
(so I can't use it here on MacOS 7.5.5)
"Aquamacs 1.9 available - stable release"
(no link to download it, no info about what version MacOS it runs on)

"Carbon Emacs"
(no mention of which MacOS it would run on)
http://homepage.mac.com/zenitani/emacs-e.html
"Mac OS X 10.5 or later; Universal Binary"
(so I can't use it here on MacOS 7.5.5)

Looking at Xah Lee's emacs info was a waste of a half hour.
OT: Watching the last quarter of the football game, especially the
final play (punt return), was more worth my time.

Robert Maas, http://tinyurl.com/uh3t

unread,
Dec 20, 2010, 2:14:38 AM12/20/10
to
> From: Raffael Cavallaro <raffaelcavall...@pas.despam.s.il.vous.plait.mac.com>
> The LispWorks Personal Edition.
> It is easier to get started with than emacs/slime.
> It costs nothing.
> It is a full featured GUI IDE.
> It runs on Windows, Mac OS X, Linux, FreeBDS, and Solaris x86/x64.

Do you know of any decent free Lisp that runs on MacOS 7.5.5 (68030 CPU) ?
The best I've found so-far is PowerLisp 68k, which is just barely usable.

Robert Maas, http://tinyurl.com/uh3t

unread,
Dec 20, 2010, 2:32:34 AM12/20/10
to
> From: "Pascal J. Bourguignon" <p...@informatimago.com>
(I totally agree with you, just am adding more to what you said.)

> Actually, while you are learning the language, you can use
> notepad and the REPL in a terminal.

Indeed, I've been using Lisp since 1973, but have been using McSink
(vanilla text editor, like Note Pad, although it has some very
useful features such as fill paragraph and
UPPERCASE/lowercase/CapitalizeWords etc. etc.) since late 2000 when
I learned my new ISP (since mid-2000) had CMUCL. (My previous ISP
didn't have any Lisp AFAIK, and my Mac Plus which could run MACL
1.2.2 died in mid-1999, so I was sans Lisp for over a year, a
terrible hardship year to be without any Lisp available.)

> This doesn't prevent learning the language the least.

Doesn't prevent long-time Lisp users such as myself from making
good advantage of Lisp either.

> Of course, typing (load "myfile.lisp") may grow old soon, (you'll
> learn to (defun l () (load "myfile.lisp')) and type (l) instead).

If you're composing your Lisp source in a vanilla text editor (Note
Pad or McSink for example), *also* compose your re-load short-cuts
such as (load "myfile.lisp") there, and *keep* them there, just
copy-and-paste from your edit session to your Lisp session. You
should *never* need to type (load "myfile.lisp") a second time.
Only when you're tired of copy-and-paste of that, which requires
switching windows back and forth, *then* add some more text to that
part of your text edit to yield (defun l () (load "myfile.lisp')).

(I'm assuming the OP has used any modern computer of the past 26
years, which supports copy and paste, and OP has learned how to
use those basic mouse tools. I'm 99% sure the OP has in fact.)

> The OP could just use his favorite editor, and his favorite
> terminal emulator.

Yup.

Robert Maas, http://tinyurl.com/uh3t

unread,
Dec 20, 2010, 2:43:35 AM12/20/10
to
> From: Daniel Carrera <dcarr...@gmail.com>
> I'd like a GUI editor that allows me to get moving now without
> having to fight the editor at every turn.

What system are you on? You almost surely *already* have a GUI text
editor, so what are you asking for? For example, on MS-Windows you
*already* have Note Pad. If you've never tried Note Pad:
From the START menu in lower left > Programs > Accessories > Note Pad
Something like that anyway. Now, have you found it yet??

Pascal J. Bourguignon

unread,
Dec 20, 2010, 2:55:55 AM12/20/10
to
seeWeb...@rem.intarweb.org (Robert Maas, http://tinyurl.com/uh3t)
writes:

> Looking at Xah Lee's emacs info was a waste of a half hour.
> OT: Watching the last quarter of the football game, especially the
> final play (punt return), was more worth my time.

Yes, football was played already during the cave age.

Pascal J. Bourguignon

unread,
Dec 20, 2010, 2:58:06 AM12/20/10
to

> (I'm assuming the OP has used any modern computer of the past 26


> years, which supports copy and paste, and OP has learned how to
> use those basic mouse tools. I'm 99% sure the OP has in fact.)

On the other hand, perhaps you should consider the possibility your
correspondant still use 40 years old systems, where copy-and-paste is
not available. In that perspective, defining a l symbol-macro seems
like a good way to do it.

Robert Maas, http://tinyurl.com/uh3t

unread,
Dec 20, 2010, 2:59:50 AM12/20/10
to
> From: Nathan <nbeen...@gmail.com>
> Look at PHP. It's dead simple to learn which means it always has
> plenty of new recruits. Despite it's [sic: "it's" = "it is", you
meant to say "its", possessive of it]
> shortcomings PHP consistently fails to drive people away
> (possibly because those flaws are hidden enough to only surface
> after people have significant vested interests).

Also, it's available more places on the Web. Compare these, for
setting up WebServer applications:

PHP: available on my Unix ISP, and on many free PHP/MySQL hosting sites.

CMUCL et al with REPL, somewhat of a pain to interface to CGI:
Available on my Unix ISP, but not on any free hosting site that I know of.

LSP (Lisp Server Pages - like PHP in ability to alternate HTML/Lisp):
Not available on my Unix shell nor any free hosting I know of.

mod_lisp: Not available on my Unix shell nor any free hosting I know of.

If anybody know of any free Web-hosting site that supports any Lisp
whatsoever, but preferably LSP, please update my info.

> My favorite Macro is
> (defmacro fx (&body lambda) `(lambda (x) ,lambda))
> It makes simple things easier to read

A beginner would need a tutorial that explains how that is of any
value and how it is to be used, i.e. 'man page' or HTML tutorial
for it, or even a 2-line documentation string within the defmacro,
like the "usage" information provided by many Unix programs.

Even I, Lisp programmer since 1973, would have to spend more time
than it's worth trying to figure out for myself how it would be
useful, hence will instead await your "usage" info.

Robert Maas, http://tinyurl.com/uh3t

unread,
Dec 20, 2010, 3:29:52 AM12/20/10
to
> From: Raffael Cavallaro <raffaelcavall...@pas.despam.s.il.vous.plait.mac.com>
> When people spoke of these key combinations, they said
> "command-v," etc. not "cloverleaf-v," and certainly not "Apple-v"
> since there was no apple logo on the original Macintosh command
> key.

In official documentation, I've never seen "cloverleaf", only
"command". But I have always or for a long time refered to the key
as "clover" when describing keystrokes. That's one character
shorter than "command", and non-Mac users will simply dismiss
"clover" as meaningless rather than try to use some key by that
name on their computers and get mad at me because it doesn't work.

My Mac Plus had only the clover(leaf) icon on that key.
My Mac Performa has both bite-out-of-apple and clover(leaf) icon on that key.
I suppose I could save one more keystroke by switching to "apple",
or save two additional keystrokes by switching to "bite", and
confuse even longtime Mac users, but no I won't.
Does anybody know the UniCode for that clover(leaf) icon??
For that matter, does anybody know if there exists UniCode for the
"brick" character that I used in MRPP3 = POX documentation at SU-AI
= sail.stanford.edu? See 75224X.FNT which is the font file I
created by editing from some other standard font file, NGR25.FNT
(New Gothic Roman, character height 25/200 inch, IIRC 35 years ago).

Robert Maas, http://tinyurl.com/uh3t

unread,
Dec 20, 2010, 3:57:52 AM12/20/10
to
> From: Nathan <nbeen...@gmail.com>
> ... give Eclipse a try at editing Java.

Is Eclipse available for MacOS 7.5.5 in downloadable-text (BinHex) form?
Is Eclipse built-in with RedHat Linux? (Modem doesn't work so I
can't download anything to my RedHat Linux laptop.)

> Now, to summarize the advice I've received so far:
> 1. learning Emacs is a prerequisite to learning Lisp (quit wining
> it's not difficult unless you're retarded, and we suspect you are)

(sigh, those Lusers should be spanked)

> 2. If you don't like emacs, use notepad (I take this as a polite
> "go screw yourself")

(You posted this before I saw this thread. See my artices where I
say I've used Lisp since 1973 and I have been using a vanilla text
editor such as McSink (on Mac) or Note Pad (on MS-Windows). I'm
not telling you to screw yourself. I'm telling you to get
productive with Lisp using the tools you already have, as I do,
rather than trying to learn too many tools all at the same time.)

Robert Maas, http://tinyurl.com/uh3t

unread,
Dec 20, 2010, 4:18:09 AM12/20/10
to
> From: Daniel Carrera <dcarr...@gmail.com>
> As a language, I think PHP sucks. From my point of view, the only
> thing it has going for it is that it's good for making page
> templates.

Do you deny that it also has going for it the fact that there are
several free PHP/MySQL hosting sites that offer gigabytes of free
disk+db space, but nothing similar for any form of Lisp (LSP = Lisp
Server Pages, nor mod_lisp, nor even CGI+CL)?
If you deny that fact, please show me where such free gigabyte
Lisp/MySQL hosting sites exist.

Pascal J. Bourguignon

unread,
Dec 20, 2010, 5:05:51 AM12/20/10
to

> Does anybody know the UniCode for that clover(leaf) icon??

http://en.wikipedia.org/wiki/Command_key

Pascal J. Bourguignon

unread,
Dec 20, 2010, 5:08:28 AM12/20/10
to

>> From: Daniel Carrera <dcarr...@gmail.com>


>> As a language, I think PHP sucks. From my point of view, the only
>> thing it has going for it is that it's good for making page
>> templates.
>
> Do you deny that it also has going for it the fact that there are
> several free PHP/MySQL hosting sites that offer gigabytes of free
> disk+db space, but nothing similar for any form of Lisp (LSP = Lisp
> Server Pages, nor mod_lisp, nor even CGI+CL)?

There are also several free shit hosting sites on earth that offer
gigakilograms of free shit, but nothing similar for any form of haute
cuisine.


> If you deny that fact, please show me where such free gigabyte
> Lisp/MySQL hosting sites exist.

What is good is not always free.

Tim Bradshaw

unread,
Dec 20, 2010, 5:16:39 AM12/20/10
to
On 2010-12-20 07:58:06 +0000, Pascal J. Bourguignon said:

> On the other hand, perhaps you should consider the possibility your
> correspondant still use 40 years old systems, where copy-and-paste is
> not available. In that perspective, defining a l symbol-macro seems
> like a good way to do it.

Copy & paste a lot more effort than typing a single letter.

Don Geddis

unread,
Dec 20, 2010, 11:34:53 AM12/20/10
to
seeWeb...@rem.intarweb.org (Robert Maas, http://tinyurl.com/uh3t) wrote on Sun, 19 Dec 2010:
> Do you know of any decent free Lisp that runs on MacOS 7.5.5 (68030 CPU) ?
> The best I've found so-far is PowerLisp 68k, which is just barely usable.

Since you've already been offered a free, modern, computer (including
shipping), why can't you use that new computer, and a modern Lisp?

Surely your easiest path would be to upgrade your computer (for free!),
and then use modern tools, rather than trying to find something that
works on a 68030/MacOS 7.5.5.

I realize you'll have problems either way. But isn't it obvious that
the "upgrade the computer first" path will result in fewer total
problems for you, over the long run?

-- Don
_______________________________________________________________________________
Don Geddis http://don.geddis.org/ d...@geddis.org
Give your son two shirts. The first time he wears one, look sadly at him and
say plaintively, "The other one you didn't like?"
-- Dan Greenburg, "How to be a Jewish Mother"

Pascal J. Bourguignon

unread,
Dec 20, 2010, 1:03:46 PM12/20/10
to
Don Geddis <d...@geddis.org> writes:

> seeWeb...@rem.intarweb.org (Robert Maas, http://tinyurl.com/uh3t) wrote on Sun, 19 Dec 2010:
>> Do you know of any decent free Lisp that runs on MacOS 7.5.5 (68030 CPU) ?
>> The best I've found so-far is PowerLisp 68k, which is just barely usable.
>
> Since you've already been offered a free, modern, computer (including
> shipping),

And since Robert mentionned he had a RedHat laptop already,

> why can't you use that new computer, and a modern Lisp?

why can't he use that old computer, and a modern Lisp???

Xah Lee

unread,
Dec 22, 2010, 9:00:33 AM12/22/10
to
On Dec 20, 12:29 am, seeWebInst...@rem.intarweb.org (Robert Maas,

http://tinyurl.com/uh3t) wrote:
> > From: Raffael Cavallaro <raffaelcavall...@pas.despam.s.il.vous.plait.mac.com>
> > When people spoke of these key combinations, they said
> > "command-v," etc. not "cloverleaf-v," and certainly not "Apple-v"
> > since there was no apple logo on the original Macintosh command
> > key.
>
> In official documentation, I've never seen "cloverleaf", only
> "command". But I have always or for a long time refered to the key
> as "clover" when describing keystrokes. That's one character
> shorter than "command", and non-Mac users will simply dismiss
> "clover" as meaningless rather than try to use some key by that
> name on their computers and get mad at me because it doesn't work.
>
> My Mac Plus had only the clover(leaf) icon on that key.
> My Mac Performa has both bite-out-of-apple and clover(leaf) icon on that key.
> I suppose I could save one more keystroke by switching to "apple",
> or save two additional keystrokes by switching to "bite", and
> confuse even longtime Mac users, but no I won't.

see:

• 〈A Short Survey Of Keyboard Shortcut Notations〉
http://xahlee.org/emacs/modernization_hotkey_notation.html

• 〈Apple Keyboards〉
http://xahlee.org/emacs/keyboards_Apple.html

> Does anybody know the UniCode for that clover(leaf) icon??

• 〈Computing Symbols in Unicode〉
http://xahlee.org/comp/unicode_computing_symbols.html

> For that matter, does anybody know if there exists UniCode for the
> "brick" character that I used in MRPP3 = POX documentation at SU-AI
> = sail.stanford.edu? See 75224X.FNT which is the font file I
> created by editing from some other standard font file, NGR25.FNT
> (New Gothic Roman, character height 25/200 inch, IIRC 35 years ago).

do you have a picture of it?

possibly you might find it at:

• 〈Dingbats and Cultural Symbols in Unicode〉
http://xahlee.org/comp/unicode_dingbats.html

• 〈Unicode Drawing Shapes〉
http://xahlee.org/comp/unicode_drawing_shapes.html

btw, it's Unicode or UNICODE, never UniCode.

Xah

Robert Maas, http://tinyurl.com/uh3t

unread,
Jan 4, 2011, 3:23:12 AM1/4/11
to
> From: "Pascal J. Bourguignon" <p...@informatimago.com>
> Yes, football was played already during the cave age.

Do you have any evidence (historical record etc.) of your rather
unusual claim? Do you have any specific information as to how the
rules differed from American scrimmage football?

By the way, http://TinyURL.Com/NewEco now has public-key
server-to-server SOAP-RPC over HTTP implemented, including two
one-shot commands any user can invoke:
- ECHO (you type some text, and it's encrypted and sent as command
to Unix server, where it's echoed back also encrypted as 250
response).
- AdminIdle (it checks whether I'm online on my Unix shell account,
and if so tells how many minutes I've been idle there).
In each case (for all one-shot commands) it does all of the following:
- Moves user's specified amount of funds (labor-time), typically 3
or 4 seconds, from user's main account into an escrow account.
- Generates a voucher for the escrow funds and a service request,
encloses them in an XML message, signs it, encrypts it, converts
to ASCII text (ConVow format), writes to file.
- Issues HTTP redirection to Unix site, including URL of script to
do the next two steps, and ID of the message.
- Unix script does call-back to NewEco site to fetch the message,
decodes ConVow notation, decrypts, verifies signature, parses
XML, interprets command, builds response message, builds receipt
showing how much of the funds in escrow were spent and how much
are to be refunded to the user, encloses them in XML message,
signs it, encrypts it, converts to ASCII text (ConVow format).
- Unix script idoes call-forward to NewEco site to deposit the message.
- Unix script issues HTTP redirection back to NewEco site,
including URL of script to do the remaining steps, and ID of the
message.
- NewEco script fetches message, decodes ConVow notation,
decryupts, verifies signature, parses XML, dispatches on the
command and interprets the XML reply appropriately to the
command, displays the result to the user, moves the spent funds
from escrow to service-provider's account, moves the unspent
funds from escrow account back to user's main account.

So why don't y'all go to http://TinyURL.Com/NewEco, create your own
account, answer a Turing test (fill in missing word in
randomly-selected sentence) to prove you are a real live human,
then try one of the one-shot commands? I'm going to try it from my
cell-phone right now ... it says I'm idle the past 21 minutes, so
that's how long it's taken me, after I downloaded your message,
before I reached this point in composing my reply offline. Will now
upload through NiftyTelnet and my Unix account to the NNTP server.
(Someday I'll have to try connecting directly through NiftyTelnet
on my Mac to the NNTP server. Except my Unix-shell-ISP's NNTP
server might not accept my connection because it might not
recognize my Mac as authorized to use their NNTP server.) I tried
it from my cell-phone again, and now it says I've been idle (on
Unix) 28 minutes, so I guess it took 7 more minutes to type the
rest of this paragraph. Really going to upload+send now.

Robert Maas, http://tinyurl.com/uh3t

unread,
Jan 4, 2011, 4:41:09 AM1/4/11
to
> From: Don Geddis <d...@geddis.org>

> Since you've already been offered a free, modern, computer (including
> shipping), why can't you use that new computer, and a modern Lisp?

Well, you know the clichi about two birds in a bush?? He hasn't yet
sent me e-mail telling me his e-mail address so that I can tell him
(privately) where I reside, and AFAIK he hasn't posted his e-mail
address in any newsgroup thread, so at present I have no way to
tell him where to send the computer. Also, if he doesn't mind, I'd
like to know what part of the world he is in, so I have an idea
what sort of X-ray scanning and strip/cavity-search (disassembly
and un-professional attempt at re-assembly searching for hidden
bomb materials) it might undergo on its way from there to here. If
it's being sent from outside the USA, it'll could easily arrive in
unusable condition, or even be confiscated as a potential
cyber-crime weapon. But if it's being sent from the SF south-bay
area, then I'd like to save him the $20 shipping by picking it up
myself from where he resides or works.

> Surely your easiest path would be to upgrade your computer (for
> free!), and then use modern tools, rather than trying to find
> something that works on a 68030/MacOS 7.5.5.

You have a good point. I hope he tells me how to contact him by e-mail.

> I realize you'll have problems either way. But isn't it obvious
> that the "upgrade the computer first" path will result in fewer
> total problems for you, over the long run?

Not exactly sure. At the present:
- My Dell RedHat Linux laptop (given to me by my C++ instructor at
De Anza in 2004; no working diskette drive, no USB port at all,
and modem stopped working several years ago, and all attempts to
connect its serial port to Mac's serial port have
failed) is in a drawer under the bed blocked by the left speaker
of the compact-stereo that John with bone cancer gave me about a
year before he died (it came from one of the other residents who
was moving out; Jonn already had a better compact-stereo so he
didn't want this one).
- My Sony Windows-98 laptop (given to me by John a few months
before he died; USB port but no driver for it, and no way to
download the driver because there's neither a diskette drive nor
a modem) is sitting in a plastic bag leaning against some papers
leaning against the leg of my TV table. It is out in the hope of
finding somebody to tell me how to use the USB port, like maybe
there's some way to download the Windows-98 driver on some other
Windows system that has net access, then copy it to the thumb
drive, then somehow trick Windows-98 to load the driver from the
thumb drive even though it can't find files on the thumb drive
because it doesn't have the driver to even read the directory
much less read files, but really that laptop should be under the
bed too.

If I get a third laptop, there will be no more room in the drawer
under the bed, so I have no reasonable place to store it when it's
not on my lap (while using it) or on top of my bed (when I'm
up&around briefly). Or maybe stacking all 3 laptops on top of each
other in the drawer will just barely fit. I won't know until I have
the laptop and thus know how thick it is.

I tried to use NewEco to check how long I've been idle on Unix
while composing this message, but:
FUCKETY CRAP - NEWECO WEBSITE IS DOWN ("Website Under Review")
BECAUSE WEBMASTER AT HOSTING SITE IS MANUALLY CHECKING IT FOR
MALICIOUS CONTENT, WHICH MAY TAKE AS LONG AS 24 HOURS.

Wow, just before sending this, I tuned into ThisTV, about 25
minutes before the end of "Instant Karma", and there's a super-sexy
gal, adequately-big very-stick-out boobs in sleeveless t-shirt.
"This sly and subtle spoof of the television industry starring Craig
Sheffer, Chelsea Noble and David Cassidy will tantalize you with its
steamy romance, high-voltage soundtrack and offbeat comic flair."
Not according to the reviewer in IMDB.Com who thought the movie
*crap*. On my cell-phone I tried a Google Image search for "Chelsea
Noble" and for "Chelsea Noble" "Instant Karma", but none of the
first five groups of images in either search look like her, except
maybe the one (in second search) with orange at top and bottom and
loose eyeglasses mid-left, but her facial image is so tiny I can't
really see her face with any detail.

Robert Maas, http://tinyurl.com/uh3t

unread,
Jan 4, 2011, 5:08:41 AM1/4/11
to
> From: "Pascal J. Bourguignon" <p...@informatimago.com>
> And since Robert mentionned he had a RedHat laptop already,
> why can't he use that old computer, and a modern Lisp???

Because the modem and/or the communication software stopped working
in early 2005, and in all the time since then I haven't been able
to find anyone to help me diagnose whether it needs a new modem or
some repair to the driver or system or lock file(s) or whatnot.
The only version of Lisp on it currently is the one inside emacs.

Robert Maas, http://tinyurl.com/uh3t

unread,
Jan 4, 2011, 6:08:20 AM1/4/11
to
> From: Xah Lee <xah...@gmail.com>

> > For that matter, does anybody know if there exists UniCode for the
> > "brick" character that I used in MRPP3 =3D POX documentation at SU-AI
> > =3D sail.stanford.edu? See 75224X.FNT which is the font file I

> > created by editing from some other standard font file, NGR25.FNT
> > (New Gothic Roman, character height 25/200 inch, IIRC 35 years ago).
> do you have a picture of it?

Something like this (view in fixed-pitch font):
***************
* * *
******** *
* * *
* * *
* * *
* ********
* * *
***************
or possibly the mirror image. My paper file is in storage (because
it won't fit in this tiny room), so I can't look at an old printout
from circa 1975, and I don't have access to Stanford's PDP-10 any
longer, so I can't print it out or view it on CRT, and it's been
years since I've seen it on my old POX-manual printout, so I forget
the handedness. But if *either* handedness of it is in UniCode,
that would be nice to know. I browsed dingbats and all the special
character pages of UniCode a few years ago but couldn't find it
anywhere there. The closest I can get to it is a Chinese character,
which is not at all close:
*******
* *
* *
*******
* *
* *
*******

> btw, it's Unicode or UNICODE, never UniCode.

For newly-compounded words, I prefer CamelCase (for proper nouns
and the like in English, and function names in PHP/C/Java) or
hyphenated-form (for common nouns/verbs/etc. in English, and
function names in Lisp), not Runallthewordstogetherillegibly or
SHOUTATTHETOPOFYOURLUNGS.
(Except a couple posts ago when I discovered that my NewEco site
is DOWN FOR 24 HOURS WHILE THE ADMIN CHECKS FOR MALWARE.)

Shit: I just noticed that KCSM has Star Hustler but not with Jack
Hormheimer, rather some young dude trying to impersonate him by
reading exactly the same scripts with similar vocal intonation,
while sitting on Saturn's rings as if it were a park bench or
stadium seat, but really not as good an effect as Jack used to do.
This young guy is really trying but just can't star-hustle like
Jack did. Crap, they even had an ad for a DVD of Jack Horkheimer at
the end of the Jack-wannabe's presentation. I guess the DVD sales
staff understands that nobody can really replace Jack and we all
miss him, and if we're going to buy a DVD we want the real guy, not
an impersonator.

Robert Maas, http://tinyurl.com/uh3t

unread,
Jan 4, 2011, 6:35:51 AM1/4/11
to
> From: "Pascal J. Bourguignon" <p...@informatimago.com>
> There are also several free shit hosting sites on earth that
> offer gigakilograms of free shit, but nothing similar for any
> form of haute cuisine.

I got laid off in 1991 due to the recession. For the next three years
nobody had money to hire me. Then the reason for not hiring
me changed to the fact that I have no recent (last-2-years)
*paid* work experience. None of the immense volume of work
I've done from 1991-2011 without pay counts shit when looking
for employmet.

As a result, I have no money even to buy ground beef or canned
spaghetti&meatballs or Beefaroni or Wheat Chex at a supermarket. I
have to rely on free food I can get from a food bank, which
includes mostly potatoes that require digging out the several
rotten spots in each before they are safe to cook&eat. Or if I want
to spend 1.5 hours each way on public transit, I can get free
leftover pizza at a drop-in center in San Jose at noon any
Thursday. I can't even afford the lunch special at New Orient
chinese restaurant at Old Middlefield and Rengstorff in Mountain
View where I used to occasionally get an affordable meal back when
I had a job and a car to get there quickly.

So don't talk to me about haute cuisine, which I couldn't afford
even when I had a Programmer/Analyst II job at Stanford that paid
$19.20/hr.

> > If you deny that fact, please show me where such free gigabyte
> > Lisp/MySQL hosting sites exist.
> What is good is not always free.

Better is the enemy of good enough to keep me from starving to
death. Monday I ate potatoes from food bank with chicken-gravy made
from packet from food bank, and corn-flakes cereal from food bank
with milk from Safeway via gift-card from food bank, and spaghetti
from food bank with Hunts 4-cheese pasta sauce from Safeway via
gift-card from food bank, and apple from food bank, and
not-quite-ripe orange from food bank. I would rather eat New Orient
chicken-almond chow mein, Round Table mushroom+sausage pizza,
Celeste Deluxe frozen pizza, Beefaroni, Yu-Sing chop suey,
Tropicana "homestyle" orange juice, etc. but I don't have that
option.

If you will please provide me with a free mod_lisp or LSP hosting
site with MySQL and at least a gigabyte of storage for files+DB ...

Or find some money to pay me to write Lisp and/or PHP software.

Robert Maas, http://tinyurl.com/uh3t

unread,
Jan 13, 2011, 10:48:20 PM1/13/11
to
> From: Tim Bradshaw <t...@tfeb.org>

> Copy & paste a lot more effort than typing a single letter.

Remembering which single letter equates to which canned command may
be more difficut than just seeing the canned command in
fully-verbose Lisp notation and doing a copy-and-paste of it.

There are ony a fixed number of single letters, whereas there are
an unbounded number of possible text commands to copy-and-paste.

Referring to a "crib sheet" to remind yourself which single letter
corresponds to the canned command you want, takes almost the same
effort as just doing copy-and-paste anyway.

Thus single-character macros and the like should be reserved for
those few commands that you do so very often that the set-up cost
of defining the single-character macro and then memorizing the
mapping between the character and the command will be later paid
back with repeated use of the single-character macro.

Long ago when I was working on a Lisp system that didn't have
copy-and-paste (it had only stdio interface, and personal computers
hadn't yet been invented so I couldn't use a PC with copy-and-paste
to talk to the remote stdio Lisp), and didn't have single-character
macros either, I typically defined the funtion L to re-load
whatever I was working on, and Q to re-try my toplevel test rig. I
still occasionally use functions like that when there's one or two
tasks I do very often in a single session, such as (QF) to re-do my
automated FTP task that uploads (to remote PHP/MySQL hosting site)
all the (PHP) scripts that I've edited since previous upload. But
for tasks that I don't do quite so repeatedly, but still need to do
moderately often, I have a help system, where the global variable ?
gives a list of topics, and then copy-and-paste from one of the
topics gives a sub-menu etc. until I reach the list of templates
for actually doing useful tasks. For example, ?nestal gives the
templates for using my nested-association-list library. Eventually
I might convert this nested-help system into a Web-page tree, but I
haven't yet felt the advantage of doing that yet.

It is loading more messages.
0 new messages