Rack­et­fest—Con­fer­ence for fans of the Rack­et pro­gram­ming lan­guage

Logo for Racketfest 2023

Rack­et­fest is a time to learn & share what’s great about the pro­gram­ming lan­guage and its phi­los­o­phy of lan­guage-ori­ent­ed pro­gram­ming. The next edi­tion will be held on Sat­ur­day, March 18, 2023 at the Spielfeld cowork­ing space in Berlin, Ger­many.

Time & Place

Rack­et­fest is Sat­ur­day, March 18, 2023 from 9 am to 5 pm (Cen­tral Eu­ro­pean Time) at:

Skalitzer Strasse 85/86
10997 Berlin

(view on map)

Call for Pre­sen­ta­tions

Would you like to present some­thing at Rack­et­fest? Sounds good! There’s plen­ty of room. Just com­plete this form and we’ll get back to you soon. Dead­line: Feb­ru­ary 28, 2023. We have enough talks! The call for pre­sen­ta­tions is closed.

If you would like to nom­i­nate a speak­er, that’s great! The very same form can be used to do that, too. The or­ga­niz­ers will get in touch with nom­i­nat­ed speak­ers and in­vite them to present. (No guar­an­tees that nom­i­nat­ed speak­ers ac­cept the in­vi­ta­tion!) We have enough talks; nom­i­na­tions are no longer be­ing ac­cept­ed!

We are also look­ing for light­ning talks (5-10 min­utes) for our open mic! Per­fect for work-in-progress and small­er projects.

Health pol­i­cy (COVID)

At Rack­et­fest, masks are op­tion­al. How­ev­er, if you’re cough­ing, sneez­ing, have a run­ny nose, sore throat or symp­toms sim­i­lar to that of a res­pi­ra­to­ry tract in­fec­tion, please do wear a mask while in­doors. Sur­gi­cal masks will be avail­able on-site.

If you know that you’re sick, please con­sid­er not com­ing. Talks will be made avail­able af­ter the con­fer­ence; your health is more im­por­tant than Rack­et! If you can’t come due to ill­ness, we’re hap­py to re­im­burse your tick­et.


Lamb­da, the Drag­on Slay­er! [slides] [video]

by of

Ab­stract This talk dis­cuss­es a pro­to­type work im­ple­ment­ing Rack­et on top of and . As an al­ter­na­tive im­ple­men­ta­tion to the cur­rent ex­ist­ing im­ple­men­ta­tion (the main Rack­et im­ple­men­ta­tion, , etc.) with a fo­cus on speed, and pro­duc­tion use of Rack­et. We’ll dis­cuss the main chal­lenges, where we are at, where do we want to go and how you can help.

Na­tive Apps with Rack­et [slides]


Ab­stract I will be talk­ing about a method I’ve been em­ploy­ing to build na­tive ma­cOS apps by em­bed­ding Rack­et. Specif­i­cal­ly, I’ll be talk­ing about the im­ple­men­ta­tion of my lat­est app, , a na­tive ma­cOS client for .

Build­ing a Data Man­age­ment Sys­tem the Lan­guage-Ori­ent­ed Way [slides]

by of

Ab­stract In my re­search group at Im­pe­r­i­al Col­lege Lon­don, we are de­vel­op­ing a Data Man­age­ment Sys­tem with un­prece­dent­ed ex­ten­si­bil­i­ty as well as bare-met­al per­for­mance. Usu­al­ly, ex­ten­si­bil­i­ty and per­for­mance re­quire sac­ri­fic­ing main­tain­abil­i­ty of the code­base. In my pre­sen­ta­tion, I will out­line how a lan­guage-ori­ent­ed ap­proach al­lowed us to achieve all three: per­for­mance, ex­ten­si­bil­i­ty and main­tain­abil­i­ty. In­ter­est­ing­ly, much of the sys­tem is not im­ple­ment­ed in Rack­et but in C++. How­ev­er, both the C++ as well as the Rack­et code fol­low the lan­guage-ori­ent­ed par­a­digm.

Cof­fee Break

Im­ple­ment­ing pro­to­cols and syn­tax-based al­go­rithm de­vel­op­ment [slides]

by of

Ab­stract The read pro­ce­dure as it is pro­vid­ed by Rack­et reads an en­tire S-ex­pres­sion. But what if your in­com­ing data does not con­sist of S-ex­pres­sions? In this talk I’ll walk you through cre­at­ing your own in­put-port im­ple­ment­ing cus­tom pro­to­col. The im­ple­men­ta­tion will in­clude chang­ing the read se­man­tics. There are a few pit­falls which may seem hard to avoid, but we will deal with them as well. In the sec­ond part of the talk, I’ll dis­cuss how cus­tom syn­tax can help you de­vel­op your al­go­rithms. Es­pe­cial­ly when cre­at­ing vari­ants of vari­ants (that is not a typo) of pro­ce­dures im­ple­ment­ing cer­tain func­tion­al­i­ty with slight­ly dif­fer­ent as­sump­tions and out­comes.

Sketch­ing [slides]


Ab­stract is a lan­guage that en­ables be­gin­ners, artists and kids to make pro­grams that pro­duce im­ages and an­i­ma­tions. The in­spi­ra­tion was:

What would look like, if it were writ­ten in Rack­et?

We will see a few ex­am­ples—and take a look at the im­ple­men­ta­tion.

Long, state­ful on­line in­ter­ac­tions with con­game [slides]

by of

Ab­stract To­geth­er with Bog­dan Popa, we de­vel­oped con­game, the self-pro­claimed best soft­ware for on­line eco­nom­ics ex­per­i­ments im­ple­ment­ed in Rack­et. In this talk, I will high­light the fea­tures of con­game that make it pos­si­ble to build and de­sign stud­ies fast—and most im­por­tant­ly, to al­low study de­sign­ers to break out, reuse, and mix and match stud­ies and sub­stud­ies to de­vel­op a tru­ly long con.

Lunch Break

You’re wel­come to eat lunch any­where you like! There are all sorts of restau­rants, cafes, and bistros in the neigh­bor­hood.

That said, par­tic­i­pants are wel­come to join the or­ga­niz­ers on a walk to , a near­by mar­ket hall with a wide range of food stalls. Lunch costs about 10–20 EUR, and cash is the typ­i­cal way of pay­ing. There’s no need to wor­ry about not speak­ing Ger­man: Ger­man speak­ers will present to help you read the menus and or­der your food (in many cas­es you can prob­a­bly just or­der in Eng­lish). Markhalle Neun is about 7–8 min­utes away by foot from Spielfeld (view walk­ing di­rec­tions). The cost of lunch is not in­clud­ed in the tick­et.

Rack­et ecosys­tem in Gen­too [slides]

by of

Ab­stract We’ll talk about greater in­te­gra­tion of Rack­et and Gen­too Lin­ux sys­tems: Pro­jects, li­braries and tools to sup­port the Rack­et ecosys­tem as well as the Gen­too Pack­age Man­ag­er Spec­i­fi­ca­tion doc­u­ment.

A Rack­et Glos­sary [slides]


Ab­stract Learn­ing Rack­et can be tough. You’re con­front­ed with a flood of con­cepts and of­ten it’s hard to tell whether these con­cepts are some­thing ba­sic you should learn soon or some­thing rather ad­vanced that can wait un­til lat­er.

There­fore, the Rack­et glos­sary sorts con­cepts into ba­sic, in­ter­me­di­ate and ad­vanced cat­e­gories. Also, in­di­vid­ual glos­sary en­tries try to show what’s im­por­tant when start­ing with Rack­et ver­sus things you like­ly won’t need so soon. There are also some tips about how to use or not use a Rack­et fea­ture. Apart from the glos­sary con­tent, the talk de­scribes chal­lenges I ran into, the cur­rent state of the project and how you can con­tribute (if you want to :-)).

de­fine2 [slides]


Ab­stract Do you like writ­ing #:some-keyword some-keyword?

Do you like catch­ing ar­i­ty and key­word er­rors at run-time only?

Do you like to have to rewrite the de­fault val­ue for dict-ref when you make a wrap­per for it?

Do you like writ­ing wrap­pers for func­tions of many ar­gu­ments and key­words, such as plot?

If you replied yes to all of these ques­tions, define2 is not for you!

De­fine2 pro­vides a re­place­ment for define which it im­proves upon by pro­vid­ing sta­t­ic sig­na­ture checks at call sites to catch many ar­i­ty and key­word er­rors at com­pile time, short­er key­word de­f­i­n­i­tions, au­to­mat­ic pass-through of de­fault val­ues and wrap­per func­tions.

Cof­fee Break

Open Mic

Ab­stract The open mic at the end of Rack­et­fest is a time for light­ning talks or oth­er short items. Sound off about what­ev­er Rack­et-y thing is on your mind. Per­fect for pre­sent­ing work-in-progress, spec­u­la­tive ideas, thoughts about Rack­et, you name it.


The con­fer­ence din­ner will be­gin at at (view on map), a Ger­man restau­rant with­in walk­ing dis­tance of the venue (view walk­ing di­rec­tions). The din­ner menu is in Ger­man; some of the at­ten­dees can trans­late for those who don’t speak Ger­man. Dish­es are about 15–25€. Some veg­e­tar­i­an and ve­g­an op­tions are avail­able. At­ten­dance at the din­ner is op­tion­al and the cost of din­ner is not in­clud­ed in the tick­et price. When reg­is­ter­ing, you’ll be asked whether you in­tend to come to din­ner. We need this in­for­ma­tion to make a suit­able reser­va­tion at the restau­rant.


Rack­et­fest 2023 is done, so reg­is­tra­tion is no longer pos­si­ble.


Logo for BOBKonf

Rack­et­fest pairs well with , which takes places in Berlin one day ear­li­er (Fri­day, March 17, 2023).

BOB asks: What if we use the best for a change? You’ll find BOB to be a pret­ty Rack­et-friend­ly place. When reg­is­ter­ing for BOB, make sure to in­di­cate that you’ve reg­is­tered for Rack­et­fest to get a dis­count! You’ll need to share your Rack­et­fest reg­is­tra­tion re­ceipt with the BOB or­ga­niz­ers. (You did reg­is­ter, right?) See you there!

BOBKonf 2023 is done, so reg­is­tra­tion is closed.


To help keep costs low and en­sure that Rack­et­fest is not over­ly fi­nan­cial­ly bur­den­some, con­sid­er be­com­ing a Rack­et­fest spon­sor. Just go here and pick an amount you think is rea­son­able. You’ll be con­tact­ed sep­a­rate­ly to dis­cuss how you would like to be thanked at the event (if you don’t want to be anony­mous), in ad­di­tion to be­ing list­ed here.

Friend­ly Pol­i­cy

The pro­ceed­ings of Rack­et­fest are ex­pect­ed to take place un­der the Rack­et Friend­ly En­vi­ron­ment Pol­i­cy, with the un­der­stand­ing that the Rack­et­fest or­ga­niz­ers, rather than Rack­et man­age­ment, are in charge of this event.


Rack­et­fest is or­ga­nized by . Ques­tions or com­ments may be di­rect­ed to organizers@racketfest.com. We’re also on Mastodon as @racketfest@types.pl.