lisp

Lisp-style quotation in HTML

In Lisp, evaluating '(+ 1 2) produces '(+ 1 2), not 3. It seems that HTML doesn't support Lisp-style quotation so you can't say something like <quote><b>not bold</b></quote> in HTML and let it just produce <b>not bold</b> instead of not bold. Is there any technical reason or historical reason for that? Thanks. ...

common-lisp: difference between binding and symbol

What's (in simple terms) the difference between setting a binding (LET) and symbols (=variables) in common lisp? ...

lisp, differences in assignment functions

I'm pretty new to lisp, so apologies for what may be a simple question, Whilst I understand the difference between DEFVAR and DEFPARAMETER (defvar only sets undefined variables), and the LET is for local scope only, what is the is the use of SETF as opposed to the other, previously mentioned assignment functions? ...

What does it mean that "Lisp can be written in itself?"

Paul Graham wrote that "The unusual thing about Lisp-- in fact, the defining quality of Lisp-- is that it can be written in itself." But that doesn't seem the least bit unusual or definitive to me. ISTM that a programming language is defined by two things: Its compiler or interpreter, which defines the syntax and the semantics for the ...

Sum of Squares in Lisp

Hi, I need to write a non-recursive version of the function sum-squares and Use a do-loop that is based on the length of the argument list. ...

How to remove nested parentheses in LISP

How can I remove nested parentheses recursively in Common LISP Such as (unnest '(a b c (d e) ((f) g))) => (a b c d e f g) (unnest '(a b)) => (a b) (unnest '(() ((((a)))) ())) => (a) Thanks ...

Setting slime-enable-evaluate-in-emacs

Hi, I am using SBCL with slime, and have the following code: (swank::eval-in-emacs '(with-current-buffer (slime-repl-buffer) (insert (propertize "foo" 'font-lock-face '(:foreground "red"))))) (print "here is some text") In general, if I try to execute anything with swank:: prefixed to it, emacs will give a security error, and ...

Connecting .NET to Common Lisp

I have a fairly involved LispWorks Common Lisp module that sits atop some .NET modules via RDNZL. It has come up that I need to expose some of its functionality to some other .NET applications, and I'm not sure the best (shortest) way to approach this without re-writing the module in C#. I know there are a few CLR Lisp implementations b...

emacs: how do I use edebug on code that is defined in a macro?

I don't even know the proper terminology for this lisp syntax, so I don't know if the words I'm using to ask the question, make sense. But the question makes sense, I'm sure. So let me just show you. cc-mode (cc-fonts.el) has things called "matchers" which are bits of code that run to decide how to fontify a region of code. That soun...

Please explain some of Paul Graham's points on Lisp

I need some help understanding some of the points from Paul Graham's article http://www.paulgraham.com/diff.html A new concept of variables. In Lisp, all variables are effectively pointers. Values are what have types, not variables, and assigning or binding variables means copying pointers, not what they point to. A symbol type. Symbol...

Can a language have Lisp's powerful macros without the parentheses?

Can a language have Lisp's powerful macros without the parentheses? ...

What is the correct connection string for clsql when accessing ms sqlserver using odbc?

I am accessing a database on another machine from an OS X server. After setting up freetds through macports and creating the freetds.conf file like so: dump file = /tmp/freetds.log # nunb our Microsoft server [winnt] host = 192.168.0.2 port = 1433 tds version = 8.0 I have the following test commands that work:...

Really minimum lisp

What is the minimum set of primitives required such that a language is Turing complete and a lisp variant? Seems like car, cdr and some flow control and something for REPL is enough. It be nice if there is such list. Assume there are only 3 types of data, integers, symbols and lists.(like in picolisp) ...

LISP: Keyword parameters, supplied-p

At the moment I'm working through "Practical Common Lisp" from Peter Seibel. In the chapter "Practical: A Simple Database" (http://www.gigamonkeys.com/book/practical-a-simple-database.html) Seibel explains keyword parameters and the usage of a supplied-parameter with the following example: (defun foo (&key a (b 20) (c 30 c-p)) (list...

Lisp's "some" in Python?

I have a list of strings and a list of filters (which are also strings, to be interpreted as regular expressions). I want a list of all the elements in my string list that are accepted by at least one of the filters. Ideally, I'd write [s for s in strings if some (lambda f: re.match (f, s), filters)] where some is defined as def so...

Are incremental Macro definition possible?

I often find the following type of incremental definition useful: (define (foo) (display "bar")) (foo) ;prints bar (define foo (let ((bar foo)) (lambda () (display "foo") (bar)))) (foo) ;prints foobar How do I preform this type of incremental definition with macros? I could not get let-sy...

What type of lambda calculus would Lisp loosely be an example of?

I'm trying to get a better grip on how types come into play in lambda calculus. Admittedly, a lot of the type theory stuff is over my head. Lisp is a dynamically typed language, would that roughly correspond to untyped lambda calculus? Or is there some kind of "dynamically typed lambda calculus" that I'm unaware of? ...

Equivalence Classes LISP

I need to write a program for equivalence classes and get this outputs... (equiv '((a b) (a c) (d e) (e f) (c g) (g h))) => ((a b c g h) (d e f)) (equiv '((a b) (c d) (e f) (f g) (a e))) => ((a b e f g) (c d)) Basically, A set is a list in which the order doesn't matter, but elements don't appear more than once. The function shoul...

"Inlining" (kind of) functions at runtime in C

Hi, I was thinking about a typical problem that is very JIT-able, but hard to approach with raw C. The scenario is setting up a series of function pointers that are going to be "composed" (as in maths function composition) once at runtime and then called lots and lots of times. Doing it the obvious way involves many virtual calls, that...

How to return the output of a recursive function in Clojure

Hi everyone! I'm new to functional languages and clojure, so please bear with me... I'm trying to construct a list of functions, with either random parameters or constants. The function that constructs the list of functions is already working, though it doesn't return the function itself. I verified this using println. (edit: Okay, it ...