What exactly is a symbol in lisp/scheme?

In Scheme and Racket, a symbol is like an immutable string that happens to be interned so that symbols can be compared with eq? (fast, essentially pointer comparison). Symbols and strings are separate data types. One use for symbols is lightweight enumerations. For example, one might say a direction is either ‘north, ‘south, ‘east, or … Read more

Examples of excellent Common Lisp code?

CL-PPCRE is often cited as a good example, for good reason. Actually, probably any of Edi Weitz’s libraries will make good reading, but CL-PPCRE is particularly clever and it’s a useful and impressive library. Beyond that a lot of CL implementations are written mostly in CL. It can be pretty productive to pick some part … Read more

How does Lisp let you redefine the language itself?

Lisp users refer to Lisp as the programmable programming language. It is used for symbolic computing – computing with symbols. Macros are only one way to exploit the symbolic computing paradigm. The broader vision is that Lisp provides easy ways to describe symbolic expressions: mathematical terms, logic expressions, iteration statements, rules, constraint descriptions and more. … Read more

Where to learn how to practically use Common Lisp [closed]

I would propose reading ‘Practical Common Lisp’, since it already answers some of your questions. There are probably three to four books you should read: Basic introduction to Common Lisp: Common Lisp: A Gentle Introduction to Symbolic Computation Practical introduction to Common Lisp: Practical Common Lisp More advanced Common Lisp: Paradigms of Artificial Intelligence Programming: … Read more

LET versus LET* in Common Lisp

LET itself is not a real primitive in a Functional Programming Language, since it can replaced with LAMBDA. Like this: (let ((a1 b1) (a2 b2) … (an bn)) (some-code a1 a2 … an)) is similar to ((lambda (a1 a2 … an) (some-code a1 a2 … an)) b1 b2 … bn) But (let* ((a1 b1) (a2 … Read more

What does “my other car is a cdr” mean?

In Lisp, a linked list element is called a CONS. It is a data structure with two elements, called the CAR and the CDR for historical reasons. (Some Common Lisp programmers prefer to refer to them using the FIRST and REST functions, while others like CAR and CDR because they fit well with the precomposed … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)