## Understanding the SBCL entry/exit assembly boiler plate code

BACKGROUND

When using 64bit Steel Bank Common Lisp on Windows for a trivial identity function:

(defun a (x)
(declare (fixnum x))
(declare (optimize (speed 3) (safety 0)))
(the fixnum x))

## Levels of Homoiconicity

This is a follow up to my previous question. I’m not convinced that Lisp code is as Homoiconic as machine code on a Von Neumann architecture. It seems obvious to me that in both cases code is …

## Any suggestions for which Lisp variant to learn?

I ultimately want to learn Clojure, but I’ve found learning resources for Clojure to be scarce for people of little experience…

## common lisp cons creates a list from two symbols, clojure cons requires a seq to cons onto?

(Disclaimer – I’m aware of the significance of Seqs in Clojure)

In common lisp the cons function can be used to combine two symbols into a list:

(def s ‘x)
(def l ‘y)
(cons s l)
In clojure – you …

## Using Lisp in C#

As a lot of people pointed out in this question, Lisp is mostly used as a learning experience. Nevertheless, it would be great if I could somehow use my Lisp algorithms and combine them with my C# …

## Parsing in Prolog without cut?

I found this nice snippet for parsing lisp in Prolog (from here):

ws –> [W], { code_type(W, space) }, ws.
ws –> [].

parse(String, Expr) :- phrase(expressions(Expr), String).

expressions([E|…

## Why is the recursive function performing better than the iterative function in elisp?

As a test for one of my classes, our teacher asked us to test a recursive and non-recursive approach to the famous Euclidean Algorithm:

Iterative

(defun gcdi (a b)
(let ((x a) (y b) r)
(while (…

## Is there a Scheme implementation that parallelizes?

Is there a R5RS-or-higher Scheme implementation that does parallelization? For example, if I say to do:

(map (lambda (x)
(pure-functional-stuff x))
‘(1 3 5 7 11 13))
it will process 1,…

## “Don’t know how to create ISeq from: Symbol” error in Clojure

I have the following Clojure code and I’m not sure why it’s not working:

(defn match (x y &optional binds)
(cond
((eql x y) (values binds t))
((assoc x binds) (match (binding x binds) y …

## Cannot create apply function with static language?

I have read that with a statically typed language like Scala or Haskell there is no way to create or provide a Lisp apply function:

(apply #’+ (list 1 2 3)) => 6
or maybe

(apply #’list ‘(list :…