Introduction
Archive-name: lisp-faq/part3
Last-Modified: Mon May 22 09:42:48 1995 by Mark Kantrowitz
Version: 1.52
Maintainer: Mark Kantrowitz and Barry Margolin <ai+lisp-faq@cs.cmu.edu>
URL: http://www.cs.cmu.edu/Web/Groups/AI/html/faqs/lang/lisp/top.html
Size: 36395 bytes, 797 lines
;;; ****************************************************************
;;; Answers to Frequently Asked Questions about Lisp ***************
;;; ****************************************************************
;;; Written by Mark Kantrowitz and Barry Margolin
;;; lisp_3.faq
This post contains Part 3 of the Lisp FAQ.
If you think of questions that are appropriate for this FAQ, or would
like to improve an answer, please send email to us at ai+lisp-faq@cs.cmu.edu.
This section contains a list of common pitfalls. Pitfalls are aspects
of Common Lisp which are non-obvious to new programmers and often
seasoned programmers as well.
Common Pitfalls (Part 3):
[3-0] Why does (READ-FROM-STRING "foobar" :START 3) return FOOBAR
instead of BAR?
[3-1] Why can't it deduce from (READ-FROM-STRING "foobar" :START 3)
that the intent is to specify the START keyword parameter
rather than the EOF-ERROR-P and EOF-VALUE optional parameters?
[3-2] Why can't I apply #'AND and #'OR?
[3-3] I used a destructive function (e.g. DELETE, SORT), but it
didn't seem to work. Why?
[3-4] After I NREVERSE a list, it's only one element long. After I
SORT a list, it's missing things. What happened?
[3-5] Why does (READ-LINE) return "" immediately instead of waiting
for me to type a line?
[3-6] I typed a form to the read-eval-print loop, but nothing happened. Why?
[3-7] DEFMACRO doesn't seem to work.
When I compile my file, LISP warns me that my macros are undefined
functions, or complains "Attempt to call <function> which is
defined as a macro.
[3-8] Name conflict errors are driving me crazy! (EXPORT, packages)
[3-9] Closures don't seem to work properly when referring to the
iteration variable in DOLIST, DOTIMES, DO and LOOP.
[3-10] What is the difference between FUNCALL and APPLY?
[3-11] Miscellaneous things to consider when debugging code.
[3-12] When is it right to use EVAL?
[3-13] Why does my program's behavior change each time I use it?
[3-14] When producing formatted output in Lisp, where should you put the
newlines (e.g., before or after the line, FRESH-LINE vs TERPRI,
~& vs ~% in FORMAT)?
[3-15] I'm using DO to do some iteration, but it doesn't terminate.
[3-16] My program works when interpreted but not when compiled!
Search for \[#\] to get to question number # quickly.
Go Back Up
Go To Next