3 ms·
> Try finding a beginner book on Lisp (even today!) that actually teaches about vectors and hash tables instead of trying to do everything with recursion, lambd
by lispm 7y ago
> Try finding a beginner book on Lisp (even today!) that actually teaches about vectors and hash tables instead of trying to do everything with recursion, lambda and singly-linked lists.
I tried:
Practical Common Lisp by Peter Seibel
http://www.gigamonkeys.com/book/collections.html http://www.gigamonkeys.com/book/collections.html
Also see Land of Lisp page 153ff: Arrays, Hash Tables, Structures, ...
http://landoflisp.com http://landoflisp.com
Common Lisp Cookbook:
http://cl-cookbook.sourceforge.net/hashes.html http://cl-cookbook.sourceforge.net/hashes.html
COMMON LISP: A Gentle Introduction to Symbolic Computation, from 1990
http://www.cs.cmu.edu/~dst/LispBook/book.pdf http://www.cs.cmu.edu/~dst/LispBook/book.pdf
Chapter 13: Arrays, Hash Tables, And Property Lists
- bsder 7y ago"Practical Common Lisp"--Copyright 2012--gets it right and deserves to be called out for that. Hashes and Vectors appear BEFORE lists in the book. They don't get the emphasis they deserve, but they are on par with the list coverage. "COMMON LISP: A Gentle Introduction to Symbolic Computation, from 1990"--Um, wow, a whopping 17 PAGES out of 500+ (5 for hash tables) on nominally the two most useful data structures in all computer programming. (Side note: I had an actual dead tree edition of Touretzky from CMU in 1986?--I don't remember hashes in it--I think that was an add-on later). And, even 1990 is after Lisp starts getting displaced (Tcl, Perl, Python, etc. are all coming online). The Perl4 Camel Book cookbook section was practically an existence proof for "Show people how to do useful things in your language and they will flock to you." In addition, "Hash all the things!" was practically Perl's motto, and it wiped the floor with everything else for a VERY long time (something like 1994-2005--for 10+ years Perl was dominant).
- lispm 7y ago> "Practical Common Lisp"--Copyright 2012--gets it right and deserves to be called out for that. Hashes and Vectors appear BEFORE lists in the book Did you read the book? The book is from 2005. Lists are introduced in chapter 3 with a practical example, a simple database. The Touretzky edition I mentioned is from 1990. Actually lists are the main fundamental data type in Lisp (well, it's also called as an abbreviation of 'List Processor'), which sets it apart from many other programming languages and is the reason of its existence. The basic idea of Lisp is that one can do many practical things with lists. Let's look further in your claim that it would be hard to find introductory Lisp books with mentioning arrays. Paul Graham wrote published in 1996 the book ANSI Common Lisp. Arrays appear in chapter 4 together with strings (1d arrays/ vectors), sequences (a data type joining lists and vectors), structures (records) and hash tables. Winston&Horn, 3rd Edition of 1989. Arrays are in chapter 11. But from that book we get a good idea through practical examples that one can do a lot of interesting things with lists. Another book, the 'Common Lisp Companion' from 1990. Vectors, strings, arrays, sequences, hash-tables appear in chapter 4. > Perl was dominant for text processing and early web server scripting... For example I can't remember much in NeXTStep or MacOS that made use of Perl (or Lisp) in any crucial way. The OS and its applications were written largely in C, C++ and Objective C.