# What's the coolest / most impactful Racket demo that you've ever seen?

**URL:** <https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827>\
**Category:** General\
**Created:** [March 23, 2023, 12:24am UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827 "2023-03-23T00:24:38Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nezteb](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/nezteb/32/1062_2.png) [@Nezteb](https://racket.discourse.group/u/Nezteb)\
**Post date:** [March 23, 2023, 12:24am UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/1 "2023-03-23T00:24:38Z")

</div>

I'm looking for things that a programmer unfamiliar with Racket might see and go "holy crap this is amazing".

I ask because I want to do a lunch-and-learn on Racket to a local programming friend group. 😄

Things I've been linked so far:

- [RacketCon 2021 - Declarative GUIs - Bogdan Popa - YouTube](https://www.youtube.com/watch?v=7uGJJmjcxzY)
- [RacketCon 2021 - Qi, A Functional, Flow oriented DSL - Sid Kasivajhula - YouTube](https://www.youtube.com/watch?v=XkIoGmWkEpM)
- [(sixth RacketCon): Alexis King -- Languages in an Afternoon - YouTube](https://www.youtube.com/watch?v=TfehOLha-18)
- [Quick: An Introduction to Racket with Pictures](https://docs.racket-lang.org/quick/index.html)
- [Racket map snip and plot combined demo - YouTube](https://www.youtube.com/watch?v=R2KU0ZvIJws)
- [https://www.ccs.neu.edu/home/stchang/pubs/acm-icfp17.pdf](https://www.ccs.neu.edu/home/stchang/pubs/acm-icfp17.pdf)
- [Interactive Evaluation in Slideshow](https://docs.racket-lang.org/slideshow-repl/index.html)
- [https://beautifulracket.com/](https://beautifulracket.com/)

I asked this question on the Racket Discord, but @spdegabrielle suggested that I ask here too. 😅

---

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [March 23, 2023, 1:13pm UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/2 "2023-03-23T13:13:52Z")

</div>

Thanks & welcome Noah 😁

I’d forgotten how wild the [Racket map snip and plot combined demo - YouTube](https://www.youtube.com/watch?v=R2KU0ZvIJws) video is. I don’t think you can do that in any other modern editor or notebook. (Maybe Mathematica idk?)

Also [Interactive Evaluation in Slideshow](https://docs.racket-lang.org/slideshow-repl/index.html) is amazing - I’ve not tried it yet with other `#lang`s - I assume it works for any `#lang`?

I’ve fixed the link and changed the settings so you should be gold now. (We had terrible spam problems on the old mailing list)

Best regards

Stephen :beetle:

---

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [March 23, 2023, 1:26pm UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/3 "2023-03-23T13:26:25Z")

</div>

Oh I didn’t mean [Quick: An Introduction to Racket with Pictures](https://docs.racket-lang.org/quick/index.html) was a video- I just meant it easily could be a short video.

---

<div class="post-metadata">

**Author:** ![joeld](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/joeld/32/38_2.png) [@joeld](https://racket.discourse.group/u/joeld)\
**Post date:** [March 23, 2023, 2:55pm UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/4 "2023-03-23T14:55:59Z")

</div>

Any of the videos on @bogdan’s YT channel: [Bogdan Popa - YouTube](https://www.youtube.com/@popabogdanp)

Particularly:

- [Racket Web Development with Koyo - YouTube](https://www.youtube.com/watch?v=DS_0-lqiSVs&t=2568s)
- [Racket Hacking: SwiftUI + Racket - YouTube](https://www.youtube.com/watch?v=aTvU0j4hBR0&t=985s)
- [Racket Hacking: Declarative GUIs - YouTube](https://www.youtube.com/watch?v=AXJ9tTVGDwU&t=454s)

---

<div class="post-metadata">

**Author:** ![Nezteb](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/nezteb/32/1062_2.png) [@Nezteb](https://racket.discourse.group/u/Nezteb)\
**Post date:** [March 23, 2023, 3:52pm UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/5 "2023-03-23T15:52:32Z")

</div>

I might try to run through that intro myself and turn it into a video. 😄

---

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [March 23, 2023, 4:14pm UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/6 "2023-03-23T16:14:20Z")

</div>

The video for Super 8 Languages for Making Movies (Functional Pearl) [International Conference on Functional Programming 2017](https://podcasts.ox.ac.uk/series/international-conference-functional-programming-2017)  
Is at

> **[Super 8 Languages for Making Movies (Functional Pearl)](https://podcasts.ox.ac.uk/super-8-languages-making-movies-functional-pearl)**
>
> Co-written by Stephen Chang (Northeastern University, USA) and Matthias Felleisen (Northeastern University, USA).

( I can’t make it work on my phone unless I open it via podcasts)

---

<div class="post-metadata">

**Author:** ![Nezteb](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/nezteb/32/1062_2.png) [@Nezteb](https://racket.discourse.group/u/Nezteb)\
**Post date:** [March 23, 2023, 8:28pm UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/7 "2023-03-23T20:28:12Z")

</div>

Ah, nice!

Here is the URL to the MP4 file for that one: [http://media.podcasts.ox.ac.uk/comlab/comsci/2017-09-04-ICFP2017/2017-09-04-ICFP2017-day1-am-02.mp4](http://media.podcasts.ox.ac.uk/comlab/comsci/2017-09-04-ICFP2017/2017-09-04-ICFP2017-day1-am-02.mp4)

---

<div class="post-metadata">

**Author:** ![jcottrell](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jcottrell/32/1546_2.png) [@jcottrell](https://racket.discourse.group/u/jcottrell)\
**Post date:** [March 23, 2023, 8:41pm UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/8 "2023-03-23T20:41:59Z")

</div>

I enjoyed [All Programming Languages Suck? Just Build Your Own! — Language-Oriented Programming with Racket](https://media.ccc.de/v/rc3-257534-all_programming_language_suck_just_build_your_own_language_oriented_programming_with_racket). That's the only one I really enjoyed that wasn't already listed.

---

<div class="post-metadata">

**Author:** ![salkvus](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@salkvus](https://racket.discourse.group/u/salkvus)\
**Post date:** [March 24, 2023, 6:17am UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/9 "2023-03-24T06:17:29Z")

</div>

[Alex Harsányi's hobby projects](https://alex-hhh.github.io/tags/racket.html)

---

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [March 24, 2023, 11:00pm UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/10 "2023-03-24T23:00:43Z")

</div>

I just found “Bringing together language workbenches and macro systems” presentation by @michaelballantyne to the Strumenta Community\*

I’ve only just started, but Michael begins with a cracking example with five languages in 9 lines of [`#lang rash`](https://docs.racket-lang.org/rash/index.html)! (I’m not sure what a metalanguage is?)

[https://strumenta.community/meetup/virtual-meetup-michael-ballantyne/](https://strumenta.community/meetup/virtual-meetup-michael-ballantyne/)

YouTube:

[![](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/e/e94b502ca33d44ae8a75f7a37be15d8e309c248e.jpeg "Virtual Meetup with Michael Ballantyne - Bringing together language workbenches and macro systems") ](https://www.youtube.com/watch?v=p-5RcvF_Xc0)

[https://youtu.be/p-5RcvF\_Xc0](https://youtu.be/p-5RcvF_Xc0)

[https://strumenta.community/meetup/virtual-meetup-michael-ballantyne/](https://strumenta.community/meetup/virtual-meetup-michael-ballantyne/)

(\* _a community for persons interested in Language Engineering. We discuss Domain-Specific Languages (DSLs), parsers, compilers, interpreters, editors, transpilers, code processing techniques._ - [https://strumenta.community/](https://strumenta.community/) )

---

<div class="post-metadata">

**Author:** ![Decabytes](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/decabytes/32/54_2.png) [@Decabytes](https://racket.discourse.group/u/Decabytes)\
**Post date:** [March 27, 2023, 8:51pm UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/11 "2023-03-27T20:51:38Z")

</div>

I always thought the Demo for [Rash: The Reckless Racket Shell was cool](https://www.youtube.com/watch?v=Acjqx1MPkw4)

---

<div class="post-metadata">

**Author:** ![ryanc](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/ryanc/32/71_2.png) [@ryanc](https://racket.discourse.group/u/ryanc)\
**Post date:** [March 30, 2023, 7:15am UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/12 "2023-03-30T07:15:50Z")

</div>

I think Greg Cooper's talk at LL2 (2002?) had the coolest Racket-related demo I've seen. It was one of the first demos that I saw that showed off the power and flexibility of DrRacket. You could hear a hundred people's assumptions shattering at the same time. It wasn't recorded, but I'll try to relay a little bit of the magic to you. Open **DrRacket** and change the language to **FrTime**. (It isn't enough to use `#lang frtime`; you must select FrTime from the language menu; it's under "Other languages" in the Experimental section.) Then paste the following program into DrRacket and run it.

```scheme
(require (lifted pict
                 circle disk colorize text
                 refocus pin-over inset cc-superimpose))

;; clock : Integer -> Pict
(define (clock s)
  (define RADIUS 100)
  (define DETAIL 40)
  (define base (colorize (disk (* 2 RADIUS)) "lightgray"))
  (define (fraction->clock-radians x) (* 2 pi (- x 1/4)))
  (define (2digit n) (if (< n 10) (format "0~s" n) (format "~s" n)))
  (define (center p) (let ([b (blank)]) (refocus (cc-superimpose p b) b)))
  (define s-rad (fraction->clock-radians (/ s 60)))
  (define m-rad (fraction->clock-radians (/ s 60 60)))
  (define h-rad (fraction->clock-radians (/ s 60 60 12)))
  (define s-disk (center (colorize (disk (* DETAIL 1/4)) "red")))
  (define m-disk (center (colorize (disk (* DETAIL 1/2)) "blue")))
  (define h-disk (center (colorize (disk (* DETAIL 1)) "purple")))
  (define (add base radius rad p)
    (pin-over base
              (+ RADIUS (* radius (cos rad)))
              (+ RADIUS (* radius (sin rad)))
              p))
  (define analog
    (let* ([base (add base (* RADIUS 3/5) h-rad h-disk)]
           [base (add base (* RADIUS 3/4) m-rad m-disk)]
           [base (add base (* RADIUS 1) s-rad s-disk)])
      base))
  (define digital-s
    (format "~a:~a:~a"
            (2digit (modulo (quotient s (* 60 60)) 24))
            (2digit (modulo (quotient s 60) 60))
            (2digit (modulo s 60))))
  (define digital (center (text digital-s)))
  (inset (cc-superimpose analog digital) (* RADIUS 1/10)))

seconds
(clock seconds)
(let ([start (value-now seconds)])
  (format "You have been watching this program run for ~s seconds."
          (- seconds start)))

```

(Then check out Greg's real demos in the `frtime` package.)

---

<div class="post-metadata">

**Author:** ![samth](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/samth/32/3_2.png) [@samth](https://racket.discourse.group/u/samth)\
**Post date:** [March 30, 2023, 11:58am UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/13 "2023-03-30T11:58:23Z")

</div>

The version of this demo where the result of current-seconds changed every second got a spontaneous ovation in the middle of the talk at the 2003 Scheme Workshop.

---

<div class="post-metadata">

**Author:** ![ryanc](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/ryanc/32/71_2.png) [@ryanc](https://racket.discourse.group/u/ryanc)\
**Post date:** [March 30, 2023, 2:45pm UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/14 "2023-03-30T14:45:16Z")

</div>

Aha, I was mistaken, my memory was from [LL **3**](http://ll3.ai.mit.edu/), the day after Scheme Workshop 2003, and he talked at both. My fuzzy recollection is that the Scheme audience was impressed but the LL3 audience was astonished. And apparently LL3 was recorded (at 320x240!) but the links to the recordings are now broken.

---

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [March 30, 2023, 5:13pm UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/15 "2023-03-30T17:13:34Z")

</div>

I’m on my phone right now but it looks like the video may be at

[https://web.archive.org/web/20040319034249/http://ll3.ai.mit.edu/](https://web.archive.org/web/20040319034249/http://ll3.ai.mit.edu/)

---

<div class="post-metadata">

**Author:** ![samth](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/samth/32/3_2.png) [@samth](https://racket.discourse.group/u/samth)\
**Post date:** [March 31, 2023, 2:02pm UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/16 "2023-03-31T14:02:57Z")

</div>

Those video links don't work, unfortunately. They are just stub files that point to a server that is no longer online.

---

<div class="post-metadata">

**Author:** ![bakgatviooldoos](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/bakgatviooldoos/32/1381_2.png) [@bakgatviooldoos](https://racket.discourse.group/u/bakgatviooldoos)\
**Post date:** [November 4, 2024, 9:26pm UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/17 "2024-11-04T21:26:56Z")

</div>

Blew my mind, thanks ❤

---

<div class="post-metadata">

**Author:** ![greghendershott](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/greghendershott/32/98_2.png) [@greghendershott](https://racket.discourse.group/u/greghendershott)\
**Post date:** [November 5, 2024, 8:47pm UTC](https://racket.discourse.group/t/whats-the-coolest-most-impactful-racket-demo-that-youve-ever-seen/1827/18 "2024-11-05T20:47:27Z")

</div>

If someone says they hate watching videos and have just 2 minutes, I might dangle this little doc page: [2D Syntax](https://docs.racket-lang.org/2d/index.html).

Many of us take it for granted. It's not necessarily the coolest or most astonishing thing ever done with Racket.

But I think it's a digestible appetizer. Can lead to longer conversations. Like it turns out, well actually they had 20 minutes.
