# Show & Tell

**URL:** https://racket.discourse.group/c/show-and-tell/7.md

[Latest](https://racket.discourse.group/latest.md) · [Categories](https://racket.discourse.group/categories.md) · [Tags](https://racket.discourse.group/tags.md)

---

## [About the Show & Tell category](https://racket.discourse.group/t/about-the-show-tell-category/121)

<div class="topic-metadata">

**Author:** [@jbclements](https://racket.discourse.group/u/jbclements)\
**Replies:** 0

</div>

Nifty things other people might like to see. These can be things you made, or just things you think are worth seeing! Examples: a new package you just found out about, a new library you just wrote, a feature you never k…

---

## [A Natural Deduction Renderer (?](https://racket.discourse.group/t/a-natural-deduction-renderer/4396)

<div class="topic-metadata">

**Author:** [@ulambda](https://racket.discourse.group/u/ulambda)\
**Replies:** 0\
**Last updated:** [September 21, 2026, 11:23am UTC](https://racket.discourse.group/t/a-natural-deduction-renderer/4396 "2026-09-21T11:23:44Z")

</div>

I write a EDSL which checks a proof (in intuitionistic propositional logic) and then generates a corresponding natural deduction. This is based on my SMathML. (define (type-of var env) (cond ((assoc var env) =\> cdr) …

---

## [A Fairly Simple VC Generator for Hoare Logic](https://racket.discourse.group/t/a-fairly-simple-vc-generator-for-hoare-logic/4391)

<div class="topic-metadata">

**Author:** [@ulambda](https://racket.discourse.group/u/ulambda)\
**Replies:** 0\
**Last updated:** [September 18, 2026, 12:16pm UTC](https://racket.discourse.group/t/a-fairly-simple-vc-generator-for-hoare-logic/4391 "2026-09-18T12:16:21Z")

</div>

I wrote a fairly simple verification condition generator in less than 30 lines. (define (subst Q E V) (cond ((pair? Q) (cons (subst (car Q) E V) (subst (cdr Q) E V))) ((eq? Q V) E) …

---

## [ALOE = Scheme + Smalltalk + Types](https://racket.discourse.group/t/aloe-scheme-smalltalk-types/4367)

<div class="topic-metadata">

**Author:** [@dharmatech](https://racket.discourse.group/u/dharmatech)\
**Replies:** 5\
**Last updated:** [September 18, 2026, 10:19am UTC](https://racket.discourse.group/t/aloe-scheme-smalltalk-types/4367 "2026-09-18T10:19:23Z")

</div>

Hey y'all :man\_raising\_hand: In Scheme, we have: (proc arg ...) In ALOE, it's: (obj msg arg ...) It's an experiment in making everything about calling methods on objects instead of applying functions. And throwing t…

---

## [Another better lower bound for n=17 square packing](https://racket.discourse.group/t/another-better-lower-bound-for-n-17-square-packing/4353)

<div class="topic-metadata">

**Author:** [@gus-massa](https://racket.discourse.group/u/gus-massa)\
**Replies:** 2\
**Last updated:** [August 22, 2026, 6:31pm UTC](https://racket.discourse.group/t/another-better-lower-bound-for-n-17-square-packing/4353 "2026-08-22T18:31:24Z")

</div>

I made an improvement of a recent blog post by Sam Burns where he uses ChatGPT 5.6 Sol to increase the lower bound from 4.4452... to 4.4811 that uses a program in Python as part of the proof. I split my result in two pa…

---

## [Brandx, a new library for OOP, interfaces, generics, and more](https://racket.discourse.group/t/brandx-a-new-library-for-oop-interfaces-generics-and-more/4350)

<div class="topic-metadata">

**Author:** [@ryanc](https://racket.discourse.group/u/ryanc)\
**Replies:** 0\
**Last updated:** [August 21, 2026, 8:44pm UTC](https://racket.discourse.group/t/brandx-a-new-library-for-oop-interfaces-generics-and-more/4350 "2026-08-21T20:44:43Z")

</div>

I'm pleased to announce brandx, a new Racket library for OOP, interfaces, generics, components, and more. The docs are available online, with an introduction including multiple examples. (Thanks to Matthias for comments …

---

## [Yet another Racket benchmark comparison](https://racket.discourse.group/t/yet-another-racket-benchmark-comparison/4335)

<div class="topic-metadata">

**Author:** [@drasken](https://racket.discourse.group/u/drasken)\
**Replies:** 7\
**Last updated:** [August 4, 2026, 4:54pm UTC](https://racket.discourse.group/t/yet-another-racket-benchmark-comparison/4335 "2026-08-04T16:54:15Z")

</div>

After reading this blog post about a comparison using C and CommonLisp (SBCL) I quickly wrote a Racket version just out of curiosity to make yet another unnecessary comparison :slightly\_smiling\_face: I just cloned the d…

---

## [Example of coding in Scheme with AI agentic](https://racket.discourse.group/t/example-of-coding-in-scheme-with-ai-agentic/4325)

<div class="topic-metadata">

**Author:** [@damien\_mattei](https://racket.discourse.group/u/damien_mattei)\
**Replies:** 1\
**Last updated:** [July 25, 2026, 10:10am UTC](https://racket.discourse.group/t/example-of-coding-in-scheme-with-ai-agentic/4325 "2026-07-25T10:10:22Z")

</div>

Hi, i present a transcript of an AI session for coding in Scheme. It is amazing how the AI agent has understood my code and what to do, and even know what rest to do that i had not asked yet. Session Transcript — Addin…

---

## [Transparent Quotes](https://racket.discourse.group/t/transparent-quotes/4317)

<div class="topic-metadata">

**Author:** [@bakgatviooldoos](https://racket.discourse.group/u/bakgatviooldoos)\
**Replies:** 0\
**Last updated:** [July 13, 2026, 2:36pm UTC](https://racket.discourse.group/t/transparent-quotes/4317 "2026-07-13T14:36:00Z")

</div>

Hi, Racket Discourse. This is something I've looked at before, in reference to @notjack's name and name-string under the private modules for Rebellion. I thought about it again today while using C#'s nameof keyword and…

---

## [When Racket Meets Python-Style Strings](https://racket.discourse.group/t/when-racket-meets-python-style-strings/4295)

<div class="topic-metadata">

**Author:** [@cutiedeng](https://racket.discourse.group/u/cutiedeng)\
**Replies:** 2\
**Last updated:** [June 29, 2026, 2:47pm UTC](https://racket.discourse.group/t/when-racket-meets-python-style-strings/4295 "2026-06-29T14:47:15Z")

</div>

Hi everyone, I love Python, but I love Racket even more. Recently, I tried to bring an f-string-style template string mechanism into Racket in racket/racket#5512. Some people in the community seem to feel that, since …

---

## [How to Design Programs Retrospective: The Good, The Bad, and The Ugly](https://racket.discourse.group/t/how-to-design-programs-retrospective-the-good-the-bad-and-the-ugly/4301)

<div class="topic-metadata">

**Author:** [@jestarray](https://racket.discourse.group/u/jestarray)\
**Replies:** 0\
**Last updated:** [June 26, 2026, 1:00am UTC](https://racket.discourse.group/t/how-to-design-programs-retrospective-the-good-the-bad-and-the-ugly/4301 "2026-06-26T01:00:25Z")

</div>

Hello everyone! I've gotten a few emails from teachers who stumbled upon my HTDP video series and had a few questions so I figured I'd address them in a video. I'm moore or less done with the video series. It covers most…

---

## [Shift vs Control difference - an example](https://racket.discourse.group/t/shift-vs-control-difference-an-example/4286)

<div class="topic-metadata">

**Author:** [@matteo-daddio](https://racket.discourse.group/u/matteo-daddio)\
**Replies:** 1\
**Last updated:** [June 17, 2026, 9:45pm UTC](https://racket.discourse.group/t/shift-vs-control-difference-an-example/4286 "2026-06-17T21:45:10Z")

</div>

Hello, I don’t know if this is well known or not, but after some reasoning I found an interesting example about the difference between shift and control. I asked the AI to make an example about delimited continuations …

---

## [Web-based Racket REPL running on WASM](https://racket.discourse.group/t/web-based-racket-repl-running-on-wasm/4277)

<div class="topic-metadata">

**Author:** [@bradlord](https://racket.discourse.group/u/bradlord)\
**Replies:** 6\
**Last updated:** [June 12, 2026, 10:09pm UTC](https://racket.discourse.group/t/web-based-racket-repl-running-on-wasm/4277 "2026-06-12T22:09:29Z")

</div>

With a lot of help from Claude Code, I managed to put together a proof of concept version of full Racket running in a browser: It's based on an emscripten build of Chez Scheme with interpreted platform independent byt…

---

## [QR code command line tool](https://racket.discourse.group/t/qr-code-command-line-tool/4276)

<div class="topic-metadata">

**Author:** [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Replies:** 1\
**Last updated:** [June 4, 2026, 3:36pm UTC](https://racket.discourse.group/t/qr-code-command-line-tool/4276 "2026-06-04T15:36:12Z")

</div>

A colleague needed to make QR codes so I made a command line tool. I installed simple-qr with raco package install, then I searched for and installed the drracket-cmdline-args DrRacket plugin using graphical package …

---

## [A small experiment: bootstrapping Racket into a ChatGPT sandbox at openai](https://racket.discourse.group/t/a-small-experiment-bootstrapping-racket-into-a-chatgpt-sandbox-at-openai/4238)

<div class="topic-metadata">

**Author:** [@hnmdijkema](https://racket.discourse.group/u/hnmdijkema)\
**Replies:** 0\
**Last updated:** [May 25, 2026, 12:22am UTC](https://racket.discourse.group/t/a-small-experiment-bootstrapping-racket-into-a-chatgpt-sandbox-at-openai/4238 "2026-05-25T00:22:55Z")

</div>

I have been working on a small experiment: can a ChatGPT AI assistant install and use a real Racket distribution inside its temporary Linux sandbox? The story started with something much more modest. I wanted the assist…

---

## [CNF is a semantic working copy for coding agents](https://racket.discourse.group/t/cnf-is-a-semantic-working-copy-for-coding-agents/4221)

<div class="topic-metadata">

**Author:** [@tompassarelli](https://racket.discourse.group/u/tompassarelli)\
**Replies:** 0\
**Last updated:** [May 20, 2026, 4:14pm UTC](https://racket.discourse.group/t/cnf-is-a-semantic-working-copy-for-coding-agents/4221 "2026-05-20T16:14:30Z")

</div>

I've been building CNF a Racket library that gives coding agents a semantic working copy instead of text files. Source code is claims about stable identities, not strings — a call site points at a function's entity, not …

---

## [Let-assert & define-return](https://racket.discourse.group/t/let-assert-define-return/4208)

<div class="topic-metadata">

**Author:** [@hnmdijkema](https://racket.discourse.group/u/hnmdijkema)\
**Replies:** 10\
**Last updated:** [May 20, 2026, 10:44am UTC](https://racket.discourse.group/t/let-assert-define-return/4208 "2026-05-20T10:44:52Z")

</div>

I just released two small modules: let-assert (let/assert) A small sequential binding form with local assertions. It is useful for defensive programming around FFI bindings: checks for null pointers, exit codes, and sim…

---

## [Beagle — a typed authoring layer for Clojure, built as a Racket #lang](https://racket.discourse.group/t/beagle-a-typed-authoring-layer-for-clojure-built-as-a-racket-lang/4218)

<div class="topic-metadata">

**Author:** [@tompassarelli](https://racket.discourse.group/u/tompassarelli)\
**Replies:** 0\
**Last updated:** [May 18, 2026, 7:53am UTC](https://racket.discourse.group/t/beagle-a-typed-authoring-layer-for-clojure-built-as-a-racket-lang/4218 "2026-05-18T07:53:39Z")

</div>

This isn't really "Clojure with types beats Clojure." It's "an agent with a typed repair protocol beats an agent without one." Beagle works like this: Beagle source → Racket reader/parser → custom type checker …

---

## [New release of racket-audio - v0.1.7](https://racket.discourse.group/t/new-release-of-racket-audio-v0-1-7/4213)

<div class="topic-metadata">

**Author:** [@hnmdijkema](https://racket.discourse.group/u/hnmdijkema)\
**Replies:** 0\
**Last updated:** [May 16, 2026, 10:52am UTC](https://racket.discourse.group/t/new-release-of-racket-audio-v0-1-7/4213 "2026-05-16T10:52:35Z")

</div>

Just to inform. I've released a new version of racket-audio. This one adds: A high level API for audio playback, see 'audio-player.rkt', using racket places for complete isolation. More documentation has been completed…

---

## [New release of racket-audio](https://racket.discourse.group/t/new-release-of-racket-audio/4209)

<div class="topic-metadata">

**Author:** [@hnmdijkema](https://racket.discourse.group/u/hnmdijkema)\
**Replies:** 2\
**Last updated:** [May 16, 2026, 10:48am UTC](https://racket.discourse.group/t/new-release-of-racket-audio/4209 "2026-05-16T10:48:11Z")

</div>

I just release a new version of module racket-audio. It now also works with ffmpeg as backend and there's no special C-layer necessary anymore. The needed audio libraries are used directly. For windows the needed DLL's …

---

## [Just For Fun: Model-Theoretic Semantics of First-Order Logic Expressed in Racket](https://racket.discourse.group/t/just-for-fun-model-theoretic-semantics-of-first-order-logic-expressed-in-racket/4207)

<div class="topic-metadata">

**Author:** [@ulambda](https://racket.discourse.group/u/ulambda)\
**Replies:** 2\
**Last updated:** [May 11, 2026, 2:15pm UTC](https://racket.discourse.group/t/just-for-fun-model-theoretic-semantics-of-first-order-logic-expressed-in-racket/4207 "2026-05-11T14:15:39Z")

</div>

This is a faithful implementation of the (uninteresting) model-theoretic (Tarskian) semantics of first-order logic in Racket. We assume that domains are finite. This program is written for people to read, and only incide…

---

## [Application of my new Racket webview module](https://racket.discourse.group/t/application-of-my-new-racket-webview-module/4193)

<div class="topic-metadata">

**Author:** [@hnmdijkema](https://racket.discourse.group/u/hnmdijkema)\
**Replies:** 3\
**Last updated:** [May 11, 2026, 10:26am UTC](https://racket.discourse.group/t/application-of-my-new-racket-webview-module/4193 "2026-05-11T10:26:46Z")

</div>

Hi there, Just a quick screenshot of my rktplayer music player (currently only flac support) based on the racket-webview / racket-sound module I developed. The rktplayer repository can be found here.

---

## [Just Another Example of the Array Language](https://racket.discourse.group/t/just-another-example-of-the-array-language/4201)

<div class="topic-metadata">

**Author:** [@ulambda](https://racket.discourse.group/u/ulambda)\
**Replies:** 1\
**Last updated:** [May 10, 2026, 7:48pm UTC](https://racket.discourse.group/t/just-another-example-of-the-array-language/4201 "2026-05-10T19:48:39Z")

</div>

This is the continuation of Note that I modify the array language a little bit. (define conway-kernel (\<\< (Array #(1 1 1 1 0 1 1 1 1)) (rho2 3 3))) (define (neighbor grid) (\<\< conway-kernel (Convolve2…

---

## [A simple yet surprisingly hard game made in Racket and SDL](https://racket.discourse.group/t/a-simple-yet-surprisingly-hard-game-made-in-racket-and-sdl/4161)

<div class="topic-metadata">

**Author:** [@alexsh](https://racket.discourse.group/u/alexsh)\
**Replies:** 1\
**Last updated:** [March 21, 2026, 7:23pm UTC](https://racket.discourse.group/t/a-simple-yet-surprisingly-hard-game-made-in-racket-and-sdl/4161 "2026-03-21T19:23:46Z")

</div>

Hi! As I am teaching myself Racket, I quickly made this game. The objective is to make the "ball" (it's not round, I know) bounce as many times in a row as you can off the paddle at the bottom that you control. SPC to…

---

## [\- String Tools -](https://racket.discourse.group/t/string-tools/4121)

<div class="topic-metadata">

**Author:** [@soegaard](https://racket.discourse.group/u/soegaard)\
**Replies:** 2\
**Last updated:** [February 23, 2026, 10:28am UTC](https://racket.discourse.group/t/string-tools/4121 "2026-02-23T10:28:43Z")

</div>

Hi All, I have put together a new string library. Comments are welcome.

---

## [Book on the history of LisP](https://racket.discourse.group/t/book-on-the-history-of-lisp/4119)

<div class="topic-metadata">

**Author:** [@damien\_mattei](https://racket.discourse.group/u/damien_mattei)\
**Replies:** 0\
**Last updated:** [February 22, 2026, 1:29pm UTC](https://racket.discourse.group/t/book-on-the-history-of-lisp/4119 "2026-02-22T13:29:05Z")

</div>

A book by the author Cees de Groot. Seems to be just published a few days ago.

---

## [Custom and simple 3D opengl engine written with racket](https://racket.discourse.group/t/custom-and-simple-3d-opengl-engine-written-with-racket/3663)

<div class="topic-metadata">

**Author:** [@g0zar](https://racket.discourse.group/u/g0zar)\
**Replies:** 1\
**Last updated:** [February 19, 2026, 7:12pm UTC](https://racket.discourse.group/t/custom-and-simple-3d-opengl-engine-written-with-racket/3663 "2026-02-19T19:12:25Z")

</div>

Hello racket folks. I thought about sharing my latest project with you. It's a 3D game engine I am making for very simple games. The whole thing was done in about 3 to 4 weeks. I've made 2 whole videos of what it looks …

---

## [Color theory - generate color palettes](https://racket.discourse.group/t/color-theory-generate-color-palettes/4084)

<div class="topic-metadata">

**Author:** [@MickeyKnox](https://racket.discourse.group/u/MickeyKnox)\
**Replies:** 2\
**Last updated:** [January 17, 2026, 5:38pm UTC](https://racket.discourse.group/t/color-theory-generate-color-palettes/4084 "2026-01-17T17:38:36Z")

</div>

I've created a small tool to generate color palettes:

---

## [A happy path for Racket in the Collatz benchmark](https://racket.discourse.group/t/a-happy-path-for-racket-in-the-collatz-benchmark/4081)

<div class="topic-metadata">

**Author:** [@gus-massa](https://racket.discourse.group/u/gus-massa)\
**Replies:** 0\
**Last updated:** [January 16, 2026, 2:23pm UTC](https://racket.discourse.group/t/a-happy-path-for-racket-in-the-collatz-benchmark/4081 "2026-01-16T14:23:39Z")

</div>

I made a short post about making a "benchmark" published by @awiersdorf faster. The original code is nice, but it's posible to make it faster using some tricks or improving (in the future) the compiler to do the tricks f…

---

## [Inside-out Procedures with Bruijn](https://racket.discourse.group/t/inside-out-procedures-with-bruijn/4028)

<div class="topic-metadata">

**Author:** [@bakgatviooldoos](https://racket.discourse.group/u/bakgatviooldoos)\
**Replies:** 1\
**Last updated:** [December 5, 2025, 5:11pm UTC](https://racket.discourse.group/t/inside-out-procedures-with-bruijn/4028 "2025-12-05T17:11:03Z")

</div>

Hi, Racket Discourse. I have been tinkering with the syntax of the bruijn language recently, and I thought I'd share some of the bits I've found interesting so far. The language uses De Bruijn index-notation to name va…

[Next page](https://racket.discourse.group/c/show-and-tell/7.md?page=1)
