# Racket meet-up: Saturday, 1 March 2025 at 18:00 UTC

**URL:** <https://racket.discourse.group/t/racket-meet-up-saturday-1-march-2025-at-18-00-utc/3591>\
**Category:** General\
**Tags:** event, meet-up\
**Created:** [February 26, 2025, 8:50pm UTC](https://racket.discourse.group/t/racket-meet-up-saturday-1-march-2025-at-18-00-utc/3591 "2025-02-26T20:50:47Z")\
**Posts on this page:** 1\
**Showing post:** 2

<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 1, 2025, 7:45pm UTC](https://racket.discourse.group/t/racket-meet-up-saturday-1-march-2025-at-18-00-utc/3591/2 "2025-03-01T19:45:41Z")

</div>

meet-up chat

> **[Teach Yourself Racket](https://cs.uwaterloo.ca/~plragde/flaneries/TYR/)**

18:24

me says:[GitHub - galaxykate/tracery: Tracery: a story-grammar generation library for javascript](https://github.com/galaxykate/tracery)

18:36

Julin

Julin says:I'm new to racket and was trying to figure out how to make DSL within racket. But am having troubling doing so. Beautiful racket was using its own constructs and I couldn't map them to the built-in stuff from the part of the book explaining it. Is using lex and yacc needed for writing DSLs? Or parser-tools? Are there any examples that one can refer to?

18:40

Joel

Joel says:Here's something I made after reading Beautiful Racket: [GitHub - otherjoel/tabloid: 📰😱‼️ A Racket implementation of Tabloid, the clickbait programming language!](https://github.com/otherjoel/tabloid)

👍

18:41

me says:[syntax-spec: A Metalanguage for Hosted DSLs](https://docs.racket-lang.org/syntax-spec-v2/index.html)

18:43

S

soegaard

soegaard says:"From br to racket/base" [Beautiful Racket: From br to racket/base](https://beautifulracket.com/appendix/from-br-to-racket-base.html)

18:44

me says:[GitHub - michaelballantyne/syntax-spec: A metalanguage for creating sophisticated DSLs in Racket.](https://github.com/michaelballantyne/syntax-spec)

18:44

S

soegaard

soegaard says:You can choose your own parser. The parser `brag` is an extension of `ragg`.

18:44

soegaard says:The parser `ragg` uses `parser-tools` internally.

18:45

Joel

Joel says:The chapter that @soegaard linked above seems most relevent to your question

18:46

S

soegaard

soegaard says:Stephen makes a good point. A good place to start is to write the DSL as a macro. Then one can wrap it in a language with custom syntax afterwards.

18:48

soegaard says:So I would look at macros as step one.

18:48

soegaard says:[https://craftinginterpreters.com/](https://craftinginterpreters.com/)

18:49

Joel

Joel says:Will your DSL have S-expression syntax?

18:51

Julin

Julin says:Is big bang a game?

18:51

Julin says:Yeah I'm aiming for S-expr

18:51

S

soegaard

soegaard says:Matthew's text adventure as a DSL. [http://ece.uprm.edu/~wrivera/ICOM4036/Paper1.pdf](http://ece.uprm.edu/~wrivera/ICOM4036/Paper1.pdf)

18:52

me says:[2.4&nbsp;Worlds and the Universe: "universe.rkt"](https://docs.racket-lang.org/teachpack/2htdpuniverse.html)

18:52

Joel

Joel says:Beautiful Racket is great but it's kind of the "long way" if you only need s-expression syntax

👍

18:52

Julin

Julin says:I wanted to start small. 😄

18:53

Joel

Joel says:I would read syntax-parse and Fear of Macros. If you only need s-expressions then Racket's built-in reader and parser will do all that stuff for you

18:54

Joel says:[Fear of Macros](https://www.greghendershott.com/fear-of-macros/all.html)

18:54

me says:I once suggested adding opentelemetry and I feel I was lucky I was not tarred and feathered

18:56

me says:[Fossil: A Coherent Software Configuration Management System](https://fossil-scm.org/home/doc/trunk/www/index.wiki)

18:57

S

soegaard

soegaard says:Postcardware: [True Or False Beerware And Postcardware Are Not Licensed Software](https://ms.codes/blogs/software-licensing/true-or-false-beerware-and-postcardware-are-not-licensed-software)

❤👍

18:57

Joel

Joel says:[Qi: An Embeddable Flow-Oriented Language](https://docs.racket-lang.org/qi/index.html)

19:03

Levon

Levon says:[Threading and Function Composition](https://racket-raccoon.github.io/threading/) selfpromotion

19:04

Joel

Joel says:Levon I'm glad you stuck with the racoon

👍

19:05

harryisgamer

harryisgamer says:[crates.io: Rust Package Registry](https://crates.io/crates/syn)

19:08

S

soegaard

soegaard says:I sometimes runs this query on Github to see new uses. I think, the search results were better a couple of years ago. [Code search results · GitHub](https://github.com/search?q=language%3Aracket+metapict&type=code)

19:09

soegaard says:At the left there is a list of repositories that contains "metapict".

19:09

me says:["Transparent Telemetry"](https://racket.discourse.group/t/transparent-telemetry/1760)

19:13

S

soegaard

soegaard says:[GitHub - racket/racket-pkg-website: A frontend for the Racket Package Catalog.](https://github.com/racket/racket-pkg-website)

❤🔥

19:14

Julin

Julin says:What package is just mentioned? punkt?

19:19

S

soegaard

soegaard says:[GitHub - otherjoel/punct: ⏺✍️ Write in Markdown+Racket, publish to multiple formats](https://github.com/otherjoel/punct)

👍

19:19

harryisgamer

harryisgamer says:[xkcd: Dependency](https://xkcd.com/2347/)

19:23

S

soegaard

soegaard says:A fun listen: [From Project Management to Data Compression Innovator With Yann Collet - CoRecursive Podcast](https://corecursive.com/data-compression-yann-collet/) It's an interview with Yann Collet which writes compression libraries. It touches the subject of attribution for foundational libraries.

19:28

Joel

Joel says:Have to feed and water the kids, thanks all

19:43

me says:[GitHub - rust-lang/rfcs: RFCs for changes to Rust](https://github.com/rust-lang/rfcs)

19:43

me says:package spliting Oh My!

---

_[View the full topic](https://racket.discourse.group/t/racket-meet-up-saturday-1-march-2025-at-18-00-utc/3591)._
