From: Dr.X
Subject: new to lisp
Date: 
Message-ID: <M_pl8.184088$Dl4.20965009@typhoon.tampabay.rr.com>
Wow, this is probably the most active ng on programming I have
ever seen. maybe I can learn something here. I want to learn a
programming language. can anyone tell me why I should look at
lisp? is there any sort of "visual" lisp I can get, sortta like
"visual" basic or some type of IDE that will help with the
learning curve? is there a freebee download? is there a dll or
runtime gadget I have to get to start with? CAUTION, STUPID
QUESTION AHEAD: is there a program anywhere that will allow lisp
to be run directly on the windows scripting host? some kind of
"lisp script"?

please be patient with me as I am totally retarded when it comes
to lisp.

Thank you very much for your time.

Dr.X

From: Eric Moss
Subject: Re: new to lisp
Date: 
Message-ID: <86r8mhein9.fsf@kirk.localdomain>
My personal recommendations:

www.alu.org for links to distributions, books, source code and more

www.franz.com for free (for personal use only) Common Lisp implementation

clisp.cons.org for a lisp that can produce scripts (that are nicer than
   typical shell-scripts or Perl by virtue of having Lisp's power)

www.digitool.com if you have a Mac

Stuart Shapiro's book "Common Lisp: an interactive approach" because it
  goes through lots of examples that point out "gotchas" that you might
  not even know to ask about.  More experienced lispers like other books
  better, but if you are just starting out, this is a nice book to get you
  going with the mechanics of lisping.

CLTL2 (Common Lisp, The Language, ed. 2)  because it has an amazing level
  of detail about the language 

CL-HyperSpec + Erik Naggum's elisp package.  These let you consult HTML
  documentation in emacs by putting the cursor in a command you're not sure
  about and quickly opening a browser to that reference.  VERY handy.


That's more than enough to keep you busy for a while.

Have fun,

Eric

-- 
"The obvious mathematical breakthrough would be development of an easy
 way to factor large prime numbers."

	Bill Gates, The Road Ahead, Viking Penguin (1995), page 265
From: Dr.X
Subject: Re: new to lisp
Date: 
Message-ID: <p7rl8.184433$Dl4.21031584@typhoon.tampabay.rr.com>
I'm already all over the web with the other suggestions ;-)
I noticed that most of the free lisp implementations have serious
limitations in functionality to prevent commercial use. it seems
that I can't find one that will let me try everything about it.
is there a engine some where that I can install that will "run" a
lisp program right off? I don't know the extensions but here is a
example of what I thought was right. in my little travels on the
ng's, I noticed that visual basic scripts have an extension of
.vbs and that tells the system to open and run it in wscript.exe
or something to that effect. is there something like that in
lisp? does the programs written in lisp have a special extension
like *.lsp or something and is associated with some program like
wlisp.exe

let me know when my questions start sounding too stupid.

Dr.X

Eric Moss <········@alltel.net> wrote in message
···················@kirk.localdomain...
> My personal recommendations:
>
> www.alu.org for links to distributions, books, source code and
more
>
> www.franz.com for free (for personal use only) Common Lisp
implementation
>
> clisp.cons.org for a lisp that can produce scripts (that are
nicer than
>    typical shell-scripts or Perl by virtue of having Lisp's
power)
>
> www.digitool.com if you have a Mac
>
> Stuart Shapiro's book "Common Lisp: an interactive approach"
because it
>   goes through lots of examples that point out "gotchas" that
you might
>   not even know to ask about.  More experienced lispers like
other books
>   better, but if you are just starting out, this is a nice book
to get you
>   going with the mechanics of lisping.
>
> CLTL2 (Common Lisp, The Language, ed. 2)  because it has an
amazing level
>   of detail about the language
>
> CL-HyperSpec + Erik Naggum's elisp package.  These let you
consult HTML
>   documentation in emacs by putting the cursor in a command
you're not sure
>   about and quickly opening a browser to that reference.  VERY
handy.
>
>
> That's more than enough to keep you busy for a while.
>
> Have fun,
>
> Eric
>
> --
> "The obvious mathematical breakthrough would be development of
an easy
>  way to factor large prime numbers."
>
> Bill Gates, The Road Ahead, Viking Penguin (1995), page 265
>
From: Joe Marshall
Subject: Re: new to lisp
Date: 
Message-ID: <Ztrl8.31354$44.8748185@typhoon.ne.ipsvc.net>
"Dr.X" <·············@rxp.com> wrote in message
······························@typhoon.tampabay.rr.com...
> I'm already all over the web with the other suggestions ;-)
> I noticed that most of the free lisp implementations have serious
> limitations in functionality to prevent commercial use. it seems
> that I can't find one that will let me try everything about it.

Try Corman Common Lisp at
http://www.corman.net

Corman lisp is not `crippled' in any way.  He trusts that you will
follow the license.  The IDE will expire after 30 days, but the
IDE is an `add-on' product.  If you are comfortable writing code
with notepad, you don't need the IDE.

The price for a commercial license is quite reasonable, too.

> is there a engine some where that I can install that will "run" a
> lisp program right off? I don't know the extensions but here is a
> example of what I thought was right. in my little travels on the
> ng's, I noticed that visual basic scripts have an extension of
> .vbs and that tells the system to open and run it in wscript.exe
> or something to that effect. is there something like that in
> lisp? does the programs written in lisp have a special extension
> like *.lsp or something and is associated with some program like
> wlisp.exe

This is handled by the operating system rather than the language.
The windows registry has entries in it that map file extensions
to the programs that can run them.


>
> let me know when my questions start sounding too stupid.
>
> Dr.X
>
> Eric Moss <········@alltel.net> wrote in message
> ···················@kirk.localdomain...
> > My personal recommendations:
> >
> > www.alu.org for links to distributions, books, source code and
> more
> >
> > www.franz.com for free (for personal use only) Common Lisp
> implementation
> >
> > clisp.cons.org for a lisp that can produce scripts (that are
> nicer than
> >    typical shell-scripts or Perl by virtue of having Lisp's
> power)
> >
> > www.digitool.com if you have a Mac
> >
> > Stuart Shapiro's book "Common Lisp: an interactive approach"
> because it
> >   goes through lots of examples that point out "gotchas" that
> you might
> >   not even know to ask about.  More experienced lispers like
> other books
> >   better, but if you are just starting out, this is a nice book
> to get you
> >   going with the mechanics of lisping.
> >
> > CLTL2 (Common Lisp, The Language, ed. 2)  because it has an
> amazing level
> >   of detail about the language
> >
> > CL-HyperSpec + Erik Naggum's elisp package.  These let you
> consult HTML
> >   documentation in emacs by putting the cursor in a command
> you're not sure
> >   about and quickly opening a browser to that reference.  VERY
> handy.
> >
> >
> > That's more than enough to keep you busy for a while.
> >
> > Have fun,
> >
> > Eric
> >
> > --
> > "The obvious mathematical breakthrough would be development of
> an easy
> >  way to factor large prime numbers."
> >
> > Bill Gates, The Road Ahead, Viking Penguin (1995), page 265
> >
>
>
From: Thaddeus L Olczyk
Subject: Re: new to lisp
Date: 
Message-ID: <3c97712f.534093640@nntp.interaccess.com>
On Mon, 18 Mar 2002 19:46:01 GMT, "Joe Marshall"
<·············@attbi.com> wrote:

>Corman lisp is not `crippled' in any way.  He trusts that you will
>follow the license.  The IDE will expire after 30 days, but the
>IDE is an `add-on' product.  If you are comfortable writing code
>with notepad, you don't need the IDE.
Notepad Gag cough what fool uses notepad.
Emacs+ilisp.
From: Joe Marshall
Subject: Re: new to lisp
Date: 
Message-ID: <9uul8.31618$44.8882593@typhoon.ne.ipsvc.net>
"Thaddeus L Olczyk" <······@interaccess.com> wrote in message
·······················@nntp.interaccess.com...
> On Mon, 18 Mar 2002 19:46:01 GMT, "Joe Marshall"
> <·············@attbi.com> wrote:
>
> >Corman lisp is not `crippled' in any way.  He trusts that you will
> >follow the license.  The IDE will expire after 30 days, but the
> >IDE is an `add-on' product.  If you are comfortable writing code
> >with notepad, you don't need the IDE.
>
> Notepad Gag cough what fool uses notepad.
> Emacs+ilisp.

I was trying to illustrate that even if notepad was the only
text editor on your system, you could still hack lisp.  I certainly
wouldn't *advise* anyone to do this!  Emacs is, of course,
the preferred option.
From: Nils Goesche
Subject: Re: new to lisp
Date: 
Message-ID: <a75au8$ih7kq$1@ID-125440.news.dfncis.de>
In article <·························@typhoon.tampabay.rr.com>, Dr.X wrote:
> Wow, this is probably the most active ng on programming I have
> ever seen. maybe I can learn something here. I want to learn a
> programming language. can anyone tell me why I should look at
> lisp?

I guess most people here will tell you that you should look at
Lisp because it is the most `powerful' language in existence,
which it is.  But your question seems to indicate that that
would be your /first/ programming language, is that correct?
Most people only arrive at Common Lisp after learning several
other programming languages, and it is hard to tell how hard it
really is to use Lisp as a first programming language, especially
as I am not sure if there is any book on Lisp that is really
directed at total programming newbies.  Maybe ``Object-Oriented
Common Lisp'' by Stephen Slade is one, at least it left that
impression on me when I skimmed it.

> is there any sort of "visual" lisp I can get, sortta like
> "visual" basic or some type of IDE that will help with the
> learning curve? is there a freebee download?

The closest is probably LispWorks for Windows, a free evaluation
version of which you can get

http://www.xanalys.com/software_tools/downloads/lw-personal-edition.html

> is there a dll or
> runtime gadget I have to get to start with? CAUTION, STUPID
> QUESTION AHEAD: is there a program anywhere that will allow lisp
> to be run directly on the windows scripting host? some kind of
> "lisp script"?

I have no idea

Regards,
-- 
Nils Goesche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID 0x42B32FC9
From: Kenny Tilton
Subject: Re: new to lisp
Date: 
Message-ID: <3C9631C8.FBFBD8A9@nyc.rr.com>
Nils Goesche wrote:
> 
> Most people only arrive at Common Lisp after learning several
> other programming languages, and it is hard to tell how hard it
> really is to use Lisp as a first programming language, especially
> as I am not sure if there is any book on Lisp that is really
> directed at total programming newbies.

Touretzky, David S. "Common Lisp: A Gentle Introduction to Symbolic
Computing" at least /includes/ programming newcomers amongst its
intended audience.


-- 

 kenny tilton
 clinisys, inc
 ---------------------------------------------------------------
"Well, I've wrestled with reality for thirty-five years, Doctor, and 
 I'm happy to state I finally won out over it."   Elwood P. Dowd
From: Thomas F. Burdick
Subject: Re: new to lisp
Date: 
Message-ID: <xcvk7s85q07.fsf@apocalypse.OCF.Berkeley.EDU>
Kenny Tilton <·······@nyc.rr.com> writes:

> Nils Goesche wrote:
> > 
> > Most people only arrive at Common Lisp after learning several
> > other programming languages, and it is hard to tell how hard it
> > really is to use Lisp as a first programming language, especially
> > as I am not sure if there is any book on Lisp that is really
> > directed at total programming newbies.
> 
> Touretzky, David S. "Common Lisp: A Gentle Introduction to Symbolic
> Computing" at least /includes/ programming newcomers amongst its
> intended audience.

I was actually just about to recommend this book.  I recently
recommended it for a friend's much younger sibling who has no
experience programming whatsoever, and apparently he's eating it up.

BTW, anyone know of a good easy-to-use for a newbie GUI system for
MCL?  We almost pointed this kid at Squeak, but figured that a
multiparadigm language was probably less likely to give him the OO
equivilent of the BASIC hangups we both suffered from.  If we can
avoid having to re-port Garnet, that'd be nice...

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Thaddeus L Olczyk
Subject: Re: new to lisp
Date: 
Message-ID: <3c963376.518292109@nntp.interaccess.com>
On 18 Mar 2002 18:16:40 GMT, Nils Goesche <······@cartan.de> wrote:

>In article <·························@typhoon.tampabay.rr.com>, Dr.X wrote:
>> Wow, this is probably the most active ng on programming I have
>> ever seen. maybe I can learn something here. I want to learn a
>> programming language. can anyone tell me why I should look at
>> lisp?
>
>I guess most people here will tell you that you should look at
>Lisp because it is the most `powerful' language in existence,
>which it is.  But your question seems to indicate that that
>would be your /first/ programming language, is that correct?
>Most people only arrive at Common Lisp after learning several
>other programming languages, and it is hard to tell how hard it
>really is to use Lisp as a first programming language, especially
>as I am not sure if there is any book on Lisp that is really
>directed at total programming newbies.  Maybe ``Object-Oriented
>Common Lisp'' by Stephen Slade is one, at least it left that
>impression on me when I skimmed it.
>
OK it's not about LIsp, but what about 
Structure and Interpretation of Computer Programs
aka SICP
IT's from mit press and you can download the whole book 
from thew mit web site.
I think the URL is 
http://mit.press.edu/SICP
>> is there any sort of "visual" lisp I can get, sortta like
>> "visual" basic or some type of IDE that will help with the
>> learning curve? is there a freebee download?
>
>The closest is probably LispWorks for Windows, a free evaluation
>version of which you can get
>
>http://www.xanalys.com/software_tools/downloads/lw-personal-edition.html
>
LispWorks does not come with a GUI Builder ( not the personal edition
) which I suspect he3 is asking for.
Try Allegro instead. 
www.franz.com
>> is there a dll or
>> runtime gadget I have to get to start with? CAUTION, STUPID
>> QUESTION AHEAD: is there a program anywhere that will allow lisp
>> to be run directly on the windows scripting host? some kind of
>> "lisp script"?
>
Lisp's look a bit like smalltalk. They both have core interpreters
which also load images of their last session. You start by giving a 
command something like:
run-lisp -D directoryofsrc -I image file.
You could install this in a bat file.
From: Nils Goesche
Subject: Re: new to lisp
Date: 
Message-ID: <a75cu4$ii5h7$1@ID-125440.news.dfncis.de>
In article <··················@nntp.interaccess.com>, Thaddeus L Olczyk wrote:
> On 18 Mar 2002 18:16:40 GMT, Nils Goesche <······@cartan.de> wrote:
> 
>>In article <·························@typhoon.tampabay.rr.com>, Dr.X wrote:
>>> Wow, this is probably the most active ng on programming I have
>>> ever seen. maybe I can learn something here. I want to learn a
>>> programming language. can anyone tell me why I should look at
>>> lisp?
>>
>>I guess most people here will tell you that you should look at
>>Lisp because it is the most `powerful' language in existence,
>>which it is.  But your question seems to indicate that that
>>would be your /first/ programming language, is that correct?
>>Most people only arrive at Common Lisp after learning several
>>other programming languages, and it is hard to tell how hard it
>>really is to use Lisp as a first programming language, especially
>>as I am not sure if there is any book on Lisp that is really
>>directed at total programming newbies.  Maybe ``Object-Oriented
>>Common Lisp'' by Stephen Slade is one, at least it left that
>>impression on me when I skimmed it.
>>
> OK it's not about LIsp, but what about 
> Structure and Interpretation of Computer Programs
> aka SICP
> IT's from mit press and you can download the whole book 
> from thew mit web site.
> I think the URL is 
> http://mit.press.edu/SICP

We had a thread here recently about that book.  It certainly is
a good book, but people convinced me that it might not be a good
idea to recommend this book to beginners because they might not
be able to recognize how one-sided this book actually is, and how
far away from actual, concrete programming.

Regards,
-- 
Nils Goesche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID 0x42B32FC9
From: Thaddeus L Olczyk
Subject: Re: new to lisp
Date: 
Message-ID: <3c9670a1.533951656@nntp.interaccess.com>
On 18 Mar 2002 18:50:44 GMT, Nils Goesche <······@cartan.de> wrote:

>> OK it's not about LIsp, but what about 
>> Structure and Interpretation of Computer Programs
>> aka SICP
>> IT's from mit press and you can download the whole book 
>> from thew mit web site.
>> I think the URL is 
>> http://mit.press.edu/SICP
>
>We had a thread here recently about that book.  It certainly is
>a good book, but people convinced me that it might not be a good
>idea to recommend this book to beginners because they might not
>be able to recognize how one-sided this book actually is, and how
>far away from actual, concrete programming.
What was the title of the thread?
From: Nils Goesche
Subject: Re: new to lisp
Date: 
Message-ID: <a75rk8$ivq72$1@ID-125440.news.dfncis.de>
In article <··················@nntp.interaccess.com>, Thaddeus L Olczyk wrote:
> On 18 Mar 2002 18:50:44 GMT, Nils Goesche <······@cartan.de> wrote:
> 
>>> OK it's not about LIsp, but what about 
>>> Structure and Interpretation of Computer Programs
>>> aka SICP
>>> IT's from mit press and you can download the whole book 
>>> from thew mit web site.
>>> I think the URL is 
>>> http://mit.press.edu/SICP
>>
>>We had a thread here recently about that book.  It certainly is
>>a good book, but people convinced me that it might not be a good
>>idea to recommend this book to beginners because they might not
>>be able to recognize how one-sided this book actually is, and how
>>far away from actual, concrete programming.

> What was the title of the thread?

``one small function''

Regards,
-- 
Nils Goesche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID 0x42B32FC9
From: Coby Beck
Subject: Re: new to lisp
Date: 
Message-ID: <iOql8.119866$eb.5428480@news3.calgary.shaw.ca>
"Nils Goesche" <······@cartan.de> wrote in message
···················@ID-125440.news.dfncis.de...
> In article <·························@typhoon.tampabay.rr.com>, Dr.X
wrote:
> > Wow, this is probably the most active ng on programming I have
> > ever seen. maybe I can learn something here. I want to learn a
> > programming language. can anyone tell me why I should look at
> > lisp?
>
> I guess most people here will tell you that you should look at
> Lisp because it is the most `powerful' language in existence,
> which it is.  But your question seems to indicate that that
> would be your /first/ programming language, is that correct?
> Most people only arrive at Common Lisp after learning several
> other programming languages, and it is hard to tell how hard it
> really is to use Lisp as a first programming language,

That's an interesting question really, how is Lisp as a first language.
Personally, I think it is an excellent first language for some very specific
reasons:

1) an interactive environment for "instant programming gratification".  ie.
you can even use it as a calculator.  I remember the first thing I ever did
when faced with a DOS prompt: 2 + 2<enter>  It didn't work...but with lesson
0.01 in Lisp, you /can/ type (+ 2 2)<enter> and get what you expect.

2) a uniform and simple basic syntax.  With the exception of format
directives, backquote syntax and a few other corners, the bulk of
functionality is very straightforward.  Open paren, function name,
arguments.  Learn let and a handful of other important macros that seem to
contradict that pattern and you are off and running!

3) [for english speakers at least] a lot of similarity to natural language.
print, read, sort, list, quote etc...I found very quickly that once I had a
feel for naming conventions, when I needed some functionality I just took a
guess and as often as not, it worked!  (This was great as far as learning
the basics, of course serious work requires more effort and care.)
(exceptions to point 3 will not sway me ;)


> especially
> as I am not sure if there is any book on Lisp that is really
> directed at total programming newbies.

This would be a nice thing to have.  So much of the resistance to Lisp is
conditioned.  A nice fresh perspective will have so many fewer difficulties!

--
Coby Beck
(remove #\Space "coby 101 @ bigpond . com")
From: Rahul Jain
Subject: Re: new to lisp
Date: 
Message-ID: <87g02xy7zw.fsf@photino.sid.rice.edu>
"Coby Beck" <·····@mercury.bc.ca> writes:

> "Nils Goesche" <······@cartan.de> wrote in message
> ···················@ID-125440.news.dfncis.de...
> > especially
> > as I am not sure if there is any book on Lisp that is really
> > directed at total programming newbies.
> 
> This would be a nice thing to have.  So much of the resistance to Lisp is
> conditioned.  A nice fresh perspective will have so many fewer difficulties!

I think that's what Successful Lisp is supposed to be:
http://psg.com/~dlamkins/sl/contents.html

-- 
-> -/                        - Rahul Jain -                        \- <-
-> -\  http://linux.rice.edu/~rahul -=-  ············@techie.com   /- <-
-> -/ "Structure is nothing if it is all you got. Skeletons spook  \- <-
-> -\  people if [they] try to walk around on their own. I really  /- <-
-> -/  wonder why XML does not." -- Erik Naggum, comp.lang.lisp    \- <-
|--|--------|--------------|----|-------------|------|---------|-----|-|
   (c)1996-2002, All rights reserved. Disclaimer available upon request.
From: Nils Goesche
Subject: Re: new to lisp
Date: 
Message-ID: <a75o2v$ipt42$1@ID-125440.news.dfncis.de>
In article <·······················@news3.calgary.shaw.ca>, Coby Beck wrote:
> 
> "Nils Goesche" <······@cartan.de> wrote in message
> ···················@ID-125440.news.dfncis.de...
>> In article <·························@typhoon.tampabay.rr.com>, Dr.X
> wrote:
>> > Wow, this is probably the most active ng on programming I have
>> > ever seen. maybe I can learn something here. I want to learn a
>> > programming language. can anyone tell me why I should look at
>> > lisp?
>>
>> I guess most people here will tell you that you should look at
>> Lisp because it is the most `powerful' language in existence,
>> which it is.  But your question seems to indicate that that
>> would be your /first/ programming language, is that correct?
>> Most people only arrive at Common Lisp after learning several
>> other programming languages, and it is hard to tell how hard it
>> really is to use Lisp as a first programming language,
> 
> That's an interesting question really, how is Lisp as a first language.
> Personally, I think it is an excellent first language for some very specific
> reasons:
> 
> 1) an interactive environment for "instant programming gratification".  ie.
> you can even use it as a calculator.  I remember the first thing I ever did
> when faced with a DOS prompt: 2 + 2<enter>  It didn't work...but with lesson
> 0.01 in Lisp, you /can/ type (+ 2 2)<enter> and get what you expect.
> 
> 2) a uniform and simple basic syntax.  With the exception of format
> directives, backquote syntax and a few other corners, the bulk of
> functionality is very straightforward.  Open paren, function name,
> arguments.  Learn let and a handful of other important macros that seem to
> contradict that pattern and you are off and running!
> 
> 3) [for english speakers at least] a lot of similarity to natural language.
> print, read, sort, list, quote etc...I found very quickly that once I had a
> feel for naming conventions, when I needed some functionality I just took a
> guess and as often as not, it worked!  (This was great as far as learning
> the basics, of course serious work requires more effort and care.)
> (exceptions to point 3 will not sway me ;)

Yes, those are good pros.  But I am still not sure if it is really
good advice to tell a newbie to start with Lisp.  The first program
I successfully wrote and ran looked like something along the lines of

10 PRINT "HELLO"
20 GOTO 10

That would be

(TAGBODY
 10 (PRINT 'HELLO)
    (GO 10))

:-)  I quickly realized that you don't get very far with that and
switched to 6502 Assembler for the next few years.  But that is not
a way I'd recommend to the OP :-)  But then:  The reason we like
high level languages is that they free us from doing the same ugly
low level details over and over again; but how is someone who doesn't
even /know/ those details supposed to appreciate, and, more importantly,
make use of that?  Or ever really understand the difference between
EQ and EQL?  I think it is impossible to ever become a good programmer
if you don't know how a computer actually works, internally.  So, frankly
I think it would still be best to learn programming with C, actually.
There are drawbacks, of course:  With C, the newbie won't be able to
write any flashy GUI stuff to impress his friends, at least not before
a few years of studying.  And maybe he would be spoiled too much by
the C mindset, which would then have to be painfully removed again.
C++ is much too complex, Java already too high level, and too complex,
too.  Ah, I don't know.  I really don't.  Sure, it would be interesting
to find out how somebody who starts with Common Lisp evolves, but one
should at least be honest enough to tell him that he would be used
as a guinea pig, because nobody really knows if it could work.

Regards,
-- 
Nils Goesche
"Don't ask for whom the <CTRL-G> tolls."

PGP key ID 0x42B32FC9
From: Coby Beck
Subject: Re: new to lisp
Date: 
Message-ID: <x4vl8.121681$eb.5502738@news3.calgary.shaw.ca>
"Nils Goesche" <······@cartan.de> wrote in message
···················@ID-125440.news.dfncis.de...
> In article <·······················@news3.calgary.shaw.ca>, Coby Beck
wrote:
> >
> > "Nils Goesche" <······@cartan.de> wrote in message
> > ···················@ID-125440.news.dfncis.de...
> >> In article <·························@typhoon.tampabay.rr.com>, Dr.X
> > wrote:
> > That's an interesting question really, how is Lisp as a first language.
> > Personally, I think it is an excellent first language for some very
specific
> > reasons:
[snip]
> Yes, those are good pros.  But I am still not sure if it is really
> good advice to tell a newbie to start with Lisp.  The first program
> I successfully wrote and ran looked like something along the lines of
>
> 10 PRINT "HELLO"
> 20 GOTO 10
>
> That would be
>
> (TAGBODY
>  10 (PRINT 'HELLO)
>     (GO 10))

But without that Basic influence, you'd do:

(loop (print 'hello))

Can't get plainer than that! ;)

>
> :-)  I quickly realized that you don't get very far with that and
> switched to 6502 Assembler for the next few years.  But that is not
> a way I'd recommend to the OP :-)  But then:  The reason we like
> high level languages is that they free us from doing the same ugly
> low level details over and over again; but how is someone who doesn't
> even /know/ those details supposed to appreciate, and, more importantly,
> make use of that?  Or ever really understand the difference between
> EQ and EQL?  I think it is impossible to ever become a good programmer
> if you don't know how a computer actually works, internally.

Very true.  I guess its a question of when to learn the nuts and bolts.
Personally, I learned C before anything.  I was warned against doing that
though, instructors and counsellors all said I should take Pascal or Basic
first.  I have no regrets.

> So, frankly
> I think it would still be best to learn programming with C, actually.

I guess if can live without that instant gratification thing!  (as you
mention below..)

> There are drawbacks, of course:  With C, the newbie won't be able to
> write any flashy GUI stuff to impress his friends, at least not before
> a few years of studying.  And maybe he would be spoiled too much by
> the C mindset, which would then have to be painfully removed again.
> C++ is much too complex, Java already too high level, and too complex,
> too.  Ah, I don't know.  I really don't.  Sure, it would be interesting
> to find out how somebody who starts with Common Lisp evolves, but one
> should at least be honest enough to tell him that he would be used
> as a guinea pig, because nobody really knows if it could work.

Hmm..guinea pig or sheep?  Life's eternal choice... :)

--
Coby Beck
(remove #\Space "coby 101 @ bigpond . com")
From: Joe Marshall
Subject: Re: new to lisp
Date: 
Message-ID: <S5vl8.31643$44.8911436@typhoon.ne.ipsvc.net>
"Nils Goesche" <······@cartan.de> wrote in message
···················@ID-125440.news.dfncis.de...

>  The first program
> I successfully wrote and ran looked like something along the lines of
>
> 10 PRINT "HELLO"
> 20 GOTO 10
>
> That would be
>
> (TAGBODY
>  10 (PRINT 'HELLO)
>     (GO 10))
>
> :-)  I quickly realized that you don't get very far with that...

Don't be so sure.  Greenblatt *still* programs Lisp this way.
From: Dr.X
Subject: Re: new to lisp
Date: 
Message-ID: <hmvl8.185908$Dl4.21375487@typhoon.tampabay.rr.com>
You mean that actually works????

Dr.X

Joe Marshall <·············@attbi.com> wrote in message
···························@typhoon.ne.ipsvc.net...
>
> "Nils Goesche" <······@cartan.de> wrote in message
> ···················@ID-125440.news.dfncis.de...
>
> >  The first program
> > I successfully wrote and ran looked like something along the
lines of
> >
> > 10 PRINT "HELLO"
> > 20 GOTO 10
> >
> > That would be
> >
> > (TAGBODY
> >  10 (PRINT 'HELLO)
> >     (GO 10))
> >
> > :-)  I quickly realized that you don't get very far with
that...
>
> Don't be so sure.  Greenblatt *still* programs Lisp this way.
>
>
>
From: Joe Marshall
Subject: Re: new to lisp
Date: 
Message-ID: <0Yvl8.31678$44.8950007@typhoon.ne.ipsvc.net>
Yep, it works.

Typical Greenblatt code would look like this:

(DEFUN RDSYL (L DF)
  (PROG (LL BRAKP ANS CH)
        (SETQ DF (MERGEF DF '((* *) * *)))
     AA (SETQ LL (SETQ BRAKP () ))
      A (SETQ CH (OR (CAR L) #/_))
        (COND ((OR (= CH #/) (= CH #//))     ;"/", ""
               (POP L)
               (SETQ CH (CAR L)))
              ((AND (= CH #/[) (NOT #%(ITSP)))    ;"["
               (SETQ BRAKP 'T))
              ((AND (= CH #/]) (NOT #%(ITSP))) (SETQ BRAKP () )) ;"]"
              ((OR (= CH #/( ) (= CH #/) )) (RETURN () ))  ;Cant have parens
here
              ((= CH #/,)     ;Comma
               (COND ((NOT BRAKP)
                      (POP L)
                      (GO RET))))
              ((= CH #/_) (GO RET)))
       (PUSH CH LL)
       (POP L)
       (GO A)
  RET  (SETQ DF (MERGEF (NAMELIST (MAKNAM (NREVERSE LL))) DF))
       (SETQ ANS (NCONC ANS (LIST DF)))
       (AND (= CH #/,) (GO AA))
       (RETURN ANS) ))


~jrm

-----------


XX ITS.1168. PWORD.1733.
TTY 116
3. Lusers, Fair Share = 23%
Due to popular demand, TWENEX has been flushed in favor of
ITS.  Please update your programs.




"Dr.X" <·············@rxp.com> wrote in message
······························@typhoon.tampabay.rr.com...
> You mean that actually works????
>
> Dr.X
>
> Joe Marshall <·············@attbi.com> wrote in message
> ···························@typhoon.ne.ipsvc.net...
> >
> > "Nils Goesche" <······@cartan.de> wrote in message
> > ···················@ID-125440.news.dfncis.de...
> >
> > >  The first program
> > > I successfully wrote and ran looked like something along the
> lines of
> > >
> > > 10 PRINT "HELLO"
> > > 20 GOTO 10
> > >
> > > That would be
> > >
> > > (TAGBODY
> > >  10 (PRINT 'HELLO)
> > >     (GO 10))
> > >
> > > :-)  I quickly realized that you don't get very far with
> that...
> >
> > Don't be so sure.  Greenblatt *still* programs Lisp this way.
> >
> >
> >
>
>
From: Doug McNaught
Subject: Re: new to lisp
Date: 
Message-ID: <m3wuw9jm2o.fsf@abbadon.mcnaught.org>
"Joe Marshall" <·············@attbi.com> writes:

> Yep, it works.
> 
> Typical Greenblatt code would look like this:
> 
> (DEFUN RDSYL (L DF)
>   (PROG (LL BRAKP ANS CH)
>         (SETQ DF (MERGEF DF '((* *) * *)))
>      AA (SETQ LL (SETQ BRAKP () ))

...

As they say, "some people can write FORTRAN in any language."  ;)

-Doug
From: Dr.X
Subject: Re: new to lisp
Date: 
Message-ID: <svwl8.223025$TV4.30003539@typhoon.tampabay.rr.com>
Thank you, it's as clear as mud now.  ;-)

Dr.X

Joe Marshall <·············@attbi.com> wrote in message
···························@typhoon.ne.ipsvc.net...
> Yep, it works.
>
> Typical Greenblatt code would look like this:
>
> (DEFUN RDSYL (L DF)
>   (PROG (LL BRAKP ANS CH)
>         (SETQ DF (MERGEF DF '((* *) * *)))
>      AA (SETQ LL (SETQ BRAKP () ))
>       A (SETQ CH (OR (CAR L) #/_))
>         (COND ((OR (= CH #/) (= CH #//))     ;"/", ""
>                (POP L)
>                (SETQ CH (CAR L)))
>               ((AND (= CH #/[) (NOT #%(ITSP)))    ;"["
>                (SETQ BRAKP 'T))
>               ((AND (= CH #/]) (NOT #%(ITSP))) (SETQ BRAKP
() )) ;"]"
>               ((OR (= CH #/( ) (= CH #/) )) (RETURN () ))
;Cant have parens
> here
>               ((= CH #/,)     ;Comma
>                (COND ((NOT BRAKP)
>                       (POP L)
>                       (GO RET))))
>               ((= CH #/_) (GO RET)))
>        (PUSH CH LL)
>        (POP L)
>        (GO A)
>   RET  (SETQ DF (MERGEF (NAMELIST (MAKNAM (NREVERSE LL))) DF))
>        (SETQ ANS (NCONC ANS (LIST DF)))
>        (AND (= CH #/,) (GO AA))
>        (RETURN ANS) ))
>
>
> ~jrm
>
> -----------
>
>
> XX ITS.1168. PWORD.1733.
> TTY 116
> 3. Lusers, Fair Share = 23%
> Due to popular demand, TWENEX has been flushed in favor of
> ITS.  Please update your programs.
>
>
>
>
> "Dr.X" <·············@rxp.com> wrote in message
> ······························@typhoon.tampabay.rr.com...
> > You mean that actually works????
> >
> > Dr.X
> >
> > Joe Marshall <·············@attbi.com> wrote in message
> > ···························@typhoon.ne.ipsvc.net...
> > >
> > > "Nils Goesche" <······@cartan.de> wrote in message
> > > ···················@ID-125440.news.dfncis.de...
> > >
> > > >  The first program
> > > > I successfully wrote and ran looked like something along
the
> > lines of
> > > >
> > > > 10 PRINT "HELLO"
> > > > 20 GOTO 10
> > > >
> > > > That would be
> > > >
> > > > (TAGBODY
> > > >  10 (PRINT 'HELLO)
> > > >     (GO 10))
> > > >
> > > > :-)  I quickly realized that you don't get very far with
> > that...
> > >
> > > Don't be so sure.  Greenblatt *still* programs Lisp this
way.
> > >
> > >
> > >
> >
> >
>
>
>
From: Kent M Pitman
Subject: Re: new to lisp
Date: 
Message-ID: <sfwbsdl4dg9.fsf@shell01.TheWorld.com>
"Joe Marshall" <·············@attbi.com> writes:

> "Nils Goesche" <······@cartan.de> wrote in message
> ···················@ID-125440.news.dfncis.de...
> 
> >  The first program
> > I successfully wrote and ran looked like something along the lines of
> >
> > 10 PRINT "HELLO"
> > 20 GOTO 10
> >
> > That would be
> >
> > (TAGBODY
> >  10 (PRINT 'HELLO)
> >     (GO 10))
> >
> > :-)  I quickly realized that you don't get very far with that...
> 
> Don't be so sure.  Greenblatt *still* programs Lisp this way.

And if you use too many go tags, does the lisp machine compiler error
still say "That's too many go tags, RG!" ?  [1]  Actually, I'm not
sure of the precise message text, and am not in the right room to just
type in a test to my LispM, but I recall it used to mention him by 
name. :-)

[1] RG = Richard Greenblatt
From: Dr. Edmund Weitz
Subject: Re: new to lisp
Date: 
Message-ID: <m3g02xm2qt.fsf@bird.agharta.de>
Kent M Pitman <······@world.std.com> writes:

> "Joe Marshall" <·············@attbi.com> writes:
> 
> > Don't be so sure.  Greenblatt *still* programs Lisp this way.
> 
> And if you use too many go tags, does the lisp machine compiler
> error still say "That's too many go tags, RG!" ?  [1] Actually, I'm
> not sure of the precise message text, and am not in the right room
> to just type in a test to my LispM, but I recall it used to mention
> him by name. :-)
> 
> [1] RG = Richard Greenblatt

Who is this Richard Greenblatt?

Edi.

-- 

Dr. Edmund Weitz
Hamburg
Germany

The Common Lisp Cookbook
<http://cl-cookbook.sourceforge.net/>
From: Friedrich Dominicus
Subject: Re: new to lisp
Date: 
Message-ID: <878z8pgdep.fsf@fbigm.here>
···@agharta.de (Dr. Edmund Weitz) writes:

> Kent M Pitman <······@world.std.com> writes:
> 
> > "Joe Marshall" <·············@attbi.com> writes:
> > 
> > > Don't be so sure.  Greenblatt *still* programs Lisp this way.
> > 
> > And if you use too many go tags, does the lisp machine compiler
> > error still say "That's too many go tags, RG!" ?  [1] Actually, I'm
> > not sure of the precise message text, and am not in the right room
> > to just type in a test to my LispM, but I recall it used to mention
> > him by name. :-)
> > 
> > [1] RG = Richard Greenblatt
> 
> Who is this Richard Greenblatt?
Well see Hackers from Stephen Levy. Starting around chapter 4 I cite:
"... Greenblatt was a hacker  waiting to be happen" Of course a Lisp
Hacker ;-) and what makes him even more outstanding is that he is
regarded as the "Father" of LispMachines. I just can suggest reading that book
it's really facinating.

Regards
Friedrich
From: Dr. Edmund Weitz
Subject: Re: new to lisp
Date: 
Message-ID: <m3ofhk7cgo.fsf@bird.agharta.de>
Friedrich Dominicus <·····@q-software-solutions.com> writes:

> Well see Hackers from Stephen Levy. Starting around chapter 4 I
> cite: "... Greenblatt was a hacker waiting to be happen" Of course a
> Lisp Hacker ;-) and what makes him even more outstanding is that he
> is regarded as the "Father" of LispMachines. I just can suggest
> reading that book it's really facinating.

Thanks. I tried to get this book about one or two years ago and it
seemed to be out of print. I just checked again with Amazon and it
looks like now it's available again - maybe a reprint -, so I ordered
it.

Thanks again,
Edi.

-- 

Dr. Edmund Weitz
Hamburg
Germany

The Common Lisp Cookbook
<http://cl-cookbook.sourceforge.net/>
From: Gareth McCaughan
Subject: Re: new to lisp
Date: 
Message-ID: <slrna9igp6.1qm0.Gareth.McCaughan@g.local>
Nils Goesche wrote:

> :-)  I quickly realized that you don't get very far with that and
> switched to 6502 Assembler for the next few years.  But that is not
> a way I'd recommend to the OP :-)  But then:  The reason we like
> high level languages is that they free us from doing the same ugly
> low level details over and over again; but how is someone who doesn't
> even /know/ those details supposed to appreciate, and, more importantly,
> make use of that?  Or ever really understand the difference between
> EQ and EQL?  I think it is impossible to ever become a good programmer
> if you don't know how a computer actually works, internally.  So, frankly
> I think it would still be best to learn programming with C, actually.

I'm not sure 6502 assembler is such a bad thing to learn
early on. I think I'd recommend new programmers to learn

  - an assembly language, so they get a good feel for
    what computers can fundamentally do and how fast.
    (I'd recommend ARM assembler, because it's simple
    and elegant.)

  - C, for pragmatic reasons and also because its close
    correspondence with machine code helps to give a
    feel for what the computer does when you feed it
    a loop or an assignment or something.

  - a much higher level language (Common Lisp would be
    good; Python or Smalltalk would do OK, too), to
    appreciate that programming doesn't have to hurt
    and to teach modes of thinking that arise only with
    difficulty at lower levels.

I think it's very difficult (I won't say impossible) to
become a really good programmer if you don't have all three
perspectives.

-- 
Gareth McCaughan  ················@pobox.com
.sig under construc
From: Nils Goesche
Subject: Re: new to lisp
Date: 
Message-ID: <87ofhivcg9.fsf@darkstar.cartan>
················@pobox.com (Gareth McCaughan) writes:

> Nils Goesche wrote:
> 
> > :-)  I quickly realized that you don't get very far with that and
> > switched to 6502 Assembler for the next few years.
> 
> I'm not sure 6502 assembler is such a bad thing to learn
> early on. I think I'd recommend new programmers to learn
> 
>   - an assembly language, so they get a good feel for
>     what computers can fundamentally do and how fast.
>     (I'd recommend ARM assembler, because it's simple
>     and elegant.)

Right.  ARM would be great.  But how is the newbie supposed to
test his code?  Maybe there are emulators that run on a PC, but
IIRC running my code on an emulator wouldn't have satisfied me
very much.  And he is not likely to get access to a JTAG debugger
any time soon :-)

>   - C, for pragmatic reasons and also because its close
>     correspondence with machine code helps to give a
>     feel for what the computer does when you feed it
>     a loop or an assignment or something.

ACK.  I also think that one of the main reasons why knowing C is
so important is that all those Lisp FFI interfaces connect to /C/
:-)

>   - a much higher level language (Common Lisp would be
>     good; Python or Smalltalk would do OK, too), to
>     appreciate that programming doesn't have to hurt
>     and to teach modes of thinking that arise only with
>     difficulty at lower levels.
> 
> I think it's very difficult (I won't say impossible) to
> become a really good programmer if you don't have all three
> perspectives.

Certainly.  An open question remains, which perspective should
come first.  Frankly, I believe the most low level one the
student still enjoys would be best.

Regards,
-- 
Nils Goesche
Ask not for whom the <CONTROL-G> tolls.

PGP key ID 0xC66D6E6F
From: Erik Naggum
Subject: Re: new to lisp
Date: 
Message-ID: <3225694045810240@naggum.net>
* Nils Goesche <···@cartan.de>
| ACK.  I also think that one of the main reasons why knowing C is so
| important is that all those Lisp FFI interfaces connect to /C/ :-)

  Although clearly tongue-in-cheek, this is true only because C is the
  predominant Other Language as seen from Common Lisp.  Back when Fortran
  was the Other Language, Common Lisp competed aggressively with it in its
  domain, with a lot of mathy stuff that I doubt is used very much.  Now
  that all that computing is about is burning billions of Hz in GUIs,
  Common Lisp needs to interface to the lingua franca of those tools

| Certainly.  An open question remains, which perspective should come
| first.  Frankly, I believe the most low level one the student still
| enjoys would be best.

  I cannot parse the last sentence, but for what it might be worth, Donald
  Knuth thinks assembly language is such a great vehicle for understanding
  computing that he has invented his own in order to teach people The Art
  of Computer Programming.  I tend to agree, except that I would _so_ have
  loved TAoCP to have been based on, say, the PDP-10 instruction set and
  design rather than the el bizarro toy computer that MIX sort of codes to.

///
-- 
  In a fight against something, the fight has value, victory has none.
  In a fight for something, the fight is a loss, victory merely relief.
From: Geoff Summerhayes
Subject: TAoCP (MMIX) was Re: new to lisp
Date: 
Message-ID: <Wvmm8.137163$eb.6521969@news3.calgary.shaw.ca>
"Erik Naggum" <····@naggum.net> wrote in message
·····················@naggum.net...
> * Nils Goesche <···@cartan.de>
>
> |  Frankly, I believe the most low level one the student still
> | enjoys would be best.
>
>   I cannot parse the last sentence, but for what it might be worth, Donald
>   Knuth thinks assembly language is such a great vehicle for understanding
>   computing that he has invented his own in order to teach people The Art
>   of Computer Programming.  I tend to agree, except that I would _so_ have
>   loved TAoCP to have been based on, say, the PDP-10 instruction set and
>   design rather than the el bizarro toy computer that MIX sort of codes to.
>

Have you taken a look at his new toy, MMIX? 256 64-bit gp
registers, 32 special registers, and 2^64 bytes VM. Some
posters in c.l.forth are livid about register overkill, lack
of `proper' stack support (the J register is alive and well),
combining float and integer support in a register, not to
mention the number of transitors it would take to implement
the design.

-------------

Geoff
From: Ed L Cashin
Subject: Re: TAoCP (MMIX) was Re: new to lisp
Date: 
Message-ID: <87sn6tpzat.fsf@cs.uga.edu>
"Geoff Summerhayes" <·············@hNoOtSmPaAiMl.com> writes:

> Have you taken a look at his new toy, MMIX? 256 64-bit gp registers,
> 32 special registers, and 2^64 bytes VM. Some posters in c.l.forth
> are livid about register overkill, lack of `proper' stack support
> (the J register is alive and well), combining float and integer
> support in a register, not to mention the number of transitors it
> would take to implement the design.

Do you think that as the price of hardware drops, the future of CPU's
is likely to be what we now think of as wasteful?  I'm just trying to
guess why Knuth would go for an unrealistic design -- maybe it's
because he thinks it won't remain unrealistic.

-- 
--Ed L Cashin            |   PGP public key:
  ·······@uga.edu        |   http://noserose.net/e/pgp/
From: Rahul Jain
Subject: Re: TAoCP (MMIX) was Re: new to lisp
Date: 
Message-ID: <87y9gl7bmn.fsf@photino.sid.rice.edu>
Ed L Cashin <·······@uga.edu> writes:

> "Geoff Summerhayes" <·············@hNoOtSmPaAiMl.com> writes:
> 
> > Have you taken a look at his new toy, MMIX? 256 64-bit gp registers,
> > 32 special registers, and 2^64 bytes VM.

> Do you think that as the price of hardware drops, the future of CPU's
> is likely to be what we now think of as wasteful?

Future? Check out
<http://www.realworldtech.com/page.cfm?AID=RWT021802145442> for some
real CPU designs that approach that level of massiveness.

> I'm just trying to guess why Knuth would go for an unrealistic
> design -- maybe it's because he thinks it won't remain unrealistic.

It's definitely quite realistic today.

-- 
-> -/                        - Rahul Jain -                        \- <-
-> -\  http://linux.rice.edu/~rahul -=-  ············@techie.com   /- <-
-> -/ "Structure is nothing if it is all you got. Skeletons spook  \- <-
-> -\  people if [they] try to walk around on their own. I really  /- <-
-> -/  wonder why XML does not." -- Erik Naggum, comp.lang.lisp    \- <-
|--|--------|--------------|----|-------------|------|---------|-----|-|
   (c)1996-2002, All rights reserved. Disclaimer available upon request.
From: Boris Schaefer
Subject: Re: TAoCP (MMIX) was Re: new to lisp
Date: 
Message-ID: <f5b77cc5.0203220222.4a89e6d8@posting.google.com>
[This is the first time I post through groups.google.com, I'm sorry,
if the formatting is weird.]

Rahul Jain <·····@sid-1129.sid.rice.edu> wrote in message news:
> 
> Ed L Cashin <·······@uga.edu> writes:
> 
> > I'm just trying to guess why Knuth would go for an unrealistic
> > design -- maybe it's because he thinks it won't remain unrealistic.
> 
> It's definitely quite realistic today.

Well, Knuth gave a talk here in Munich, about 4 months ago, about MMIX,
where he said that he believes that such a design was about 8-10 years
away.

I have no idea, whether he is right or wrong.  But, predictions tend to
be proven wrong.  Oh, well...

Boris
From: Geoff Summerhayes
Subject: Re: TAoCP (MMIX) was Re: new to lisp
Date: 
Message-ID: <XWrm8.334470$A44.18588801@news2.calgary.shaw.ca>
"Ed L Cashin" <·······@uga.edu> wrote in message
···················@cs.uga.edu...
>
> Do you think that as the price of hardware drops, the future of CPU's
> is likely to be what we now think of as wasteful?  I'm just trying to
> guess why Knuth would go for an unrealistic design -- maybe it's
> because he thinks it won't remain unrealistic.
>

I don't know what `what we now think of as wasteful' is
so I can't argue the point. As for the unrealistic part,
have you looked at, for example, the Itanium line from
Intel?

------------
Geoff
From: Christopher Browne
Subject: Re: TAoCP (MMIX) was Re: new to lisp
Date: 
Message-ID: <m3adt192p4.fsf@chvatal.cbbrowne.com>
"Geoff Summerhayes" <·············@hNoOtSmPaAiMl.com> wrote:
> Have you taken a look at his new toy, MMIX? 256 64-bit gp registers,
> 32 special registers, and 2^64 bytes VM. Some posters in c.l.forth
> are livid about register overkill, lack of `proper' stack support
> (the J register is alive and well), combining float and integer
> support in a register, not to mention the number of transitors it
> would take to implement the design.

Consider the numbers of transistors used in modern Intel CPUs and it
doesn't seem too spectacularly odd.

They should keep in mind that it is designed as an _educational tool_.
It's not intended as the be-all and end-all of what CPUs should look
like.

The presence of "blemishes" strikes me as a downright _good_ thing,
as, in the real world, Nth generation CPUs seldom stay completely
clean.

The notion of using 64 bit floats should make it obvious that this
isn't something expected to be characteristic of typical future system
designs.  Actually, that should be pedagogically quite useful as it
should be not too difficult to build interesting examples that stress
64 bit floats to the point of them breaking, and that's exactly the
sort of thing that's useful to have students come to understand.

If they learn that floats have some weaknesses, that would surely be a
more useful result than the typical thing of students concluding that
"Lisp is only good for processing lists" or rubbish like that.
-- 
(reverse (concatenate 'string ····················@" "454aa"))
http://www3.sympatico.ca/cbbrowne/linuxxian.html
"Absolutely nothing should be concluded from these figures except that
no  conclusion can be  drawn from  them."  
-- By Joseph L. Brothers, Linux/PowerPC Project
From: Raymond Toy
Subject: Re: TAoCP (MMIX) was Re: new to lisp
Date: 
Message-ID: <4nr8mdu3bs.fsf@rtp.ericsson.se>
>>>>> "Geoff" == Geoff Summerhayes <·············@hNoOtSmPaAiMl.com> writes:

    Geoff> "Erik Naggum" <····@naggum.net> wrote in message
    Geoff> ·····················@naggum.net...
    >> * Nils Goesche <···@cartan.de>
    >> 
    >> |  Frankly, I believe the most low level one the student still
    >> | enjoys would be best.
    >> 
    >> I cannot parse the last sentence, but for what it might be worth, Donald
    >> Knuth thinks assembly language is such a great vehicle for understanding
    >> computing that he has invented his own in order to teach people The Art
    >> of Computer Programming.  I tend to agree, except that I would _so_ have
    >> loved TAoCP to have been based on, say, the PDP-10 instruction set and
    >> design rather than the el bizarro toy computer that MIX sort of codes to.
    >> 

    Geoff> Have you taken a look at his new toy, MMIX? 256 64-bit gp
    Geoff> registers, 32 special registers, and 2^64 bytes VM. Some

I think Ultrasparcs have 200 64-bit registers, but you can only access
32 at a time, because of the register windows. :-)  They also support
2^64 bytes of VM.  I think HP PA-RISC has a 96-bit virtual space.

Ray
From: Rahul Jain
Subject: Re: TAoCP (MMIX) was Re: new to lisp
Date: 
Message-ID: <87u1r97biy.fsf@photino.sid.rice.edu>
Raymond Toy <···@rtp.ericsson.se> writes:

> I think HP PA-RISC has a 96-bit virtual space.

I have a feeling that that's only used in the Superdome, their NUMA
box, where you have 64-bits of address space per node, and the rest
addresses the node.

-- 
-> -/                        - Rahul Jain -                        \- <-
-> -\  http://linux.rice.edu/~rahul -=-  ············@techie.com   /- <-
-> -/ "Structure is nothing if it is all you got. Skeletons spook  \- <-
-> -\  people if [they] try to walk around on their own. I really  /- <-
-> -/  wonder why XML does not." -- Erik Naggum, comp.lang.lisp    \- <-
|--|--------|--------------|----|-------------|------|---------|-----|-|
   (c)1996-2002, All rights reserved. Disclaimer available upon request.
From: Raymond Toy
Subject: Re: TAoCP (MMIX) was Re: new to lisp
Date: 
Message-ID: <4ng02ssplc.fsf@rtp.ericsson.se>
>>>>> "Rahul" == Rahul Jain <·····@sid-1129.sid.rice.edu> writes:

    Rahul> Raymond Toy <···@rtp.ericsson.se> writes:
    >> I think HP PA-RISC has a 96-bit virtual space.

    Rahul> I have a feeling that that's only used in the Superdome, their NUMA
    Rahul> box, where you have 64-bits of address space per node, and the rest
    Rahul> addresses the node.

Not having ever seen or really used an HP, I can't say.  However, I
think that every memory reference has the 64-bit value in a register
which is added to a 64-bit value from the space register, which is
left shifted 32 bits.  Thus 96 bits of space.  (Only on the 64-bit versions.)

But I don't have my HP arch book here, so I can't check right now.

Ray
From: Erik Naggum
Subject: Re: TAoCP (MMIX) was Re: new to lisp
Date: 
Message-ID: <3225738779151315@naggum.net>
* "Geoff Summerhayes"
| Have you taken a look at his new toy, MMIX?

  No, I have not even heard about it.  Is it used in the next edition of
  TAoCP and the remaining volumes?

| 256 64-bit gp registers, 32 special registers, and 2^64 bytes VM.

  Heh, I like.  That probably also means Unicode characters, instead of the
  rather bizarre character set used in MIX. :)  It might be more work to
  implement an emulator, however.  A MIX emulator is not that easy, either,
  due to the TeX-like random complexity.

| Some posters in c.l.forth are livid about register overkill, lack of
| `proper' stack support (the J register is alive and well), combining
| float and integer support in a register, not to mention the number of
| transitors it would take to implement the design.

  I would worry more about the cost of context switching on this design.

///
-- 
  In a fight against something, the fight has value, victory has none.
  In a fight for something, the fight is a loss, victory merely relief.
From: Geoffrey Summerhayes
Subject: Re: TAoCP (MMIX) was Re: new to lisp
Date: 
Message-ID: <Jtum8.20312$XN1.2143153@news20.bellglobal.com>
"Erik Naggum" <····@naggum.net> wrote in message
·····················@naggum.net...
> * "Geoff Summerhayes"
> | Have you taken a look at his new toy, MMIX?
>
>   No, I have not even heard about it.  Is it used in the next edition of
>   TAoCP and the remaining volumes?
>

Yes, he's planning on replacing all the MIX code in due course.
Here's the link

http://www-cs-faculty.stanford.edu/~knuth/mmix.html


> | 256 64-bit gp registers, 32 special registers, and 2^64 bytes VM.
>
>   Heh, I like.  That probably also means Unicode characters, instead of
the
>   rather bizarre character set used in MIX. :)  It might be more work to
>   implement an emulator, however.  A MIX emulator is not that easy,
either,
>   due to the TeX-like random complexity.
>

Hey, I kind of liked it! I haven't had a chance to read
the specification all the way through yet, I wonder if
we'll still get a revised version the cute bootstrap
problem 1.3.2(26) My attempt just fit, I remember being
annoyed that his solution was shorter.

>
> | Some posters in c.l.forth are livid about register overkill, lack of
> | `proper' stack support (the J register is alive and well), combining
> | float and integer support in a register, not to mention the number of
> | transitors it would take to implement the design.
>
>   I would worry more about the cost of context switching on this design.
>

Hmm...

--------------
Geoff
From: Gareth McCaughan
Subject: Re: TAoCP (MMIX) was Re: new to lisp
Date: 
Message-ID: <slrna9noa3.2dsf.Gareth.McCaughan@g.local>
Erik Naggum wrote:

> * "Geoff Summerhayes"
> | Have you taken a look at his new toy, MMIX?
> 
>   No, I have not even heard about it.  Is it used in the next edition of
>   TAoCP and the remaining volumes?
> 
> | 256 64-bit gp registers, 32 special registers, and 2^64 bytes VM.
> 
>   Heh, I like.  That probably also means Unicode characters, instead of the
>   rather bizarre character set used in MIX. :)  It might be more work to
>   implement an emulator, however.  A MIX emulator is not that easy, either,
>   due to the TeX-like random complexity.

Fortunately, Knuth has already written more than one MMIX
emulator. There's a whole book containing the code (as a
"literate program"). One emulator is simple and straightforward.
The other is a big hairy thing that simulates multiple
execution units and all that stuff.

-- 
Gareth McCaughan  ················@pobox.com
.sig under construc
From: Gareth McCaughan
Subject: Re: new to lisp
Date: 
Message-ID: <slrna9nofm.2dsf.Gareth.McCaughan@g.local>
Nils Goesche wrote:

[I said:]
> > I'm not sure 6502 assembler is such a bad thing to learn
> > early on. I think I'd recommend new programmers to learn
> > 
> >   - an assembly language, so they get a good feel for
> >     what computers can fundamentally do and how fast.
> >     (I'd recommend ARM assembler, because it's simple
> >     and elegant.)
> 
> Right.  ARM would be great.  But how is the newbie supposed to
> test his code?  Maybe there are emulators that run on a PC, but
> IIRC running my code on an emulator wouldn't have satisfied me
> very much.  And he is not likely to get access to a JTAG debugger
> any time soon :-)

Foo. I'd forgotten that there aren't any real computers
with ARMs inside any more. (My last-but-one computer was
an Acorn Risc PC, based on an ARM6. Already obsolete in
some ways before it was released, but rather nice even so.)

If we wait a few years, someone might have found a way to
make PDAs usable for programming. ARM is doing very well
in that space.

-- 
Gareth McCaughan  ················@pobox.com
.sig under construc
From: Paolo Amoroso
Subject: Re: new to lisp
Date: 
Message-ID: <oZacPAy53+wxe13qXewIx4qQQjPI@4ax.com>
On Sat, 23 Mar 2002 02:01:26 +0000, ················@pobox.com (Gareth
McCaughan) wrote:

> If we wait a few years, someone might have found a way to
> make PDAs usable for programming. ARM is doing very well
> in that space.

Future Palm devices with Palm OS 5.x will be based on ARM chips.


Paolo
-- 
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://www.paoloamoroso.it/ency/README
[http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/]
From: Bruce Hoult
Subject: Re: new to lisp
Date: 
Message-ID: <bruce-1A078A.16142621032002@copper.ipg.tsnz.net>
In article <································@g.local>,
 ················@pobox.com (Gareth McCaughan) wrote:

> I'm not sure 6502 assembler is such a bad thing to learn
> early on. I think I'd recommend new programmers to learn
> 
>   - an assembly language, so they get a good feel for
>     what computers can fundamentally do and how fast.
>     (I'd recommend ARM assembler, because it's simple
>     and elegant.)
> 
>   - C, for pragmatic reasons and also because its close
>     correspondence with machine code helps to give a
>     feel for what the computer does when you feed it
>     a loop or an assignment or something.
> 
>   - a much higher level language (Common Lisp would be
>     good; Python or Smalltalk would do OK, too), to
>     appreciate that programming doesn't have to hurt
>     and to teach modes of thinking that arise only with
>     difficulty at lower levels.
> 
> I think it's very difficult (I won't say impossible) to
> become a really good programmer if you don't have all three
> perspectives.

I agree.

Furthermore, I've got a nice Apple ][ emulator on my Mac, and original 
Apple ][+ manuals, including the monitor ROM listing, circuit diagram 
and so forth.

That was a machine that you could study and without too much trouble 
understand every part of at *all* levels.

8 bit micros are a bit hard to get real things done on, so I suspect 
that you'd want to transition to something else fairly quickly.  SPIM 
isn't too bad (MIPS emulator), but doing real native programs is better, 
PowerPC is nearly as clean as MIPS and ARM, and with OS X you're not 
going to bring the machine down when you make the inevitable mistakes.

Here's a little program that I used to help expose my partner to some 
ASM programming last year:

-----------------------------------------------------------
.include "bruce_macros.h"

.external printf

.function main
        li r3,head
        bl printf

        li r20,1
loop:   li r3,line
        mr r4,r20
        bl printf
        addi r20,r20,1
        cmpi cr0,r20,10
        ble loop

        li r3,tail
        bl printf
        li r3,0
        return

head:   .ascii "Content-type: text/html\n\n"
        .asciz "<html><body><h1>Counting to ten!</h1><p>\n"
tail:   .asciz "</body></html>\n"
line:   .asciz "i = %d<p>\n"
-----------------------------------------------------------

I think CGI programs are a great way to introduce people to programming.  
Nice and simple and yet you can get quite nice formatting and user 
interfaces.  Well ... what people these days are used to accepting, 
anyway :-)

There are a couple of fine points that I've glossed over in that program 
for simplicity -- stubs to deal with dynamic linking, wrappers around 
function call to deal with saving/restoring the PC and the callee-save 
registers (r13-r31).  Here are the necessary macros:

-----------------------------------------------------------
.globl _main
_main:
       b main

.macro .external
.data
.picsymbol_stub
$0:
        .indirect_symbol _$0
        mflr r0
        bcl 20,31,L0$_$0
L0$_$0:
        mflr r11
        addis r11,r11,ha16(L_$0$lazy_ptr-L0$_$0)
        mtlr r0
        lwz r12,lo16(L_$0$lazy_ptr-L0$_$0)(r11)
        mtctr r12
        addi r11,r11,lo16(L_$0$lazy_ptr-L0$_$0)
        bctr
.data
.lazy_symbol_pointer
L_$0$lazy_ptr:
        .indirect_symbol _$0
        .long dyld_stub_binding_helper
.text
        .align 2
.endmacro

.macro .function
        .align 2
$0:
     mflr r0
     stw r0,8(r1)
     stmw r13,-76(r1)
     stwu r1,-80(r1)
.endmacro

.macro  return
        lwz r1,0(r1)
        lwz r0,8(r1)
        mtlr r0
        lmw r13,-76(r1)
        blr
.endmacro

.macro li
.macros_off
        lis $0,hi16($1)
        ori $0,$0,lo16($1)
.macros_on
.endmacro
-----------------------------------------------------------
From: Nils Goesche
Subject: Re: new to lisp
Date: 
Message-ID: <877ko6v8qf.fsf@darkstar.cartan>
Bruce Hoult <·····@hoult.org> writes:

> Here's a little program that I used to help expose my partner to some 
> ASM programming last year:
> 
> -----------------------------------------------------------
> .include "bruce_macros.h"
> 
> .external printf
> 
> .function main
>         li r3,head
>         bl printf
> 
>         li r20,1
> loop:   li r3,line
>         mr r4,r20
>         bl printf
>         addi r20,r20,1

[snip]

Wow, I'm impressed.  /My/ partner (wife) would /slap/ me if I
tried to expose her to something like this, instead of taking her
to the most fashionable restaurant in town :-)

Regards,
-- 
Nils Goesche
Ask not for whom the <CONTROL-G> tolls.

PGP key ID 0xC66D6E6F
From: Erik Winkels
Subject: Re: new to lisp
Date: 
Message-ID: <87it7tvd72.fsf@xs4all.nl>
Nils Goesche <······@cartan.de> wrote on 18 Mar 2002 18:16:40 GMT:
>
> as I am not sure if there is any book on Lisp that is really
> directed at total programming newbies.  Maybe ``Object-Oriented
> Common Lisp'' by Stephen Slade is one, at least it left that
> impression on me when I skimmed it.

"Object-Oriented Common Lisp" is a bit of a "The C Programming
Language" for Lisp, so I'm not sure if one would recommend it to a
complete programming newbie.  It's doable though :)

I like Slade's book.  It's my favourite reference after the hyperspec.


Erik.
-- 
"Me and the caller ID window have a very positive working relationship."
 -- Mike Sphar in the SDM
From: Joe Marshall
Subject: Re: new to lisp
Date: 
Message-ID: <Shrl8.31347$44.8740495@typhoon.ne.ipsvc.net>
"Dr.X" <·············@rxp.com> wrote in message
······························@typhoon.tampabay.rr.com...
> Wow, this is probably the most active ng on programming I have
> ever seen. maybe I can learn something here. I want to learn a
> programming language. can anyone tell me why I should look at
> lisp? is there any sort of "visual" lisp I can get, sortta like
> "visual" basic or some type of IDE that will help with the
> learning curve? is there a freebee download?

Franz, Xanalys, and Corman offer free downloads for non-commercial
purposes.

> is there a dll or
> runtime gadget I have to get to start with?

Not really, either of those three will provide all you need.

> CAUTION, STUPID
> QUESTION AHEAD: is there a program anywhere that will allow lisp
> to be run directly on the windows scripting host? some kind of
> "lisp script"?

Not a stupid question.  To my knowledge no one has interfaced
Lisp to the `Active Script' API.  I could be out of date on this.

> please be patient with me as I am totally retarded when it comes
> to lisp.
>
> Thank you very much for your time.

People in this group really do try to be helpful.  Sometimes
the flames fly, but they are generally aimed at those that
want to make converts.
From: Erik Naggum
Subject: Re: new to lisp
Date: 
Message-ID: <3225485849906909@naggum.net>
* "Dr.X" <·············@rxp.com>
| I want to learn a programming language.  can anyone tell me why I should
| look at lisp?

  It is _incredibly_ rewarding to learn it well.

| is there a freebee download?

  Most of your practical questions have answers on www.lisp.org.

///
-- 
  In a fight against something, the fight has value, victory has none.
  In a fight for something, the fight is a loss, victory merely relief.
From: Friedrich Dominicus
Subject: Re: new to lisp
Date: 
Message-ID: <87hendgi5v.fsf@fbigm.here>
"Dr.X" <·············@rxp.com> writes:

> Wow, this is probably the most active ng on programming I have
> ever seen. maybe I can learn something here. I want to learn a
> programming language. can anyone tell me why I should look at
> lisp? 
Yes.

>is there any sort of "visual" lisp I can get, sortta like
> "visual" basic or some type of IDE that will help with the
> learning curve? 
Yes, I prefer LispWorks which is an excellent choice.


> is there a freebee download? 
you can try out their test version

> is there a dll or
> runtime gadget I have to get to start with?
What do you mean by this?

> CAUTION, STUPID
> QUESTION AHEAD: is there a program anywhere that will allow lisp
> to be run directly on the windows scripting host? some kind of
> "lisp script"?
LispWorks on windows supports COM therefor it should be possible to
use it for "Scripting" too. But I'm sure for the start it's not the
easiest thing to do.

Regards
Friedrich