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

learn more… | top users | synonyms

2
votes
2answers
35 views

“Skewed” average in Lisp

I set myself the task to calculate the average of a list, but with two conditions: negative numbers are ignored numbers greater than 100 are counted as if they were 100 So the "skewed" average of ...
3
votes
1answer
22 views

Insertion sort in Common Lisp

This is my first bit of significant code in Common Lisp, an implementation of insertion sort. Being new to Lisp in general, I'm wondering if this code follows best Lisp practices in regards to program ...
1
vote
2answers
38 views

Standard deviation of hourly temperatures of 2 days

It seems that when I program in Lisp my brain goes on auto pilot and I end up solving the problem somehow. I don't even think I just do and it works out. That said, this is some horrible Lisp code ...
5
votes
1answer
35 views

Finding capitalized characters and printing their position & ASCII value

I was trying to find out if a string contained a capitalized letter and if it did I wanted to know the position of the character and its ASCII code. I might have refactored a little to much. Given an ...
5
votes
1answer
566 views

Solving the 'Vietnamese school maths problem'

Having read Can you do the maths puzzle for Vietnamese eight-year-olds that has stumped parents and teachers?, which presented the problem of filling in numbers 1 to 9 to satisfy $$ a + 13 ...
4
votes
0answers
69 views

Functional tree iteration in Common Lisp

I'm adding some functionality to an existing library of data structures in Common Lisp, with a view to asking the original author if I can take over maintenance and development of it. While the ...
5
votes
1answer
137 views

ANFIS network based on Sugeno model I

I've been learning Common Lisp lately and I've implemented ANFIS network based on Sugeno model I. Network layout and details can be read in these slides by Adriano Oliveira Cruz. I use sigmoid as the ...
2
votes
3answers
108 views

Recursion vs. iteration in Lisp macro

I've been programming Clojure for a little while and recently started learning Common Lisp. One of my favorite things about Clojure is the threading operator ->, ...
2
votes
2answers
91 views

Using reduce twice in a row for Run Length Encoding

First of all, I'm new to Lisp (I currently use CLISP and SBCL). There probably are huge mistakes in this code so any guidelines are welcome :) I'm very confused about how to do this. It's just about ...
6
votes
4answers
180 views

FizzBuzz - officially now in CLISP

I had to jump on the bandwagon for this one. The task does a great job of helping you learn a language you're unfamiliar with. So today I present you with my version of the infamous FizzBuzz game in ...
6
votes
4answers
1k views

Finding the sum of all the multiples of 3 or 5 below 1000

As a Lisp (and functional programming) newbie, I wrote the following code that finds the sum of all the multiples of 3 or 5 below 1000, and I suspect that it is lousy: ...
3
votes
2answers
120 views

Creating a repetitive string in Common Lisp

I needed to have a Lisp function that could produce a string of a certain length, created by repeated concatenations of a another string given as argument (so for example by giving 10 and "abc" I ...
0
votes
2answers
199 views

Generic sequence splitter in Common Lisp

I wrote a function split-seq-by-n which accepts a sequence and a number and splits the sequence into subsequences of length n (the last subsequence getting the ...
4
votes
1answer
163 views

Did I convert this C++ class to Common Lisp correctly?

Here is the original C++ class I converted to Lisp at the very bottom of this post. ...
1
vote
1answer
49 views

Finding optimal row sequence for a melody on 5-row Bayan Accordion, v2.0

Another try at this problem in LISP. This time rather than generating every possible row combination for the melody I tried to calculate the best combination directly. Unfortunately there's a problem ...
4
votes
2answers
63 views

Calculating series of rows to use to play a melody on 5-row Bayan Accordion

This was my first attempt at writing a program in LISP. Can anyone give any guides as to how it could be improved? The multiple loops in best-pattern seem awkward (I'd normally do that in just one ...
2
votes
1answer
96 views

Rewrite apply function to use recursion instead

Probably the hardest part of learning lisp has been to think in the "lisp way" which is elegant and impressive, but not always easy. I know that recursion is used to solve a lot of problems, and I am ...
10
votes
1answer
149 views

Generating hard to guess session tokens

Does this code create sufficiently hard-to-guess session tokens, assuming the server and client are communicating over HTTPS? Take 2 (thanks to this crypto.SE answer): ...
1
vote
2answers
65 views

Is using defvar for a non-global variable ok?

I am calling defvar in the middle of a function definition. And so far I've always seen its use, with defparameter for global ...
1
vote
1answer
162 views

common lisp: nested loop beautification (checkboard texture generator)

I've written a small code snippet that generates checkboard texture using cl-opengl. ...
5
votes
1answer
362 views

Prime test - style and correct idiom review please

Below is some code I've created to generate and use a list of prime numbers. This is some of the first common lisp code I've written, and I'd be grateful for any comments regarding style and its use ...
2
votes
1answer
192 views

LISP - Modify string

I have to write a program that changes a string's vowels, consonants and other symbols into C, V respectively 0. I've done this but I wonder if there is a more efficient and elegant way to do it. ...
1
vote
2answers
321 views

Improving readability of non-recursive depth first search function in Lisp

As a free-time activity in order to learn some Lisp I had to implement depth first directed graph search. Due to large graph size (800K nodes, 5M arcs) recursion-based approach I could devise didn't ...
1
vote
1answer
283 views

Proper use of reduce, nested loops

Below is an implementation of Dijkstra's shortest path algorithm. It's input graph is represented as an association list of source nodes to assoc of target node and ...
1
vote
1answer
124 views

How to improve readability of a big lisp function

My main method (remove-random-edge) looks quite difficult to read. I'm new to list, so would appreciate any advice on how to improve the code. ...
3
votes
2answers
97 views

Written numbers to numerical representation

So I took a stab at this task to begin learning common lisp. The idea is that you give it a written representation of a number such as "three thousand and forty nine" and it will output 3049. I was ...
2
votes
1answer
246 views

Determinant calculation of a matrix of any degree

My program calculates the determinant of a matrix of any degree. If you really can't understand my comments or indentifiers please let me know. ...
4
votes
1answer
145 views

Seeking advice on lispiness of style and approach

I'm new to Lisp and I'm yet to wrap my head around the Lisp way of writing programs. Any comments regarding approach, style, missed opportunities appreciated: In particular, please advice if I build ...
2
votes
1answer
303 views

Simplify complex hash-table manipulations in Common Lisp

I'm trying to write a simple triplestore in Common Lisp that will store triples in the form subject-predicate-object. The code is inspired by the book "Programming the Semantic Web". ...
7
votes
1answer
216 views

Sundaram's sieve in Common Lisp

I have this Sundaram's sieve to generate prime numbers up to limit in Common Lisp. ...
2
votes
1answer
174 views

Project Euler #35 in Common Lisp

To start with Common Lisp I am doing Project Euler using this language. Usually I manage to solve problems but I am quite sure that my code is not as efficient as it could be in Common Lisp. That is ...
3
votes
1answer
82 views

Common Lisp. Please advise how the code could be improved

I have strong feeling that the code below is ugly at least as there are 2 same "cons". I would appreciate if you advise me ways to improve it. The code produces all allocation by n items from list ...
2
votes
1answer
223 views

Message queues in Common Lisp

General advice for a change. This is an implementation of message queues that I'm going to use for some work on an actors model library. ...
4
votes
1answer
133 views

First Common Lisp vector math code

I'm studying Common Lisp on my own. Coming from C++, Common Lisp feels kind of strange sometimes. I'd like to get some feedback on what I understood so far. For learning purposes, I wrote this simple ...
4
votes
1answer
228 views

iterative copy-tree in lisp

The common lisp function copy-tree is often implemented in a recursive way, and thus is prone to stack overflow. Here is my attempt at writing an iterative version, one-pass, no stack, no ...
1
vote
2answers
140 views

with-alist-bind

Take 4 (alteration based on feedback from Rainer Joswig): ...
7
votes
2answers
190 views
4
votes
4answers
2k views

Finite State Machine code

I have been making this FSM today. However, as this is probably the biggest practical program I have ever written in CL, I don't know if there are some things that could be improved, or if using a ...
2
votes
1answer
257 views
4
votes
1answer
1k views

Simple web-scraper in Common Lisp (SBCL)

I have written a simple web-scraper in Common Lisp, & would greatly appreciate any feedback: ...
1
vote
1answer
430 views

Simple octal reader macro in Common Lisp

As an exercise, I've implemented a simple reader macro in Common Lisp (using SBCL). It converts Octal (unsigned integers only) into numbers. Usage: ...
5
votes
2answers
451 views

Determining if f(n) = n^2 + 3n + 5 is ever divisible by 121

Given the following problem: It is conjectured that for any \$n > 0\$, \$n^2 + 3n + 5\$ is never divisible by 121. Test this conjecture for \$n = 1,2,...,9999,10000\$. I wrote the following ...
1
vote
1answer
91 views

Tabulate k = 2^n minimizing multiplication

Given the following problem: ;3.3 Tabulate the function k = 2^n for n = 1..50. ;Do this for the fewest possible multiplications.[3] I wrote this answer: ...
2
votes
2answers
1k views

Testing input integers for the palindrome property

3.23 Palindromes A palindrome is a number that reads the same forwards and backwards, like 12321. Write a program that tests input integers for the palindrome property. Hint: This ...
1
vote
1answer
170 views

Machine epsilon - find epsi

4.2 Machine Epsilon Find the floating point number epsi that has the the following properties: 1.0+epsi is greater than 1.0 and Let m b e any number less than epsi. Then 1.0+m is ...
2
votes
1answer
245 views

Compute arithmetic sum of a constant difference sequence

3.1 Write a program that computes the arithmetic sum of a constant difference sequence: D0 = A Dn+1 = Cdn + B Run the following values and compare ...
1
vote
1answer
317 views

Abstract the (duplicate?) behavior between “sort” and “replace”

I have written these two functions that have a similar process. The first is meant to "split" a string on a given character and the second is meant to "replace-all" instances of a character in a ...
4
votes
1answer
558 views

Finding a cryptoarithmetic solution

This code is intended to find all possible solutions to a cryptoarithmetic problem. The description of the problem I was trying to solve is here: In cryptoarithmetic problems, we are given a ...
3
votes
2answers
2k views

Print an integer and its digits reversed

This Common Lisp program is an exercise to print an integer and its digits reversed to the screen: ...
5
votes
3answers
584 views

Calculate the weekday from a date (M-D-Y)

This Common Lisp exercise is to write a program that can calculate the weekday given a string of the format "M-D-Y." It was more challenging than I expected. If you have suggestions about how to ...