# Racket meet-up Saturday, 4 Jun 2022 at 18:00 UTC

**URL:** <https://racket.discourse.group/t/racket-meet-up-saturday-4-jun-2022-at-18-00-utc/1030>\
**Category:** General\
**Tags:** event, meet-up\
**Created:** [May 26, 2022, 10:35am UTC](https://racket.discourse.group/t/racket-meet-up-saturday-4-jun-2022-at-18-00-utc/1030 "2022-05-26T10:35:42Z")\
**Posts on this page:** 11\
**Page:** 1

<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:** [May 26, 2022, 10:35am UTC](https://racket.discourse.group/t/racket-meet-up-saturday-4-jun-2022-at-18-00-utc/1030/1 "2022-05-26T10:35:42Z")

</div>

# Racket meet-up Saturday, 4 Jun 2022 at 18:00 UTC :racket:

2022-06-04T18:00:00Z

Online: [https://gather.town/app/wH1EDG3McffLjrs0/racket-users](https://gather.town/app/wH1EDG3McffLjrs0/racket-users)

When: First Saturday EVERY month at UTC: 18:00

- Show and tell
- News & rumours
- AOB

> [@Racket meet up Saturday 5 Feb 18:00 UTC](https://racket.discourse.group/t/racket-meet-up-saturday-5-feb-18-00-utc/581/3):
>
> And remember - showing up at Racket Meetups helps you learn the news of the Racket world as they happen! It is informative, it is interesting, it is helpful, it is greatly appreciated by everyone involved and it is fun!

30 minutes but can overrun

```scheme
Central European Summer Time, CEST Sat, 4 Jun 2022 at 20:00 CEST    
British Summer Time, BST Sat, 4 Jun 2022 at 19:00 BST     
Eastern Time, ET Sat, 4 Jun 2022 at 14:00 EDT     
Central Time, CT Sat, 4 Jun 2022 at 13:00 CDT     
Mountain Time, MT Sat, 4 Jun 2022 at 12:00 MDT     
Pacific Time, PT Sat, 4 Jun 2022 at 11:00 PDT     
Corresponding UTC Sat, 4 Jun 2022 at 18:00 UTC        

```

[https://www.timeanddate.com/worldclock/converter.html?iso=20220604T180000&p1=tz\_cest&p2=tz\_bst&p3=tz\_et&p4=tz\_ct&p5=tz\_mt&p6=tz\_pt](https://www.timeanddate.com/worldclock/converter.html?iso=20220604T180000&p1=tz_cest&p2=tz_bst&p3=tz_et&p4=tz_ct&p5=tz_mt&p6=tz_pt)

**Note** : Discussion on this thread/topic is fine. If you need low volume announcements only please adjust 'watching first post' in [notification preferences](https://racket.discourse.group/my/preferences/notifications).

 ![image](https://global.discourse-cdn.com/free1/uploads/racket/original/1X/6e1838f8a44a88d5e9868dc191247ee1e3066aa0.png)

**Prefer to chat?** Join us on [Racket Discord](https://discord.gg/6Zq8sH5) or [Slack](https://racket-slack.herokuapp.com/)

---

<div class="post-metadata">

**Author:** ![sschwarzer](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/sschwarzer/32/1940_2.png) [@sschwarzer](https://racket.discourse.group/u/sschwarzer)\
**Post date:** [June 4, 2022, 1:53pm UTC](https://racket.discourse.group/t/racket-meet-up-saturday-4-jun-2022-at-18-00-utc/1030/2 "2022-06-04T13:53:28Z")

</div>

Reminder: The meet-up is today in four hours. 🙂

---

<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:** [June 4, 2022, 6:04pm UTC](https://racket.discourse.group/t/racket-meet-up-saturday-4-jun-2022-at-18-00-utc/1030/3 "2022-06-04T18:04:18Z")

</div>

Now at

> **[Gather](https://app.gather.town/app/wH1EDG3McffLjrs0/racket-users)**
>
> Gather is a video-calling space that lets multiple people hold separate conversations in parallel, walking in and out of those conversations just as easily as they would in real life.

---

<div class="post-metadata">

**Author:** ![AlexKnauth](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/alexknauth/32/242_2.png) [@AlexKnauth](https://racket.discourse.group/u/AlexKnauth)\
**Post date:** [June 4, 2022, 7:46pm UTC](https://racket.discourse.group/t/racket-meet-up-saturday-4-jun-2022-at-18-00-utc/1030/4 "2022-06-04T19:46:35Z")

</div>

Here's a link to my repository with the toki pona as music chords:  
[https://github.com/AlexKnauth/toki-pi-kalama-musi](https://github.com/AlexKnauth/toki-pi-kalama-musi)

 ![introduction.diatonic-chords-in-C](https://global.discourse-cdn.com/free1/uploads/racket/original/1X/5985b9f531f911734b26c90536a06c82635a06b3.jpeg)

---

<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:** [June 4, 2022, 8:30pm UTC](https://racket.discourse.group/t/racket-meet-up-saturday-4-jun-2022-at-18-00-utc/1030/5 "2022-06-04T20:30:35Z")

</div>

It was nice to see everyone!

There was a lot of discussion:

Alex started the meet-up leading a discussion about his project (see previous message)

Other topics included red-black tree implementation with reference to the paper [Red-Black Trees in a Functional Setting](https://course.ccs.neu.edu/cs3500wc/jfp99redblack.pdf), a Racket Rogue-like and the Qi design challenge happening in the [racket discord #qi channel](https://discord.gg/aaXDuRd4K2)

I’ll rely on the other attendees to report on anything I missed as I’m sure I’ve forgotten something and I had to leave before the end.

Best wishes

Stephen

---

<div class="post-metadata">

**Author:** ![dominik.pantucek](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/dominik.pantucek/32/144_2.png) [@dominik.pantucek](https://racket.discourse.group/u/dominik.pantucek)\
**Post date:** [June 5, 2022, 7:39am UTC](https://racket.discourse.group/t/racket-meet-up-saturday-4-jun-2022-at-18-00-utc/1030/6 "2022-06-05T07:39:43Z")

</div>

Sorry I had to run, but you all heard my voice... It was a refreshing meeting anyway!

I'll cleanup the Red-Black Tree implementation a bit and post the Racket implementation of aforementioned paper later on.

Regarding the Racket Rogue-likes - there was an interesting idea to run a sort of competition / event for producing Racket Rogue-likes - something along the lines of 7DRL Challenge [1]. However, as I said, I assume most of Racketeers are more like me and are more interested in the algorithms and DSL-approach to writing Rogue-likes than actually finishing a game within a reasonable time (years and years in my case). But maybe others will have different opinion - I'd like to hear those as well!

Also an interesting idea was mentioned - as there is R-cade [2] for arcade games, maybe it might be feasible to implement a Racket Rogue-like library (RRLL as @sschwarzer named it 😉 ).

And for those who weren't there yesterday - the obligatory screenshot at my labyrinth generator "game":

 ![Screenshot from 2022-06-05 09-34-10](https://global.discourse-cdn.com/free1/uploads/racket/original/1X/66e4e15ba543035ec3017df84bf01e9d924baee0.png)

It uses UTF-8 terminal with emojis to do all the hard work, growing tree algorithm (basically a random spanning tree algorithm) is used for the labyrinth itself, doors are placed completely randomly and then DFS[3] is used to determine which areas behind the doors are accessible first and keys are placed in areas accessible before given area door. The gems are placed randomly and the exit is always at the area found last by DFS (and activated only upon collecting all diamonds). When I clean it up a bit I'll probably publish it as well. It's not a real project - just a collection of various ideas I implemented as I am finishing some house construction works 🙂

[1] [https://7drl.com/](https://7drl.com/)  
[2] [GitHub - massung/r-cade at 0cce22885aad28234d3f6e1d88568cdc16daf3e6](https://github.com/massung/r-cade/tree/HEAD)  
[3] [Depth-first search - Wikipedia](https://en.wikipedia.org/wiki/Depth-first_search)

---

<div class="post-metadata">

**Author:** ![countvajhula](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/countvajhula/32/65_2.png) [@countvajhula](https://racket.discourse.group/u/countvajhula)\
**Post date:** [June 5, 2022, 7:41am UTC](https://racket.discourse.group/t/racket-meet-up-saturday-4-jun-2022-at-18-00-utc/1030/7 "2022-06-05T07:41:02Z")

</div>

Fun meetup today!

Re: the Design Challenge in the Qi room, that is now concluded and the entries are here on the new Qi wiki (thanks Hendrik for the suggestion to use a wiki! At least, I think it was Hendrik, it was hard to tell who was highlighted in the Gather):

[Design Challenge #1](https://github.com/countvajhula/qi/wiki/Design-Challenge-%231)

All of the entries were interesting, and although they are in many different languages, they have annotations (provided by the authors) for readers to understand the ideas behind them.

Incidentally, this revealed at least one concrete avenue for improvement in Qi, which was the initial motivation for the event 🙂

---

<div class="post-metadata">

**Author:** ![gus-massa](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/gus-massa/32/507_2.png) [@gus-massa](https://racket.discourse.group/u/gus-massa)\
**Post date:** [June 5, 2022, 2:06pm UTC](https://racket.discourse.group/t/racket-meet-up-saturday-4-jun-2022-at-18-00-utc/1030/8 "2022-06-05T14:06:59Z")

</div>

Nice maze generator!

A small sugestion: Delay placing the diamonds to the last step, so you can ensure that each area has at least a key or a diamond. There are a few small areas that have one block and are empty, they may be a secret closet that stores a gem.

Are you checking that the doors have at least a block on both sides?

Why is the exit sign a red circle with a line? It looks like a non-parking or something similar for me. (It may depend on where you live.)

---

<div class="post-metadata">

**Author:** ![sschwarzer](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/sschwarzer/32/1940_2.png) [@sschwarzer](https://racket.discourse.group/u/sschwarzer)\
**Post date:** [June 5, 2022, 4:04pm UTC](https://racket.discourse.group/t/racket-meet-up-saturday-4-jun-2022-at-18-00-utc/1030/9 "2022-06-05T16:04:25Z")

</div>

> [@dominik.pantucek](#):
>
> Also an interesting idea was mentioned - as there is R-cade [2] for arcade games, maybe it might be feasible to implement a Racket Rogue-like library (RRLL as @sschwarzer named it 😉 ).

I can take only a small part of the credit since Dominik had already named his project/directory `rrl` for "Racket rogue-like." 🙂

> [@spdegabrielle](#):
>
> I’ll rely on the other attendees to report on anything I missed as I’m sure I’ve forgotten something and I had to leave before the end.

We also spoke about command line parsing in Racket. We got to the topic from [this discussion thread](https://racket.discourse.group/t/what-is-direct-parameter-assignment-useful-for/1047/14), but also discussed command line parser approaches that aren't as imperative as in Racket's `command-line` function.

There's an [SRFI-37](https://srfi.schemers.org/srfi-37/srfi-37.html), which has an [implementation in Chicken Scheme](https://wiki.call-cc.org/eggref/5/srfi-37) (and maybe other Schemes). According to Racket's SRFI index there's no implementation for Racket. @countvajhula also mentioned his [cli #lang](https://docs.racket-lang.org/cli/index.html) for Racket.

---

<div class="post-metadata">

**Author:** ![countvajhula](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/countvajhula/32/65_2.png) [@countvajhula](https://racket.discourse.group/u/countvajhula)\
**Post date:** [June 6, 2022, 6:01pm UTC](https://racket.discourse.group/t/racket-meet-up-saturday-4-jun-2022-at-18-00-utc/1030/10 "2022-06-06T18:01:53Z")

</div>

And I think it was Raoul who shared this video about [probabilistic map generation in Prolog](https://www.youtube.com/watch?v=wDr7v94G_MU).

---

<div class="post-metadata">

**Author:** ![dominik.pantucek](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/dominik.pantucek/32/144_2.png) [@dominik.pantucek](https://racket.discourse.group/u/dominik.pantucek)\
**Post date:** [June 7, 2022, 6:56pm UTC](https://racket.discourse.group/t/racket-meet-up-saturday-4-jun-2022-at-18-00-utc/1030/11 "2022-06-07T18:56:49Z")

</div>

Thanks 🙂

However, it is just a proof of concept (or more like proofs of a few concepts).

Yes, the diamonds can be placed after generating the areas to get more even distribution - but is that really a good idea? By default there is a "fog of war" and some areas might be empty but the player will find about that only after getting there. Not all surprises must be pleasant.

Yes, the doors can be placed only on empty tiles with two opposing adjacent walls and two opposing empty tiles. Actually this is the part of the algorithm that can use some improvement - place the doors in a way that ensures more evenly sized areas (a bit more of DFS on both sides should do the trick though).

And yes, the exit sign is "no entry" until you collect all diamonds 😉

But anyway - this is not a game, just an idea and actually I will probably focus on creating the RRLL in the (hopefully) near future and only then try something more serious. The algorithm for placing keys to areas accessible before the area being locked by such key is one of the thing that interests me the most. Imagine expanding this idea further - for example you can dynamically create quests where an actor will ask the player to bring a certain thing for reward (or later kill some specific monster) and you can chain these quite easily. Then only a decent name-generator is needed and you have a rogue-like with rather unique features (yes, Dwarf Fortress in Adventure mode has these algorithms and they are quite advanced).
