From: Paolo Amoroso
Subject: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <87fzgjkpn5.fsf@plato.moon.paoloamoroso.it>
Concerning static vs dynamic typing... Yawn, just kidding... :-)

I have done a trip to the local library to get the 2nd edition of AIMA
by Russell and Norvig. The computing book shelves were of course
stuffed with titles on the usual mainstream stuff and fads of the day.

But I realized that there must be some gems buried there that a Lisper
might appreciate. Hence my poll of the collective mind of fellow
Lispers.

I am looking for suggestions on non-Lisp, computing books that a
Lisper may find interesting, insightful, inspiring, thought-provoking,
useful or just fun. I don't mind texts with some math or formal
notations, but I would prefer those that are self-contained and don't
require you to check a dozen other books just to understand some
background material[*].

The above mentioned AIMA is such an example. Another might be
"Introduction to Algorithms" by Cormen et al.

The rationale for excluding Lisp books is that they are relatively
well known, both the available ones and the ones that are going to be
published shortly.


Paolo

[*] `apt-get install' doesn't work well with books...
-- 
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film

From: Frank A. Adrian
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <Qe6vb.94$NP2.39456@news.uswest.net>
Paolo Amoroso wrote:
> I am looking for suggestions on non-Lisp, computing books that a
> Lisper may find interesting, insightful, inspiring, thought-provoking,
> useful or just fun.

Math & Basic CS
---------------
The Art of Computer Programming by Donald E. Knuth

Concrete Mathematics by Knuth, Graham & Patashnik

Denotational Semantics by Stoy

Compilers by Aho, Sethi & Ullman

Compiling with Continuations by Appel

Topics in Advanced Language Implementation by Peter Lee

Methods
-------
An Introduction to Formal Specification and Z by Potter, Sinclair & Till (a
relatively unknown book on a relatively unknown formal method based on a
relatively unknown language based on operational semantics)

Object-oriented Software Construction by Meyer (still one of the best books
on what the rest of the world thinks when they hear the words OO)

Extreme Programming Explained by Kent Beck (whether you agree with the
XP'ers or not, the seminal work on the methodology and essential to
understanding agile methodologies in general)

Refactoring by Martin Fowler (so you can feel secure in the knowledge that
no matter how bad your Lisp code works, you still don't need to go through
the convolutions that Java programmers do)

Smalltalk Best Practice Patterns by Kent Beck


Other languages
---------------
Smalltalk-80: The Language and its Implementation by Goldberg & Robson (the
only language that ever came close to matching Lisp in ease of development
and dynamicity - first MOP, too - try to get the first edition).

Beginning Forth by Chirlian (the only language that matched Lisp for
syntactic elegance)

The Art of Prolog by Sterling & Shapiro (understand declarative and logic
programming)

ML for the Working Programmer by Paulson (learn how the other half lives)

The Design and Evolution of C++ by Stroustrup (understand how C++
programmers got the way they are)

Programming Perl by Wall (see just how screwed up a language can be)

Other
-----

Patterns of Software by Richard Gabriel

Automated Resoning: Introduction and Applications by Wos, Overbeek, Lusk &
Boyle

Peopleware by Lister & DeMarco

Computer Architecture: A Quantitative Approach (learn why Lisp will never be
supported well by the people who design processors)
From: Joe Marshall
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <y8ub3r8a.fsf@ccs.neu.edu>
"Frank A. Adrian" <·······@ancar.org> writes:

> The Design and Evolution of C++ by Stroustrup (understand how C++
> programmers got the way they are)

I had assumed it involved some sort of industrial accident.  The word
`Design' in the same sentence as `C++' is a hoot.

> Programming Perl by Wall (see just how screwed up a language can be)

It's amusing to contrast this with the Intercal spec.
From: Bob Bane
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <3FBD0DB6.70708@removeme.gst.com>
Joe Marshall wrote:

> "Frank A. Adrian" <·······@ancar.org> writes:
> 
> 
>>The Design and Evolution of C++ by Stroustrup (understand how C++
>>programmers got the way they are)
>>
> 
> I had assumed it involved some sort of industrial accident.  The word
> `Design' in the same sentence as `C++' is a hoot.
> 



I think he actually left a word out of the title:


The Design (Rationalizations) and Evolution of C++
From: Thomas F. Burdick
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <xcvfzgi3kz1.fsf@famine.OCF.Berkeley.EDU>
Paolo Amoroso <·······@mclink.it> writes:

> I am looking for suggestions on non-Lisp, computing books that a
> Lisper may find interesting, insightful, inspiring, thought-provoking,
> useful or just fun. I don't mind texts with some math or formal
> notations, but I would prefer those that are self-contained and don't
> require you to check a dozen other books just to understand some
> background material[*].

Peter Seilbel recommended "The humane interface" by Jeff Raskin, and
I'll second that.  It's a very reader-friendly introduction to
thinking about and analysing interfaces (not just on the computer),
not a cookbook.  A warning, though: you might find yourself explaining
to a friend that his coffee pot is badly designed, then exactly why
it's badly designed.  I'm just saying...

"Types and Programming Languages" by Benjamin Pierce is a good one,
recently recommended to me by a friend.

Knuth has a couple new books out: "Selected Papers on Computer
Languages," and "Selected Papers on Discrete Mathematics".  These
topics are where he's at his best, IMO.  I haven't read the books yet,
but I've read some of the papers in them.  The math one should be
particularly good: he's tended to write papers on math that he thinks
programmers shoulod know, assuming only a general CS level of math
knowledge.

Also, the first chapter of Stephen Jay Gould's "The Structure of
Evolutionary Theory."  The book is a gigantic polemic laying out
Gould's attempt at a new synthesis of evolutionary theory.  In "The
Origin of Species", Darwin laid out an analytical technique, then
applied it; Gould does the same thing here.  The first chapter is the
condensed version of his argument, so non-biologists should be able to
read it, and get his major points.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | No to Imperialist war |                        
     ,--'    _,'   | Wage class war!       |                        
    /       /      `-----------------------'                        
   (   -.  |                               
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Robert St. Amant
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <lpn1xs2206t.fsf@haeckel.csc.ncsu.edu>
···@famine.OCF.Berkeley.EDU (Thomas F. Burdick) writes:

> Paolo Amoroso <·······@mclink.it> writes:
> 
> > I am looking for suggestions on non-Lisp, computing books that a
> > Lisper may find interesting, insightful, inspiring, thought-provoking,
> > useful or just fun. I don't mind texts with some math or formal
> > notations, but I would prefer those that are self-contained and don't
> > require you to check a dozen other books just to understand some
> > background material[*].
> 
> Peter Seilbel recommended "The humane interface" by Jeff Raskin, and
> I'll second that.  It's a very reader-friendly introduction to
> thinking about and analysing interfaces (not just on the computer),
> not a cookbook.  A warning, though: you might find yourself explaining
> to a friend that his coffee pot is badly designed, then exactly why
> it's badly designed.  I'm just saying...

If this book is up your alley, Don Norman's books (The Design of
Everyday Things, Turn Signals Are the Facial Expressions of
Automobiles, etc.) are also appealing, though they have little to do
with programming and more with usable design.  (I dislike Alan
Cooper's books, which someone recommended; in one of his earlier
books, About Face, he gets obvious stuff wrong.)  Along the same
lines, Mullet and Sano's Designing Visual Interfaces is good, while Ed
Tufte's books are fun, though often not very rigorous.

-- 
Rob St. Amant
http://www4.ncsu.edu/~stamant
From: Peter Seibel
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <m3fzgjc8jd.fsf@javamonkey.com>
Paolo Amoroso <·······@mclink.it> writes:

> Concerning static vs dynamic typing... Yawn, just kidding... :-)
> 
> I have done a trip to the local library to get the 2nd edition of AIMA
> by Russell and Norvig. The computing book shelves were of course
> stuffed with titles on the usual mainstream stuff and fads of the day.
> 
> But I realized that there must be some gems buried there that a Lisper
> might appreciate. Hence my poll of the collective mind of fellow
> Lispers.
> 
> I am looking for suggestions on non-Lisp, computing books that a
> Lisper may find interesting, insightful, inspiring, thought-provoking,
> useful or just fun. I don't mind texts with some math or formal
> notations, but I would prefer those that are self-contained and don't
> require you to check a dozen other books just to understand some
> background material[*].
> 
> The above mentioned AIMA is such an example. Another might be
> "Introduction to Algorithms" by Cormen et al.
> 
> The rationale for excluding Lisp books is that they are relatively
> well known, both the available ones and the ones that are going to be
> published shortly.

A few of my favorites are:

  Transaction Processing: Concepts and Techniques by Jim Gray and
  Andreas Reuter. The bible of transaction processing and actually
  quite an easy read given the subject matter.
  
  The Art of Software Testing by Glenford J Myers. Old school,
  rigorous approach to testing.

  Refactoring: Improving the Design of Existing Code by Martin Fowler.
  Concrete approach to how to refactor programs. Some patterns would
  need some translation from Java idioms to Common Lisp but the heart
  of the matter is the same.

  The Inmates are Running the Asylum: Why High-Tech Products Drive Us
  Crazy and How to Restore the Sanity by Alan Cooper. More aimed at a
  general audience but very inspiring discussion of how one ought to
  design the user interaction of software.

  The Humane Interface by Jef Raskin. Another book about how to
  rethink user interfaces from the original creator of the Mac.

-Peter

-- 
Peter Seibel                                      ·····@javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp
From: Joe Marshall
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <3ccj55xj.fsf@ccs.neu.edu>
Peter Seibel <·····@javamonkey.com> writes:

> A few of my favorites are:
>
>   Transaction Processing: Concepts and Techniques by Jim Gray and
>   Andreas Reuter. The bible of transaction processing and actually
>   quite an easy read given the subject matter.

I'll second this one.  Skip the database course and just read this.
From: Tayssir John Gabbour
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <866764be.0312202142.22dd234@posting.google.com>
Peter Seibel <·····@javamonkey.com> wrote in message news:<··············@javamonkey.com>...
>   Transaction Processing: Concepts and Techniques by Jim Gray and
>   Andreas Reuter. The bible of transaction processing and actually
>   quite an easy read given the subject matter.

Incidentally, I grabbed this book after you recommended it.  I found
it a little vague (owing to its age no doubt), so I obtained
_Transactional Information Systems_ by Weikum and Vossen.  While I
can't recommend either one since I've completed neither, the Weikum
book certainly seems to start out on the right foot.

Fortunately, either book can be searched to the heart's content.
http://www.amazon.com/gp/reader/1558605088/ref=sib_dp_rdr/102-4308114-1275314#reader-link
http://www.amazon.com/gp/reader/1558601902/ref=sib_dp_rdr/102-4308114-1275314#reader-link
From: Tayssir John Gabbour
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <866764be.0312210001.8b29748@posting.google.com>
Peter Seibel <·····@javamonkey.com> wrote in message news:<··············@javamonkey.com>...
>   Transaction Processing: Concepts and Techniques by Jim Gray and
>   Andreas Reuter. The bible of transaction processing and actually
>   quite an easy read given the subject matter.

Oh, in case I came out sounding criticizing in that other post, thanks
for the recommendation, it and the other book are filling in some
fairly large holes I had.  I'd actually been looking for something
like it previously, and it hadn't struck me I should be looking at the
subject of "transaction processing."
From: Markus Fix
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <3FBCFCC0.4090604@bookfix.com>
Paolo Amoroso wrote:
> But I realized that there must be some gems buried there that a Lisper
> might appreciate. Hence my poll of the collective mind of fellow
> Lispers.
> 
> I am looking for suggestions on non-Lisp, computing books that a
> Lisper may find interesting, insightful, inspiring, thought-provoking,
> useful or just fun. I don't mind texts with some math or formal
> notations, but I would prefer those that are self-contained and don't
> require you to check a dozen other books just to understand some
> background material[*].

Lately I've enjoyed "Code Reading" by Diomidis Spinellis.
I really wish someone would write something similar using
Lisp code examples instead of C.

Then of course "Hacker's Delight" by Henry S. Warren. If
you liked "Programming Pearls" by Jon Bentley, you'll
love this one.

-fix


-- 
------- Markus Fix http://www.bookfix.com/ --------
Don't fight forces, use them. -R.Buckminster Fuller
From: David Golden
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <198vb.1284$nm6.4857@news.indigo.ie>
Well, a couple of category theory books shouldn't go amiss, category theory
can probably help anyone trying to think clearly about Stuff(tm).

If you just want to get a very basic handle on some of the ideas, you like
graphs, and you haven't already been through some compsci and maths and
know it all already:  "Conceptual Mathematics: A first introduction to
categories" Lawvere & Schanuel  is nicer IMHO than some people make out.
Yes, it glosses over some important stuff completely, but it's quite
casually-readable, gets you "hooked", and it does say "A first
introduction" after all.

"Basic Category Theory for Computer Scientists", Benjamin C. Pierce is nice
and a bit more "adult-level".

[Some people might think rather ironic my pointing to category theory and
Pierce after a meandering terminology/type-as-in-lisp-type rant on That
Other Thread. But if I cared what other people thought, I'd be wearing
pants right now.  So nyah. :-) ]
From: Frank A. Adrian
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <wl9vb.391$Qa7.34789@news.uswest.net>
David Golden wrote:

>  "Conceptual Mathematics: A first introduction to
> categories" Lawvere & Schanuel  is nicer IMHO than some people make out.

I did forget completely about category theory.  My bad.  And this book is a
good one.  In my opinion, better than Pierce's, because it does give a
gentler introduction.

For abstract algebra in general, you could do a lot worse than van der
Waerden's 2 volume set named Algebra or Warner's Modern Algebra (cheap, too
'cause you can get it from Dover in paperback).

There are also a few other branches of math to look at, but I really haven't
found good texts/overviews for them - numerical analysis, combinatorics,
and coding/information theory.  Anyone found any really outstanding tomes
on these three subjects?

faa
From: Tayss
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <5627c6fa.0311210502.3bf15ab2@posting.google.com>
"Frank A. Adrian" <·······@ancar.org> wrote in message news:<···················@news.uswest.net>...
> There are also a few other branches of math to look at, but I really haven't
> found good texts/overviews for them - numerical analysis, combinatorics,
> and coding/information theory.  Anyone found any really outstanding tomes
> on these three subjects?

Not necessarily on these three subjects...  Spivak's _Calculus_ is
considered very highly as an intro to analysis.  (While it's listed on
Amazon only as "special order," the publisher does send it; it's just
that they'd otherwise have to mark up the price because Amazon charges
like 20% more to warehouse it.)  I'm told it's a rite of passage at
many quality undergrad math programs.

I also like Dummit/Foote's _Abstract Algebra_, a really low-BS book. 
Incredibly lucid; really walks that line between terseness and
talkiness.

Bird & Wadler's _Introduction to Functional Programming_ is a
programming book, but it makes the smart move of using conventional
math notation.  Which makes it my favorite non-lisp computing book: 
Math notation was optimized for print, computer languages were
optimized for a screen.  I find it a really introductory book (but a
good one), so I haven't been motivated to read all of it, but it just
scores so many points for using the right notation.  (Of course, we
all know math notation is silly compared to sexps.  BOW TO LISP!)


To answer the original poster's question...

- AK Dewdney's _The New Turing Omnibus_ presents a bunch of CS topics
in bitesize form.  Fun intro that doubles as bathroom reading.  Yes,
this was the guy who invented Redcode and Core War. 
http://www.koth.org/info.html


- Nagel & Holden's _The Strategy and Tactics of Pricing_ is probably
invaluable to understanding a lot of weirdness in da Industry.  (And
even the world.)  It argues that pricing isn't everything, but it's an
important thing that's a culmination of everything else you've done
with your product.  For example, it explains why Apple is rationally
hesitant to lower prices, even though it could very easily capture
marketshare by doing so.


- Danny Hillis, _The Connection Machine_.  Cheating since it talks
about CM-Lisp, but whatever.


- Michael Ruhlman, _The Making of a Chef_ and _The Soul of a Chef_. 
So these don't mention computing at all.  Sue me.  You'll find out
what's the culinary world's analogue of Mel, The Real Programmer, and
why their Mels don't call themselves "chefs."


- Aho, Hopcroft, Ullman's _The Design and Analysis of Computer
Algorithms_.  Much more charming than those multichapter monstrosities
by Knuth and Cormen.  Other books from these authors are worth
considering; the compiler book for example is far better than many
make it out to be.


- Sweetman's _See Mips Run_.  I don't do any assembly programming, but
it strikes me as extremely lucid.


- Robin William's _The Non-Designer's Design Book_ is great if you
want to know about how to Make Things Look Good.  Technical people are
not always known for this.  There's a companion web-specific book, but
I haven't perused it.


- McConnell's _Code Complete_.  Actually talks about the little
tactics of coding like /no other book/.  May appear specific to C and
Pascal-like languages, but very applicable in general.  Also the best
intro to sofware engineering I know; you learn about those dinosaurs
like "waterfall and spiral" methods, just in case some bozo springs
them on you in an interview.


- Lins & Jones _Garbage Collection_.  A lisper recommended it to me,
and it's very clear.




Hacking the matrix:
- Weinberg's _The Secrets of Consulting_.  Funny and insightful; some
of us may find ourselves in that position of needing to know how to
safely give advice.


- John T. Molloy's _New Dress for Success_.  Sometimes you need to
upgrade your offline persona.  Very scientific!  He spends a lot of
time talking about how most people in his field are incredibly
unscientific, and armed with helpers he's done the drudgery of
repeated field trials, explaining where flaws in his methodology might
be.  I haven't gotten it yet, but his was recommended to me, and I was
blown away by the amazon excerpt.

- Maister's _Managing the Professional Services Firm_.  Gives one an
appreciation of things that come up when pimping yourself and others.




Crib notes to attack other nonlisp platforms:
- Kernighan & Pike's _The Unix Programming Environment_.  I've always
liked it more than that C book everyone else seems to like.  If you're
gonna do unix, might as well know about the environment.


- Patrick Chan's _The Java Class Libraries Series_ is great if you
just want to blast through the Java platform, that some fear for its
library breadth.  While it's a little outdated, it's still great.




Things I haven't really read yet, but look promising:
- Sowa's _Knowledge Representations_.  In some ways I feel this book
really glosses over things, but at least it gives pointers to others'
work like Quine, and those sexpy data languages.  In fact, why did I
waste my time learning technique when philosophy's where computing's
at?


- Gillam's _Unicode Demystified_.  I just looked at this today.  I
hope it fills in my gaping holes when it comes to char
representations.
From: Steven E. Harris
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <q67fzgh8plv.fsf@raytheon.com>
··········@yahoo.com (Tayss) writes:

> Bird & Wadler's _Introduction to Functional Programming_ is a
> programming book, but it makes the smart move of using conventional
> math notation.

I see a book for sale on various Web sites titiled "Introduction to
Functional Programming /using Haskell/ (second edition)" by Richard
Bird with ISBN 0134843460, published 1998. Is this the same book you
recommend?

Searching deeper on Amazon, I found a different edition called "Intro
Functional Programming" by "Bird Wadler" with ISBN 0134731093,
published 1990, but with no additional detail.

-- 
Steven E. Harris        :: ········@raytheon.com
Raytheon                :: http://www.raytheon.com
From: Tayss
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <5627c6fa.0311211547.2abcc74a@posting.google.com>
"Steven E. Harris" <········@raytheon.com> wrote in message news:<···············@raytheon.com>...
> ··········@yahoo.com (Tayss) writes:
> > Bird & Wadler's _Introduction to Functional Programming_ is a
> > programming book, but it makes the smart move of using conventional
> > math notation.
> 
> I see a book for sale on various Web sites titiled "Introduction to
> Functional Programming /using Haskell/ (second edition)" by Richard
> Bird with ISBN 0134843460, published 1998. Is this the same book you
> recommend?

That's the new edition of the book, after dumping Wadler. ;)  Someone
on comp.lang.functional said it diverged from Haskell because "pretty
printing replaces syntactic elements (like >>=) with symbols."


> Searching deeper on Amazon, I found a different edition called "Intro
> Functional Programming" by "Bird Wadler" with ISBN 0134731093,
> published 1990, but with no additional detail.

Mine is 1988 with different ISBN, but I'm sure they're the same book. 
Amazon.co.uk is more accurate:
http://www.amazon.co.uk/exec/obidos/ASIN/0134841972/qid=1069455829/

Not surprising it's more available from the UK; the authors teach
there and Tony Hoare is the series editor.

I wish preview chapters were available; everyone's so sloppy.
From: Arthur Lemmens
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <opryzcld0zk6vmsw@news.xs4all.nl>
Frank A. Adrian <·······@ancar.org> wrote:

> There are also a few other branches of math to look at, but I really haven't
> found good texts/overviews for them - numerical analysis, combinatorics,
> and coding/information theory. Anyone found any really outstanding tomes
> on these three subjects?

About coding/information theory: I've just started reading "Information Theory,
Inference, and Learning Algorithms" by David MacKay, and I like it a lot. Well
written, lots of exercises and answers, beautiful and very clear illustrations.

Arthur Lemmens
From: Christopher Jeris
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <uekw1u4er.fsf@fake.address.us>
"Frank A. Adrian" <·······@ancar.org> writes:
> There are also a few other branches of math to look at, but I really haven't
> found good texts/overviews for them - numerical analysis, combinatorics,
> and coding/information theory.  Anyone found any really outstanding tomes
> on these three subjects?

Ron Graham, Donald Knuth, Oren Patashnik, Concrete mathematics.
This started out as an expansion of section 1.2 of Knuth, and covers
all the binomial-coefficient stuff, classical combinatorics, etc.
Does not treat block designs, graph theory, etc. but has a lot of
neat stuff that will boost your calculation-fu.

If you really want more in this vein (and more theory) you probably
cannot do better than Richard Stanley, Enumerative combinatorics (two
volumes).

Now if only someone would wave a magic wand at Knuth and make him
immortal so we can be sure he will finish volume 4 of TAOCP :)

peace, Chris Jeris ······@oinvzer.net
Apply (1 6 2 4)(3 7) to domainname to reply.
From: Joe Marshall
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <3cciq2tq.fsf@ccs.neu.edu>
David Golden <············@oceanfree.net> writes:

> "Basic Category Theory for Computer Scientists", Benjamin C. Pierce is nice
> and a bit more "adult-level".

I though this was pretty good myself.  I had forgotten that Pierce wrote it.
From: Darius
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <20031120143510.000054cd.ddarius@hotpop.com>
On Thu, 20 Nov 2003 19:00:28 +0000
David Golden <············@oceanfree.net> wrote:

> Well, a couple of category theory books shouldn't go amiss, category
> theory can probably help anyone trying to think clearly about
> Stuff(tm).
> 
> If you just want to get a very basic handle on some of the ideas, you
> like graphs, and you haven't already been through some compsci and
> maths and know it all already:  "Conceptual Mathematics: A first
> introduction to categories" Lawvere & Schanuel  is nicer IMHO than
> some people make out. Yes, it glosses over some important stuff
> completely, but it's quite casually-readable, gets you "hooked", and
> it does say "A first introduction" after all.
> 
> "Basic Category Theory for Computer Scientists", Benjamin C. Pierce is
> nice and a bit more "adult-level".

I haven't (but want to) read "Category Theory for Computing Science" by
Barr and Wells but I found their lecture notes[1] more readable as a
start than the above and "A Categorical Primer"[2] by Hillman is also
very readable for a briefer introduction. Either way, "A Categorical
Manifesto"[3] by Goguen is an nice complement to any category
theory text to provide the intuition behind various constructs.

> [Some people might think rather ironic my pointing to category theory
> and Pierce after a meandering terminology/type-as-in-lisp-type rant on
> That Other Thread. But if I cared what other people thought, I'd be
> wearing pants right now.  So nyah. :-) ]

*looks down* ... I'm such a sellout.

[1] http://www.let.uu.nl/esslli/Courses/barr-wells.html
[2] http://citeseer.nj.nec.com/487012.html
[3] http://citeseer.nj.nec.com/goguen91categorical.html
From: Darius
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <20031120144035.00001fa0.ddarius@hotpop.com>
On Thu, 20 Nov 2003 14:35:10 -0500
Darius <·······@hotpop.com> wrote:

> On Thu, 20 Nov 2003 19:00:28 +0000
> David Golden <············@oceanfree.net> wrote:
> 
> > Well, a couple of category theory books shouldn't go amiss, category
> > theory can probably help anyone trying to think clearly about
> > Stuff(tm).
> > 
> > If you just want to get a very basic handle on some of the ideas,
> > you like graphs, and you haven't already been through some compsci
> > and maths and know it all already:  "Conceptual Mathematics: A first
> > introduction to categories" Lawvere & Schanuel  is nicer IMHO than
> > some people make out. Yes, it glosses over some important stuff
> > completely, but it's quite casually-readable, gets you "hooked", and
> > it does say "A first introduction" after all.
> > 
> > "Basic Category Theory for Computer Scientists", Benjamin C. Pierce
> > is nice and a bit more "adult-level".
> 
> I haven't (but want to) read "Category Theory for Computing Science"
> by Barr and Wells but I found their lecture notes[1] more readable as
> a start than the above

"than the immediate above"  I haven't read Conceptual Mathematics, but
I've heard very good things about it too.
From: Arthur Lemmens
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <opryx9uap9k6vmsw@news.xs4all.nl>
Paolo Amoroso <·······@mclink.it> wrote:

> I am looking for suggestions on non-Lisp, computing books that a
> Lisper may find interesting, insightful, inspiring, thought-provoking,
> useful or just fun.

Here's my top-four from the computing-related books that I bought this
year:

- "Information Theory, Inference and Learning Algorithms"
  by David MacKay
- "Computational Geometry"
  by de Berg, van Kreveld, Overmars and Schwarzkopf
- "How to Solve It: Modern Heuristics"
  by Michalewicz and Fogel
- "Practical Cryptography" by Niels Ferguson and Bruce Schneier

If only I had the time to actually read and understand them...

Arthur Lemmens
From: anonymous
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <789vb.297849$0v4.18091639@bgtnsc04-news.ops.worldnet.att.net>
Paolo Amoroso wrote:
> I am looking for suggestions on non-Lisp, computing books that a
> Lisper may find interesting, insightful, inspiring, thought-provoking,
> useful or just fun. I don't mind texts with some math or formal
> notations, but I would prefer those that are self-contained and don't
> require you to check a dozen other books just to understand some
> background material[*].

The Pragmatic Programmer

Starting Forth

Thinking Forth

UNIX Power Tools

Pitfalls of Object-Oriented Development
From: Bill Clementson
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <1b3ac8a3.0311202039.48bdaf55@posting.google.com>
Paolo Amoroso <·······@mclink.it> wrote in message news:<··············@plato.moon.paoloamoroso.it>...
> I am looking for suggestions on non-Lisp, computing books that a
> Lisper may find interesting, insightful, inspiring, thought-provoking,
> useful or just fun. I don't mind texts with some math or formal
> notations, but I would prefer those that are self-contained and don't
> require you to check a dozen other books just to understand some
> background material[*].

I have a page of Lisp-related books on my bookshelf at: 
http://home.comcast.net/~bc19191/lisp-books.htm

Although most of the books on the list have some direct Lisp
connection, there are a number of books that aren't specifically about
Lisp that I would recommend:
1. Garbage Collection by Jones & Lins
2. G�del, Escher, Bach: An Eternal Golden Braid by Hofstadter 

Other books that I would recommend that aren't on the list:
3. Le Ton Beau de Marot by Hofstadter 
4. The Computational Beauty of Nature by Flake

--
Bill Clementson
From: Frank Goenninger DG1SBG
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <87ad6ly20w.fsf@stargate.de.goenninger.com>
And while we're looking at Douglas Hofstaedter:

In his book "Metamagicum" he actually has quite an interesting chapter 
about lisp ! 

Real Good Stuff!

Have fun everyone.

Frank
From: Ray Dillinger
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <3FC266D6.B6E0FFC4@sonic.net>
Frank Goenninger DG1SBG wrote:
> 
> And while we're looking at Douglas Hofstaedter:
> 
> In his book "Metamagicum" he actually has quite an interesting chapter
> about lisp !
> 
> Real Good Stuff!
> 
> Have fun everyone.
> 
> Frank

In the american editions, the title of this book was "Metamagical Themas."
I agree, it's an excellent read.

				Bear
From: Joe Marshall
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <8ym5a28c.fsf@ccs.neu.edu>
Ray Dillinger <····@sonic.net> writes:

> Frank Goenninger DG1SBG wrote:
>> 
>> And while we're looking at Douglas Hofstaedter:
>> 
>> In his book "Metamagicum" he actually has quite an interesting chapter
>> about lisp !
>> 
>> Real Good Stuff!
>> 
>> Have fun everyone.
>> 
>> Frank
>
> In the american editions, the title of this book was "Metamagical Themas."
> I agree, it's an excellent read.

`Metamagical Themas' is an anagram of `Mathematical Games'
(Hofstaedter took over the column in Scientific American from Martin
Gardner).  Renaming the book `Metamagicum' not only removes the clever
anagramming, it makes the title more appropriate for an `adult'
bookstore.
From: Pascal Costanza
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <bpu0jp$7i7$1@newsreader3.netcologne.de>
Joe Marshall wrote:

> Ray Dillinger <····@sonic.net> writes:
> 
> 
>>Frank Goenninger DG1SBG wrote:
>>
>>>And while we're looking at Douglas Hofstaedter:
>>>
>>>In his book "Metamagicum" he actually has quite an interesting chapter
>>>about lisp !
>>>
>>>Real Good Stuff!
>>>
>>>Have fun everyone.
>>>
>>>Frank
>>
>>In the american editions, the title of this book was "Metamagical Themas."
>>I agree, it's an excellent read.
> 
> 
> `Metamagical Themas' is an anagram of `Mathematical Games'
> (Hofstaedter took over the column in Scientific American from Martin
> Gardner).  Renaming the book `Metamagicum' not only removes the clever
> anagramming, it makes the title more appropriate for an `adult'
> bookstore.

I guess Frank was referring to the German translation, and there the 
anagram doesn't make a lot of sense. The German translation also has an 
interesting cover that makes the title readable in both horizontal 
directions.

Hofstadter is known to care about translations of his books, and was 
probably involved in these decisions. At least, this was the case for 
Goedel, Escher, Bach, as stated in the introduction of the latter book.


Pascal

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Edi Weitz
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <87brr1pcy0.fsf@bird.agharta.de>
On Mon, 24 Nov 2003 16:25:07 -0500, Joe Marshall <···@ccs.neu.edu> wrote:

> `Metamagical Themas' is an anagram of `Mathematical Games'
> (Hofstaedter took over the column in Scientific American from Martin
> Gardner).  Renaming the book `Metamagicum' not only removes the
> clever anagramming, it makes the title more appropriate for an
> `adult' bookstore.

The German edition has a page with remarks about the translation
which, amongst other things, says that

  "all textual deviations, additions, and omissions were pre-decided
   with the author and authorized by him."

I'm pretty sure this also holds for the title. Why the renaming makes
the title more appropriate for an adult bookstore escapes me - but
English is not my native tongue.

Edi.
From: Jorge Tavares
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <bpjdbk$ce0$1@rena.mat.uc.pt>
Hi,

Paolo Amoroso wrote:
[...]
> I am looking for suggestions on non-Lisp, computing books that a
> Lisper may find interesting, insightful, inspiring, thought-provoking,
> useful or just fun. I don't mind texts with some math or formal
[...]

Besides some sugestions that were already made, I like these books and I 
think they fit well in the "interesting" category (by no particular order):

"The Practise of Programming", by Brian W. Kernighan and Rob Pike. A 
nice book about programming style, design, performance, testing and 
debbuging. While is directly related to C/C++/Java and the like, it 
provides good points about programming.

"Purely Functional Data Structures", by Chris Okasaki. I like this book 
because it makes you think beyond the traditional concepts about data 
structures. I think it is of great value to every programmer.

"Code Complete", by Steve McConnell. This is a good book about software 
construction, providing many good views of the subject. My only remark 
about this book, it does only focus on procedural languages.

"Algorithmics for Hard Problems", by Juraj Hromkovic. An excellent book 
about the design of algorithms for hard computing problems. It presents 
in a systematic way the methods used for the design of algorithms. It is 
a good companion to another great book, "How to Solve It: Modern 
Heuristics" by Z. Michalewicz and David Fogel.


Best Regards,
Jorge

-- 
Jorge Tavares
http://www.dei.uc.pt/~jast

"Evolution is the best engineer."
From: JP Massar
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <t4hqrvcso8sks3qv5n0c8i7qj6dp55peks@4ax.com>
On Thu, 20 Nov 2003 16:47:58 +0100, Paolo Amoroso <·······@mclink.it>
wrote:

>Concerning static vs dynamic typing... Yawn, just kidding... :-)
>
>I have done a trip to the local library to get the 2nd edition of AIMA
>by Russell and Norvig. The computing book shelves were of course
>stuffed with titles on the usual mainstream stuff and fads of the day.
>
>But I realized that there must be some gems buried there that a Lisper
>might appreciate. Hence my poll of the collective mind of fellow
>Lispers.
>
>I am looking for suggestions on non-Lisp, computing books that a
>Lisper may find interesting, insightful, inspiring, thought-provoking,
>useful or just fun.  

In the fun category,

'Soul of a New Machine' by Tracy Kidder.
From: Christian Lynbech
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <87ad6p902c.fsf@baguette.defun.dk>
Frederick Brooks: The Mythical Man-Month

    Still shockingly true and has a lot to say about project
    management. If you can, get the anniversary edition which has
    some additional material.

Knuth: Literate Programming

    I am not entirely sure of the title, but it is a collection of
    articles leading up to and including the one introducing the
    concept.

Knuth: the Computers & Typesetting books

    Not entirely usefull but I love the magnificent quality of the
    books. For the dedicated reader there is probably a lot of Really
    Good Stuff to collect from the programs, Knuth is IMHO an
    exceptionally gifted programmer even if his tools can be rather
    mindboggling to use for us lesser minds.

The proceedings of the first HOPL (History of Programming Languages)

    Changed my perspective on a number of languages. It is good to be
    reminded that there was a time when there was no one right answer.

Jon Bentley: Programming Pearls

    Haven't read very much of it yet, but I think it will make much
    wiser when I do.

Seroul Levy: A beginners book of TeX

    Taught me a lot of things of plain TeX, easy to read and still
    strong enough to allow you to create surprisingly (allthough
    probably rather hideous) hacks.

PS

Somebody should consider collection the suggestions on a Cliki page or
some such.


------------------------+-----------------------------------------------------
Christian Lynbech       | christian ··@ defun #\. dk
------------------------+-----------------------------------------------------
Hit the philistines three times over the head with the Elisp reference manual.
                                        - ·······@hal.com (Michael A. Petonic)
From: Luke Gorrie
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <lhk75t2ju6.fsf@dodo.bluetail.com>
Paolo Amoroso <·······@mclink.it> writes:

> I am looking for suggestions on non-Lisp, computing books that a
> Lisper may find interesting, insightful, inspiring, thought-provoking,
> useful or just fun.

Ack, one of those irresistible questions.. :-)

  Internetworking with TCP/IP (esp. Vol 1) by Douglas Comer. This book
  tells you how the internet (including your computer) works, which is
  a useful thing to know these days. It's easy to read but very
  detailed - both an introduction and a reference. (Alternatively,
  Richard Stevens's "TCP/IP Illustrated" series covers the same
  stuff.)

  The Architecture of Concurrent Programs by Per Brinch
  Hansen. Presents Concurrent Pascal and several very small
  special-purpose operating systems written in it. The designs are
  wonderfully simple, and his approach to performance analysis is the
  nicest I've seen. (Cheap copies to be had at www.bookfinder.com).

  Introduction to Automata Theory, Languages, and Computation by
  Hopcroft &co. This is a formal but approachable introduction to
  "what's an automaton, what're they good for, and what's this got to
  do with languages and parsing?" (I haven't read the parts about
  Computation.) One of those rare books that gives you a new way of
  looking at just about everything. I preferred the first edition.

  Communicating Sequential Processes ("CSP") by Tony Hoare. A way of
  putting together formally understandable systems from concurrent
  parts. Similar style to the automata theory book and, again, offers
  a new way to look at just about everything. You can get a
  high-quality PDF version on the web at http://www.usingcsp.com/
  (Trivia: The code samples are in Lisp with M-expression syntax.)

The CSP book was apparently completely re-typed by hand to create a
good PDF, which is now given away for free. That's what I call heroic!
Many thanks to Jim Davies at Oxford for rescuing a classic from
obscurity and dastardly-hard-to-lay-hands-on'ery.

Cheers,
Luke
From: Peter Seibel
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <m38ym980gu.fsf@javamonkey.com>
Luke Gorrie <····@bluetail.com> writes:

>   Communicating Sequential Processes ("CSP") by Tony Hoare. A way of
>   putting together formally understandable systems from concurrent
>   parts. Similar style to the automata theory book and, again, offers
>   a new way to look at just about everything. You can get a
>   high-quality PDF version on the web at http://www.usingcsp.com/
>   (Trivia: The code samples are in Lisp with M-expression syntax.)
> 
> The CSP book was apparently completely re-typed by hand to create a
> good PDF, which is now given away for free. That's what I call heroic!
> Many thanks to Jim Davies at Oxford for rescuing a classic from
> obscurity and dastardly-hard-to-lay-hands-on'ery.

And thank you for the URL! I've been trying to get my hands on this
book for years! This rocks! Wooheee!!!

-Peter

-- 
Peter Seibel                                      ·····@javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp
From: Madhu
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <xfehe0vs28m.fsf@shelby.cs.unm.edu>
[OT]

Helu

* Luke Gorrie <··············@dodo.bluetail.com> :
|   Communicating Sequential Processes ("CSP") by Tony Hoare. A way of
|   putting together formally understandable systems from concurrent
|   parts. Similar style to the automata theory book and, again, offers
|   a new way to look at just about everything. You can get a
|   high-quality PDF version on the web at http://www.usingcsp.com/
|   (Trivia: The code samples are in Lisp with M-expression syntax.)
|
| The CSP book was apparently completely re-typed by hand to create a
| good PDF, which is now given away for free. That's what I call heroic!
| Many thanks to Jim Davies at Oxford for rescuing a classic from
| obscurity and dastardly-hard-to-lay-hands-on'ery.

Wonder if anyone knew why there is this curious copyright restriction
against printing this document in the Indian subcontinent:

<http://www.usingcsp.com/>
"An electronic version of the book has been produced, and may be
 copied, printed, and distributed free of charge. However, such copying,
 printing, or distribution may not: be carried out for commercial gain; or -
 for copyright reasons - take place within India, Pakistan, Bangladesh,
 Sri Lanka, or the Maldives; or involve any modification to the document"

Regards
Madhu
--
I see I have made myself a slave to Philosophy, but if I get free of Mr.
Linus' business I will resolutely bid adieu to it eternally, except what I do
for my private satisfaction, or leave to come out after me. For I see, a man
must either resolve to point out nothing new or to become a slave to defend
it. -- Isaac Newton, November 18, 1676
  
From: Håkon Alstadheim
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <m0isla6azn.fsf@alstadhome.dyndns.org>
Madhu <·····@cs.unm.edu> writes:

> [OT]
>
> Helu
>
> * Luke Gorrie <··············@dodo.bluetail.com> :
> |   Communicating Sequential Processes ("CSP") by Tony Hoare. A way of
[snip]
> Wonder if anyone knew why there is this curious copyright restriction
> against printing this document in the Indian subcontinent:
[snip]
> Regards
> Madhu

Probably some publisher has the rights, which might mean that it is
available in print ? Know any online bookstores you can recommend ?
Come to think of it, lots of good books exist in _really_ cheap indian
editions.

(with-sinister-snicker 
   "Now, how do I trick them into shipping to Norway ...")

-- 
H�kon Alstadheim, hjemmepappa.
From: Joe Marshall
Subject: Re: Lisper's computing bookshelf: share your favorites
Date: 
Message-ID: <isl9vlln.fsf@ccs.neu.edu>
······@online.no (H�kon Alstadheim) writes:

>
> (with-sinister-snicker 
>    "Now, how do I trick them into shipping to Norway ...")

(defun indianize (&rest names)
  (reduce (lambda (x y) (concatenate 'string y x))
          (reverse names)
          :initial-value "chandranaryan"))