# Show & Tell

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

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

**Page:** 7

---

## [New module: rx-tx-async-channel](https://racket.discourse.group/t/new-module-rx-tx-async-channel/1078)

<div class="topic-metadata">

**Author:** [@dstorrs](https://racket.discourse.group/u/dstorrs)\
**Replies:** 0\
**Last updated:** [June 13, 2022, 10:23pm UTC](https://racket.discourse.group/t/new-module-rx-tx-async-channel/1078 "2022-06-13T22:23:07Z")

</div>

This was posted just now and it's still waiting for the docs to be built. Quoting the README: Racket library that defines a struct containing two async-channels in order to make bi-directional communication simple. R…

---

## [Prototyping a Self-Hosting Ecosystem](https://racket.discourse.group/t/prototyping-a-self-hosting-ecosystem/1033)

<div class="topic-metadata">

**Author:** [@slg](https://racket.discourse.group/u/slg)\
**Replies:** 2\
**Last updated:** [June 4, 2022, 5:45pm UTC](https://racket.discourse.group/t/prototyping-a-self-hosting-ecosystem/1033 "2022-06-04T17:45:04Z")

</div>

This wiki uses and contains the technology it documents. I made it using a new (smaller) design for Denxi, which allows for fun reflective code. (module cheating-quine racket/base (require "denxi.rkt") (define-enclo…

---

## [Quite OK Image format encoder and decoder in Racket](https://racket.discourse.group/t/quite-ok-image-format-encoder-and-decoder-in-racket/1042)

<div class="topic-metadata">

**Author:** [@aumouvantsillage](https://racket.discourse.group/u/aumouvantsillage)\
**Replies:** 6\
**Last updated:** [June 2, 2022, 5:55pm UTC](https://racket.discourse.group/t/quite-ok-image-format-encoder-and-decoder-in-racket/1042 "2022-06-02T17:55:59Z")

</div>

The QOI (Quite OK Image) format is a new lossless image compression format that claims similar compression ratios as PNG with faster encoding and decoding. The QOI specification is very simple and easy to implement. As …

---

## [Rendering 2 million data points on an interactive map](https://racket.discourse.group/t/rendering-2-million-data-points-on-an-interactive-map/988)

<div class="topic-metadata">

**Author:** [@alexh](https://racket.discourse.group/u/alexh)\
**Replies:** 8\
**Last updated:** [May 22, 2022, 4:16pm UTC](https://racket.discourse.group/t/rendering-2-million-data-points-on-an-interactive-map/988 "2022-05-22T16:16:19Z")

</div>

I put together a short demo of loading and displaying 2 million waypoints (GPS locations) on an interactive map, to visualize all the places I have been riding my bike. All data processing and rendering is implemented i…

---

## [Construct monad in \`sicp-pict\`?](https://racket.discourse.group/t/construct-monad-in-sicp-pict/985)

<div class="topic-metadata">

**Author:** [@NoahStoryM](https://racket.discourse.group/u/NoahStoryM)\
**Replies:** 5\
**Last updated:** [May 21, 2022, 10:00pm UTC](https://racket.discourse.group/t/construct-monad-in-sicp-pict/985 "2022-05-21T22:00:06Z")

</div>

In the current sicp-pict, we treat a picture as a painter, which is a procedure that takes a frame and then draws the picture to a bitmap (so we don't care about its return value, any type is ok). I tried to define a pr…

---

## [New struct++ feature: accessor wrappers](https://racket.discourse.group/t/new-struct-feature-accessor-wrappers/1006)

<div class="topic-metadata">

**Author:** [@dstorrs](https://racket.discourse.group/u/dstorrs)\
**Replies:** 0\
**Last updated:** [May 19, 2022, 4:17pm UTC](https://racket.discourse.group/t/new-struct-feature-accessor-wrappers/1006 "2022-05-19T16:17:07Z")

</div>

Accessor wrappers allow you to redirect a struct accessor to do whatever you want. Good examples would be to force a promise or access a database. #lang racket (require struct-plus-plus "db/dbh.rkt") ; dbh.rkt provide…

---

## [Personal Package Catalog](https://racket.discourse.group/t/personal-package-catalog/997)

<div class="topic-metadata">

**Author:** [@SamPhillips](https://racket.discourse.group/u/SamPhillips)\
**Replies:** 2\
**Last updated:** [May 18, 2022, 10:47pm UTC](https://racket.discourse.group/t/personal-package-catalog/997 "2022-05-18T22:47:48Z")

</div>

I made my own Package Catalog for publishing pre-release versions of packages. Also useful if you are too shy to add your package to the official catalog.

---

## [Experiment with defines: define unity](https://racket.discourse.group/t/experiment-with-defines-define-unity/314)

<div class="topic-metadata">

**Author:** [@benknoble](https://racket.discourse.group/u/benknoble)\
**Replies:** 3\
**Last updated:** [May 10, 2022, 11:00am UTC](https://racket.discourse.group/t/experiment-with-defines-define-unity/314 "2022-05-10T11:00:41Z")

</div>

I went through a phase (which may now be over) where I thought it was really odd that we had a whole bunch of define-like forms. (Why? Mostly for reasons of getting indentation right in vim: vim uses an option lispwords …

---

## [Self-Hosting racket/base programs with Blossoms](https://racket.discourse.group/t/self-hosting-racket-base-programs-with-blossoms/980)

<div class="topic-metadata">

**Author:** [@slg](https://racket.discourse.group/u/slg)\
**Replies:** 0\
**Last updated:** [May 7, 2022, 3:51am UTC](https://racket.discourse.group/t/self-hosting-racket-base-programs-with-blossoms/980 "2022-05-07T03:51:43Z")

</div>

While hacking on Denxi I found a need for s-exp programs that can functionally refactor their enclosing source files. I defined a blossom as a kind of whole-program macro, and an experimental approach to self-hosting usi…

---

## [Progress indicator for \`for\` loops: \`in-heartbeat\`](https://racket.discourse.group/t/progress-indicator-for-for-loops-in-heartbeat/960)

<div class="topic-metadata">

**Author:** [@soegaard](https://racket.discourse.group/u/soegaard)\
**Replies:** 3\
**Last updated:** [May 5, 2022, 1:51pm UTC](https://racket.discourse.group/t/progress-indicator-for-for-loops-in-heartbeat/960 "2022-05-05T13:51:43Z")

</div>

Waiting for the result of a large computation can be annoying. Is the loop stuck? The silly sequence below makes it easy to do something every nth time in a loop. Such as displaying a progress indicator. #lang racket…

---

## [Profiling example](https://racket.discourse.group/t/profiling-example/954)

<div class="topic-metadata">

**Author:** [@jbclements](https://racket.discourse.group/u/jbclements)\
**Replies:** 9\
**Last updated:** [May 3, 2022, 5:18am UTC](https://racket.discourse.group/t/profiling-example/954 "2022-05-03T05:18:01Z")

</div>

Do we have a wiki where we can put snippets of code? Or perhaps someone has time to format this as part of the docs? I wanted to run a profiler last night, and it looks like a piece of example code would be helpful. #la…

---

## [A Functional Introduction to Computer Science (Part I)](https://racket.discourse.group/t/a-functional-introduction-to-computer-science-part-i/947)

<div class="topic-metadata">

**Author:** [@plragde](https://racket.discourse.group/u/plragde)\
**Replies:** 2\
**Last updated:** [May 1, 2022, 8:51pm UTC](https://racket.discourse.group/t/a-functional-introduction-to-computer-science-part-i/947 "2022-05-01T20:51:57Z")

</div>

I have a complete draft of the first part of my flânerie A Functional Introduction To Computer Science (Part I) up. Like my other flâneries, it's based on courses I developed at the University of Waterloo, but is self-co…

---

## [Giancarlo Rota's reminiscences](https://racket.discourse.group/t/giancarlo-rotas-reminiscences/668)

<div class="topic-metadata">

**Author:** [@jbclements](https://racket.discourse.group/u/jbclements)\
**Replies:** 0\
**Last updated:** [February 7, 2022, 11:05pm UTC](https://racket.discourse.group/t/giancarlo-rotas-reminiscences/668 "2022-02-07T23:05:07Z")

</div>

If you have any interest in mathematical logic, and you haven't read Giancarlo Rota's reminiscences of Princeton's math department in the 1950s, and more specifically his homage to Alonzo Church, I would urge you to do s…

---

## [Don't export n-\>th?](https://racket.discourse.group/t/dont-export-n-th/861)

<div class="topic-metadata">

**Author:** [@sorawee](https://racket.discourse.group/u/sorawee)\
**Replies:** 5\
**Last updated:** [April 13, 2022, 2:46pm UTC](https://racket.discourse.group/t/dont-export-n-th/861 "2022-04-13T14:46:27Z")

</div>

n-\>th is exported from racket/contract, and consequently by racket. However, this function is not documented, and intentionally so (racket/base.rkt at e028f252da859759100f9248230bdc4e203a6684 · racket/racket · GitHub). T…

---

## [Domain Coloring for Complex Analysis in Racket](https://racket.discourse.group/t/domain-coloring-for-complex-analysis-in-racket/877)

<div class="topic-metadata">

**Author:** [@TrueQueenBee](https://racket.discourse.group/u/TrueQueenBee)\
**Replies:** 1\
**Last updated:** [April 13, 2022, 9:45am UTC](https://racket.discourse.group/t/domain-coloring-for-complex-analysis-in-racket/877 "2022-04-13T09:45:31Z")

</div>

Hello fellow racketeers! Here is a small tool I created for drawing and analyzing complex-valued equations In the future it should be available as a package under the name domain-coloring Usage instructions and add…

---

## [CLP(Rosette)-miniKanren - A miniKanren variant integrated with Rosette](https://racket.discourse.group/t/clp-rosette-minikanren-a-minikanren-variant-integrated-with-rosette/869)

<div class="topic-metadata">

**Author:** [@chansey97](https://racket.discourse.group/u/chansey97)\
**Replies:** 0\
**Last updated:** [April 9, 2022, 11:00pm UTC](https://racket.discourse.group/t/clp-rosette-minikanren-a-minikanren-variant-integrated-with-rosette/869 "2022-04-09T23:00:35Z")

</div>

Hi, I wrote a miniKanren variant integrated with Rosette. It uses Rosette (SMT) as a backend for constraints solving. Now you can use SMT assertions as constraints. It significantly improves the expressiveness of miniKa…

---

## [Rackpropagator - automatic differentiation in Racket](https://racket.discourse.group/t/rackpropagator-automatic-differentiation-in-racket/844)

<div class="topic-metadata">

**Author:** [@OliverS](https://racket.discourse.group/u/OliverS)\
**Replies:** 1\
**Last updated:** [April 2, 2022, 4:44pm UTC](https://racket.discourse.group/t/rackpropagator-automatic-differentiation-in-racket/844 "2022-04-02T16:44:08Z")

</div>

I've been working on an automatic differentiation library recently and thought I'd share the current work-in-progress. I've had fun writing it and have learned a lot about the Racket macro system in the process! Rackp…

---

## [Resyntax: A Macro-Powered Refactoring Tool](https://racket.discourse.group/t/resyntax-a-macro-powered-refactoring-tool/835)

<div class="topic-metadata">

**Author:** [@notjack](https://racket.discourse.group/u/notjack)\
**Replies:** 2\
**Last updated:** [April 1, 2022, 7:56pm UTC](https://racket.discourse.group/t/resyntax-a-macro-powered-refactoring-tool/835 "2022-04-01T19:56:55Z")

</div>

Some of you may already know this, but I've implemented a refactoring tool for Racket called Resyntax. It analyzes your code (must be written in #lang racket/base) and suggests ways you can improve it. Here's an example …

---

## [Racket Commons - A collection of modules I wrote over the years](https://racket.discourse.group/t/racket-commons-a-collection-of-modules-i-wrote-over-the-years/801)

<div class="topic-metadata">

**Author:** [@Dexter](https://racket.discourse.group/u/Dexter)\
**Replies:** 3\
**Last updated:** [March 21, 2022, 3:31pm UTC](https://racket.discourse.group/t/racket-commons-a-collection-of-modules-i-wrote-over-the-years/801 "2022-03-21T15:31:35Z")

</div>

Hey there, I just put together a large collection of procedures I wrote over the years. Each collection is grouped in a module. These are the procs I use the most when developing Racket apps and tools. Warning: some of …

---

## [CSV to SQL v1.1](https://racket.discourse.group/t/csv-to-sql-v1-1/815)

<div class="topic-metadata">

**Author:** [@Dexter](https://racket.discourse.group/u/Dexter)\
**Replies:** 0\
**Last updated:** [March 21, 2022, 3:28pm UTC](https://racket.discourse.group/t/csv-to-sql-v1-1/815 "2022-03-21T15:28:35Z")

</div>

Hey there, I just released a revised version of my CSV to SQL conversion tool. This small tool converts any CSV file to a list of SQL UPDATE queries. It assumes the first column is the primary ID to base itself on, and …

---

## [Scheme+ for Racket](https://racket.discourse.group/t/scheme-for-racket/798)

<div class="topic-metadata">

**Author:** [@damien\_mattei](https://racket.discourse.group/u/damien_mattei)\
**Replies:** 1\
**Last updated:** [March 21, 2022, 10:57am UTC](https://racket.discourse.group/t/scheme-for-racket/798 "2022-03-21T10:57:53Z")

</div>

Hello, i have port my Scheme+ for Racket language: Scheme+ is an extension of the syntax of the Scheme language. Scheme+ makes it easy the assignment of Scheme objects in infix (works also in prefix) notation with a fe…

---

## [Tangerine now supports exporting color models via the new PLY exporter](https://racket.discourse.group/t/tangerine-now-supports-exporting-color-models-via-the-new-ply-exporter/803)

<div class="topic-metadata">

**Author:** [@Aeva](https://racket.discourse.group/u/Aeva)\
**Replies:** 0\
**Last updated:** [March 15, 2022, 6:57pm UTC](https://racket.discourse.group/t/tangerine-now-supports-exporting-color-models-via-the-new-ply-exporter/803 "2022-03-15T18:57:39Z")

</div>

Here's a link with some pictures: https://twitter.com/ladyaeva/status/1503639297643139072

---

## [\[ann\] kafka-lib](https://racket.discourse.group/t/ann-kafka-lib/790)

<div class="topic-metadata">

**Author:** [@bogdan](https://racket.discourse.group/u/bogdan)\
**Replies:** 0\
**Last updated:** [March 13, 2022, 11:01am UTC](https://racket.discourse.group/t/ann-kafka-lib/790 "2022-03-13T11:01:55Z")

</div>

I’ve written a pure-Racket client for Apache Kafka. It’s far from feature-complete at this point, but the basics are there, so check it out if you’re interested in using Kafka with Racket. Feedback welcome!

---

## [Winhelp2002 HOSTS installer for Windows](https://racket.discourse.group/t/winhelp2002-hosts-installer-for-windows/762)

<div class="topic-metadata">

**Author:** [@Dexter](https://racket.discourse.group/u/Dexter)\
**Replies:** 3\
**Last updated:** [March 11, 2022, 9:17am UTC](https://racket.discourse.group/t/winhelp2002-hosts-installer-for-windows/762 "2022-03-11T09:17:18Z")

</div>

Racket version of the Winhelp2002 hosts file batch installer. Blocks most ads, adware, malware, spyware and some viruses through a blacklist of known malicious Web hosts. Does not usually affect ad-blocker detection on …

---

## [Text-table overhaul](https://racket.discourse.group/t/text-table-overhaul/777)

<div class="topic-metadata">

**Author:** [@Laurent.O](https://racket.discourse.group/u/Laurent.O)\
**Replies:** 1\
**Last updated:** [March 9, 2022, 11:18am UTC](https://racket.discourse.group/t/text-table-overhaul/777 "2022-03-09T11:18:49Z")

</div>

Just because I needed a simple way to display various numbers (non-rationals, large integers, floats, etc.) in a table, I ended up rewriting text-table almost entirely, except for frame styles (which were also enhanced r…

---

## [How to Organize Your Racket Library \[blog\]](https://racket.discourse.group/t/how-to-organize-your-racket-library-blog/717)

<div class="topic-metadata">

**Author:** [@countvajhula](https://racket.discourse.group/u/countvajhula)\
**Replies:** 11\
**Last updated:** [February 26, 2022, 6:30am UTC](https://racket.discourse.group/t/how-to-organize-your-racket-library-blog/717 "2022-02-26T06:30:33Z")

</div>

Fellow Racketeers in the trenches, Here is a "how to" blog post on the commonly-used-yet-undocumented lib/test/doc approach to organizing your Racket library: How to Organize Your Racket Library It also includes some …

---

## [Mathler solver and terminal game](https://racket.discourse.group/t/mathler-solver-and-terminal-game/734)

<div class="topic-metadata">

**Author:** [@dannypsnl](https://racket.discourse.group/u/dannypsnl)\
**Replies:** 0\
**Last updated:** [February 25, 2022, 11:48am UTC](https://racket.discourse.group/t/mathler-solver-and-terminal-game/734 "2022-02-25T11:48:54Z")

</div>

package: mathler The project is for fun. One can start a game in the terminal by command mathler play or use command mathler solve to generate solutions interactively.

---

## [Racket Mode users: Want to try new "multi back end" branch?](https://racket.discourse.group/t/racket-mode-users-want-to-try-new-multi-back-end-branch/631)

<div class="topic-metadata">

**Author:** [@greghendershott](https://racket.discourse.group/u/greghendershott)\
**Replies:** 7\
**Last updated:** [February 14, 2022, 3:20pm UTC](https://racket.discourse.group/t/racket-mode-users-want-to-try-new-multi-back-end-branch/631 "2022-02-14T15:20:40Z")

</div>

I have a branch I've been working on for 5 months, off and on, that lets Racket Mode work with multiple back ends; this arose from PR 533. Here's an explanation of the new "architecture". If it needs more work, I'd lik…

---

## [How to use racket-raylib-2d on Windows 10](https://racket.discourse.group/t/how-to-use-racket-raylib-2d-on-windows-10/684)

<div class="topic-metadata">

**Author:** [@Decabytes](https://racket.discourse.group/u/Decabytes)\
**Replies:** 0\
**Last updated:** [February 12, 2022, 12:55am UTC](https://racket.discourse.group/t/how-to-use-racket-raylib-2d-on-windows-10/684 "2022-02-12T00:55:39Z")

</div>

This has eluded me for a long time and I just figured it out so I'd like to share with other people. Go to Releases · raysan5/raylib · GitHub and scroll down to raylib v2.5.0 Download raylib-2.5.0-Win64-mingw.zip Open …

---

## [Haskell-inspired define-where macro](https://racket.discourse.group/t/haskell-inspired-define-where-macro/672)

<div class="topic-metadata">

**Author:** [@benknoble](https://racket.discourse.group/u/benknoble)\
**Replies:** 0\
**Last updated:** [February 10, 2022, 2:21pm UTC](https://racket.discourse.group/t/haskell-inspired-define-where-macro/672 "2022-02-10T14:21:29Z")

</div>

Here's a little Haskell-inspired macro I whipped up for define: #lang racket (require (only-in racket/base \[define def\])) (require syntax/parse/define) (define-syntax-parser define \[(\_ head e:expr #:where body:expr…

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

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