# Questions tagged [common-lisp]

Common Lisp, or ANSI Common Lisp, is a standardized version of the Lisp programming language intended for production-strength power and libraries.

112 questions
Filter by
Sorted by
Tagged with
28 views

### Lispy code? Palindrome of product

My answer to Project Euler problem 4 (largest palindrome of product of two 3-digit numbers) is below. Please suggest improvements, style changes, indentation, commenting, naming, ... And nitpicks are ...
45 views

### Lispy code? Prime factors of a number

My answer to Project Euler problem 3 (largest prime factor of 600851475143) is below. Please suggest improvements, style changes, indentation, commenting, naming of "objects", ... ...
75 views

### Lispy code? Sum multiples of 3 or 5 up to 1000

I've started learning Lisp one more time (I seem to do this every couple years); my experience is with C, basically. I attempted to solve the Project Euler problem 1: If we list all the natural ...
30 views

### My solution to the 100 prisoners challenge

I stumbled across the 100 prisoners problem on Rosetta Code. I thought it would be fun to add a Common Lisp solution, see below. Before I publish my solution I would like to have some feedback on my ...
77 views

### Hunchentoot first steps - good ways of pulling out parenscript from an easy-handler

In the following hunchentoot easy-handler definition: ...
50 views

### Thoughts about a json2clos decoding using cl-json

Coming from this question https://stackoverflow.com/questions/58131614/how-to-convert-json-string-into-complex-clos-object-using-cl-json-library I've finally come up with the following solution. I ...
38 views

### BST range search

I'd like some input on my implementation of bst-range, which follows below. Before we can get to bst-range, we first need some setup code to build the BST. (You ...
52 views

### BST with node count

I took a simple BST implementation which is only really a set (i.e. just element, not key value), and decided to add a node count. I was translating this, which is explained here. In particular the ...
33 views

### Generating HTML for prerolled d20 RPG initiative tables

A fairly simple program that I tried to write in Common Lisp in order to practice/learn. I'm sure this can be done more elegantly but Lisp's string handling seems to be very werd. ...
109 views

### BST traverse as higher order function [closed]

Consider the following function to traverse a BST ...
53 views

### Abstracting on Common Lisp Function Keyword Parameters

This is an experiment on extending a basic built-in Common Lisp sequence function (namely remove), in order to provide more functionality with little or no impact ...
88 views

### Find minimum value in a BST: using boolean operators, and using conditionals

I've been studying the BST code in Paul Graham's ANSI Common Lisp. He provides (my comments): ...
355 views

### Count frequencies of symbols in a list

I'd like to find a more elegant solution to the following. Below appears correct, but it's hard to read. Is my first use of the map function below poor in stylistic terms? It feels that way, and ...
60 views

### Sum ints on stdin

I have been meaning to learn LISP and for a small task I wanted to find out the sum of all integers on STDIN. So for > clisp a.lisp 1 2 3^D 6 My code is as ...
29 views

### Uncompressing a list with some run-length-encoded elements

Regarding the following code ...
62 views

### Evaluator for adding and subtracting algebraic expressions

I wrote a little program that adds and subtracts some algebraic expressions. In my code (2 x 3) represents $2x^3$. The purpose of this post is to get some ...
69 views

### Generating a list (or a string) with random elements

During implementation and testing of different small hobby projects I often reach the point where I need (at least I like it more) some random data beyond the usual foo-bar strings or lists. Random ...
104 views

### Calculating the cube root

Inspired by a question on SO I was checking how to calculate the cube root of an integer and found a C-ish solution on Hacker's Delight: ...
220 views

### merge function for mergesort - recursion vs. iteration

I decided to do an algorithms course (Roughgarden's on Coursera), and am setting out to implement each algorithm as it's introduced, in Lisp. We start with mergesort which is introduced as the ...
89 views

### Binary Heap implementation in Common Lisp and tests

I implemented a basic binary heap in Common Lisp to learn programming using the CLOS. It is quite neat and self-contained, the core of the program is about 100 SLOC. The whole repository can be found ...
50 views

### Utmost function that takes a comparator function

I'm working through Paul Graham's "ANSI Common Lisp". In Chapter 6 (p105), he introduces the idea of utility functions. He points out these are core to bottom-up programming and reusability. He ...
205 views

### Nested loop in lisp to process a 2d array - what's good style (with and/or without loop macro)? [closed]

Code below is answer to an exercise in Paul Graham's ANSI Common Lisp (ex. 4.1). The challenge is to rotate an array by 90 degrees. I found an example solution which I've commented below. It seems ok'...
49 views

### Puzzling SBCL Compiler Note

Iām having trouble understanding an SBCL compiler note about unreachable code in the following function. The referenced code is attempting to push a value into an Lparallel queue: ...
117 views

### A Parallel Processing Template for Divide & Conquer Problems

Iāve written a program for solving a problem using standard single-threaded code. However, it looks like it could be recast as a multi-threaded problem using divide & conquer. Since this is a ...
64 views

### Enigma questions from “ANSI Common Lisp” [closed]

I'm working through Paul Graham's ANSI Common Lisp and in Exercise 2.5, I'm stumped. My specific question (I wasn't sure whether this type of question is suitable for stack overflow, code review, or ...
67 views

### pos+ (value added to position) - ex 3.5 in āANSI Common Lispā (p57)

The problem is to take a list of integers and map them to another list containing those integers added to their respective position in the list. Example runs with required outputs: ...
250 views

### Occurrences (frequency count) - exercise 3 ch. 3 in “ansi common lisp”

Looking for hints on style and clarity re. below. While I'm not saying speed is irrelevant, it's less of a priority than style & avoiding bad habits at this point. Focus is on clean use of ...
126 views

### Verify that each named sequence is strictly increasing

The master launch sequence consists of several independent sequences for different systems. Your goal is to verify that all the individual system sequences are in strictly increasing order. In other ...
128 views

### Implementing a tree parsing function

I've solved an assignment a week ago, which is my first assignment using Lisp. Tasks: Task 1: a. Given a tree as recursive lists, print the tree in breadth first order. b. Given a tree like ...
244 views

### A simple Tic Tac Toe game

I am trying to learn some Common Lisp, except basically all of my computing background is the C family of languages. So, I'm starting small. I have made a Tic-Tac-Toe game, and I am looking for some ...
174 views

### FizzBuzz in Common Lisp

Where I stand on Lisp So, Lisp. It's been on my radar for years and I'm finally getting around to learning it. The syntax is foreign but I find I'm having the most difficulty in the areas of ...
85 views

### Extracting XML data from a node in Common Lisp (Closure XML DOM)

This is a function intended to take an XML element (in closure XML format) and a name and find a piece of simple data by that name (either in a tag or attribute) within that XML element. It works, but ...
377 views

### Returning the prime factors of a number

I am trying to create a function prime-factors that returns the prime factors of a number. To do so, I created is-prime function,...
59 views

### Pure functional code for the sublists of a list

The code below gives me the list of sublists of a list. Code can still be improved to avoid the use of append, right? ...
132 views

### lisp-koans Greed implementation

I have implemented Greed as part of the lisp-koans extra-credit challenge. I am seeking some general feedback with respect to Common Lisp style, appropriate use of language features, and so forth. ...
424 views

### Reading lines of integers into a list of lists

I have a text file containing integers in different lines which I want to read into a list of lists. So 01 11 14 45 50 09 should become ...
102 views

### Calculating insulin bolus dose and infusion rate

I wrote a hobby program to ease the job of nurses to calculate insulin bolus dose and infusion rate according to measured blood glucose. There are several protocols around. Almost all hospitals ...
192 views

### Scoring poker hands

Just for fun I solved another Project Euler problem dealing with poker cards. I think it is also part of other programming puzzles which can be found in the web. While there is not much mathematics in ...
3k views

### Split a list into two parts with a given length

I'm learning Common Lisp as a hobby and am trying tasks from L-99: Ninety-Nine Lisp Problems, but I'm not sure how good my code is. Here is one of the tasks which I solved: GitHub solution ...
223 views

### Pairwise grouping of elements of a list

I want to group the elements in an arbitrary long list into pairs and implemented the following so far: ...
257 views

### (SBCL) ASCII Game of Life

I'm implementing Conway's Game of Life in Lisp to familiarize myself with the language, with the eventual goal of hosting it on a website with a pretty GUI. I'm a hobbyist and inexperienced (this is ...
114 views

### Calculation of lexicographic permutations

Just for fun, I studied the generation of lexicographic permutations and came across the following algorithm which I transcribed into Common Lisp, as good as I can, being a hobbyist: ...
203 views

### Extending COERCE to other reasonable object type conversions

It's a basic principle in AI that different problem representations can either facilitate or impede a solution. Being able to readily switch data representations while programming in Common Lisp may ...
177 views

### Language training program using Common Lisp and the ltk library

The idea is as follows: We provide program with two files: one with English words and one with words in, let's say, Spanish. The files have one word (it could be a word, or word+some explanation etc) ...
36 views

### Determine indentation of a line of code

The following function determines the amount of indentation of a string. It returns two values. The first is an effective indentation where tabs are expanded such that their end aligns with 4 spaces ...
305 views

### Generic copy function

Common Lisp does not have a generic copy function for reasons outlined in Kent Pitman's article The Best of Intentions. However, it may still be convenient for rapid prototyping purposes to provide ...
165 views

### Using get-setf-expansion

In a previous post at Simplifying complex setf expressions, @sds suggested using the get-setf-expansion macro for implementing place modification, as discussed in ...
288 views

### Invert the bits of a non-negative integer in Common Lisp (SBCL)

I'm doing code challenges to learn Common Lisp. I'm trying to invert all the bits in any given positive integer. My current solution does it the math way, by recursing on a number, dividing it by two,...