Re: Need some help.



In article <1185705191.640068.193650@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
"daidongLY@xxxxxxxxx" <daidongLY@xxxxxxxxx> wrote:

It's a pleasant time in reading the basic parts of 'Practical
Lisp' (the first twenty-two chapters) as its clear and straightforward
explanasion of every aspect of CL, however, things became difficult
after that.

I mean the 'practical' chapters are not clear enough for me who wants
to get some programming experience from this book and is still not
familiar with some important methods in common lisp program design.

For instance, chapter 24 talks about how to parse an binary file. Even
at the very end of this chapter, i'm still in confusion: why should i
introduce this function, is there any benefit? Why should i choose
this hierarchy of functions/classes?

Sometimes it is the bottom-up approach that puzzles a bit.
In a top-down approach you work down from the big picture.
In the bottom-up approach you get little code and data snippets
working and play around with them. You add more functionality
while you are using it. Sometimes you need to 'refactor'
a bit or you need to expand sketches of code that were
earlier done. During this process the code is partially
working and you are constantly thinking about improving
bits and pieces. Lisp makes it easy to play around with
design alternatives (should it be a class or a function?
what kind of class do you need?). That's what I usually
do. Often I'm trying out various alternatives.
So the design choices are often based on 'let's see how
it should look like and how I can implement it'. If
it is good enough, fine. If not, another design iteration
follows.


In my opionion, Common Lisp is a flexible language, there always are
many distinct ways to realize a same function, so i want to know why
when a choice is made. However, from the last several chapters, I can
not get this kind information. It seems that the author payed his
major attention to explan how a function works, and how to extend this
function to fit for the situation.

If you have a question about a chapter of the book,
why not post the question here?
You may even get some answers/explanations. ;-)

So, i'd like to learn more books or online material about the
practical usage of lisp or a way to learn. Hope you can help
me...Thanks!

There are some other introductory books. For example:

Common Lisp: A Gentle Introduction to Symbolic Computation
David S. Touretzky
http://www-cgi.cs.cmu.edu/afs/cs.cmu.edu/user/dst/www/LispBook/index.html


More examples here:
Lisp, 3rd Edition by Winston/Horn

More and longer examples here:
More advanced: Paradigms of Artificial Intelligence Programming
by Peter Norvig

--
http://lispm.dyndns.org
.



Relevant Pages

  • Re: Class in another file
    ... > oriented design is that it is a technique that focuses design on ... programmer did was: design a way of using a structure of standard ... different but related object (i.e. what's now called a "constructor ... that's not as nice as true parameter overloading that Common Lisp ...
    (comp.lang.java.programmer)
  • Re: The origins of CL conditions system
    ... Machine experience explaining the Lisp Machine error handling. ... languages with continuable exceptions (including Mary Fontana from TI ... Why can't I resume after catching an exception? ... exception handling chapter of The Design and Evolution of C++. ...
    (comp.lang.lisp)
  • Re: Comments, questions, gripes, or rants about the ALU?
    ... Lisp discussed and considered; new good ideas come from new designs. ... something in it that you can't easily do in Common Lisp, ... it can make us aware of the design tradeoffs and alternatives. ... from them in terms of understanding the semantics of Lisps as ...
    (comp.lang.lisp)
  • Job Opening in Munich for Lisp Programmer
    ... the position with someone who has good Lisp experience. ... Virtual CAD (VCAD) is a group within Cadence providing EDA (Electronic ... Design Automation) related services. ... are scripted with the SKILL language, ...
    (comp.lang.lisp)
  • Job Opening in Munich for Lisp Programmer
    ... the position with someone who has good Lisp experience. ... Virtual CAD (VCAD) is a group within Cadence providing EDA (Electronic ... Design Automation) related services. ... are scripted with the SKILL language, ...
    (comp.cad.cadence)