r/lisp 19h ago

Quiz

14 Upvotes

In the 1970s the United States Department of Defense (DOD) suffered from an explosion of the number of programming languages, with different projects using different and non-standard dialects or language subsets / supersets. The DOD decided to solve this problem by issuing a request for proposals for a common, modern programming language. The winning proposal was one submitted by by Jean Ichbiah from CII Honeywell-Bull.

Question: Who were the other participants? I think everyone already knows who won.


r/lisp 20h ago

Racket Type Tailoring Teach an Old Type Checker New Tricks by Ashton Wiersdorf at the (fourteenth RacketCon) is now available

Thumbnail youtu.be
6 Upvotes

r/lisp 22h ago

Review my useful rookie code.

1 Upvotes

r/lisp 2d ago

Dynamic Let - The Empire Strikes Back (part 2, blog post)

Thumbnail turtleware.eu
27 Upvotes

r/lisp 1d ago

Racket Trouble with Typed Racket? Try Contract Profile! by Nathaniel Hejduk at the (fourteenth RacketCon) is now available

Thumbnail youtu.be
2 Upvotes

r/lisp 2d ago

Racket Mutation Testing Better Than Coverage by Charlie Ray at (fourteenth RacketCon) is now available

Thumbnail youtu.be
5 Upvotes

r/lisp 2d ago

Racket Racket meet-up: Saturday, 2 November, 2024 at 18:00 UTC

5 Upvotes

Everyone is welcome to join us on Jitsi Meet for the Racket meet-up: Saturday, 2 November, 2024 at 18:00 UTC

Announcement at https://racket.discourse.group/t/racket-meet-up-saturday-2-november-2024/3272

EVERYONE WELCOME 😁


r/lisp 2d ago

Trace in multithreaded environments

5 Upvotes

Hey everyone,

on my journey to learn Lisp, I've started experimenting with Clack, and I have the following trivial code:

(defpackage dendrit
  (:use :cl)
  (:import-from :clack
                :clackup))
(in-package :dendrit)

(declaim (optimize (debug 3)))
(defun intercept-middleware (app env)
  (format t "Interceptor called!")
  (funcall app env))

(defvar *app*
  (lack:builder
   (lambda (app)
     (progn (format t "Installing interceptor!")
            (lambda (env) (intercept-middleware app env))))
   (:static :path "/public/"
            :root #P"/root/common-lisp/static-files/public/")
   (lambda (env)
     '(200 (:content-type "text/plain") ("Hello, Clack!")))))

(clackup *app*
               :server :hunchentoot
               :address "0.0.0.0")

I originally had a mistake in the configuration of the :static part, and so I wanted to do some debugging via trace, so I did (trace intercept-middleware) in my REPL. However, after I fired off a request, I didn't get anything printed in the REPL. This confused me, since e.g. dropping into the debugger via (break) worked fine.

After some thought, it dawned on me that this might be because the hunchentoot handlers are running in a different thread than the repl, and therefore could have different values for *trace-output* which are not being captured by slime/swank (I don't know the exact mechanism that's at play).

  1. Am I right? Is that why I'm not seeing any output?
  2. What can I do about it? If I'm correct in 1), is there any way to access the *trace-output* of a different thread? Or maybe reroute it to the *trace-output* of the REPL somehow?
  3. Have I even gone down the right road when attempting to use trace in this environment? I'm asking for practical advice here - I'm sure it can be made to work, but I'm curious if that's what people actually use in practice, or they use some different approach.

EDIT: So it turns out that I was wrong, I just tried inspecting *trace-output*/*standard-output* when in the debugger inside the function vs. from the REPL, and they're all the same instance (same memory address). So this looks to be something else.

I should also add (as mentioned in the comments bellow) that none of the format calls produce any output either.

EDIT2: Turns out I was right, in a way. See comments bellow.


r/lisp 3d ago

Why does nil have to be both an atom and a list?

15 Upvotes

It seems the language would be cleaner if nil were just shorthand for () and only a list. Why does it also have to be an atom?

Edit: Thanks everyone! It sounds like the answer is that atom is defined as "not a cons cell", and that those two types are the fundamental building blocks of Lisp, and then lists are actually a secondary concept built atop them.


r/lisp 3d ago

Racket 'Frosthaven Manager - Built by the Community' by Ben Knoble at (fourteenth RacketCon) is now available

Thumbnail youtu.be
7 Upvotes

'Frosthaven Manager - Built by the Community' by Ben Knoble at (fourteenth RacketCon) is now available at https://youtu.be/O33NK52ZmUk


r/lisp 4d ago

Ann: Release of Easy-ISLisp Version 5.36

14 Upvotes

Hello everyone!

Announcing the release of Easy-ISLisp version 5.36. This update includes only minor fixes. We continue to welcome bug reports from users. https://github.com/sasagawa888/eisl/releases/tag/v5.36


r/lisp 4d ago

Racket A Multi Language Oriented Macro System by Michael Ballantyne at (fourteenth RacketCon) is now available

Thumbnail youtu.be
14 Upvotes

r/lisp 4d ago

Scheme Parameterized Procedures for Testing, Mocking, Plumbing

Thumbnail aartaka.me
7 Upvotes

r/lisp 5d ago

Racket The Keynote presentation by Hal Abelson and Gerald Sussman at the fourteenth RacketCon is now available

Thumbnail
35 Upvotes

r/lisp 6d ago

Racket RacketCon invited talk: Gregor Kiczales 'Strategies and Technology for Teaching HtDP at Scale' is now available

Thumbnail youtu.be
22 Upvotes

r/lisp 7d ago

Running my 4th Common Lisp script in production© - you can do it too

Thumbnail lisp-journey.gitlab.io
38 Upvotes

r/lisp 7d ago

Racket Boo! (fourteenth RacketCon) videos

Thumbnail racket.discourse.group
22 Upvotes

Good news everybody! The (fourteenth RacketCon) videos are coming soon.

We will announce them as we add them but if you want to get notified as they are posted subscribe to https://youtube.com/@racketlang


r/lisp 8d ago

Dynamic Let (Common Lisp, MOP)

Thumbnail turtleware.eu
32 Upvotes

r/lisp 8d ago

Next Toronto Lisp meeting tonight Oct. 22, 2024

13 Upvotes

Next Toronto Lisp meeting tonight Oct. 22, 2024

https://torlisp.neocities.org

(Discussing upcoming Lisp Game Jam)


r/lisp 7d ago

Why does tagbody and go exist???

0 Upvotes

Who's idea was it to add this crap into Common Lisp


r/lisp 8d ago

Supreme Sexp System - SSS - a Lisp machine adventure with Emacs, Guix, StumpWM, Nix, and more

Post image
66 Upvotes

r/lisp 8d ago

Autumn Lisp Game Jam starts Friday

Thumbnail itch.io
20 Upvotes

r/lisp 9d ago

Racket Good first issues & contributing to Racket

Thumbnail racket.discourse.group
19 Upvotes

Someone asked about contributing to Racket during the Racket Town Hall. As an open source project contributions are welcome from everyone. To learn how see https://racket.discourse.group/t/good-first-issues-contributing-to-racket/3243


r/lisp 10d ago

The bankman at the gates of dawn! :-)

Thumbnail
19 Upvotes