RacketCon is for developers, contributors, programmers, educators, and bystanders. It’s an opportunity for all of us to share plans, ideas, and enthusiasm, and help shape the future of Racket.
As Racketeers we are familiar with functional programming: each pure function we write produces one output value when given zero or more input values. What if we erase this distinction between inputs and outputs, and only think about the relationships between these values? We end up with relational programming, which lets us run our programs backwards: we can infer the “input” values that produce a desired “output” value. We can also reorder our code arbitrarily, without changing the meaning of our programs. By writing an interpreter for a subset of Racket using this approach, the interpreter inherits the ability to synthesize Racket programs from example inputs and outputs, among other interesting abilities.
We will demonstrate all of these features using miniKanren, a domain-specific language for constraint logic programming that is itself embedded in Racket.
Daniel P. Friedman is Professor of Computer Science at Indiana University. He is co-author of The Little Schemer, 4th ed., The Seasoned Schemer, The Reasoned Schemer, 2nd ed., The Little Prover, Scheme and the Art of Programming, and Essentials of Programming Languages, 3rd ed., all published by MIT press.
William E. Byrd is a Research Assistant Professor in the School of Computing at the University of Utah. He is co-author of The Reasoned Schemer, 2nd ed., and runs weekly online hangouts on miniKanren and relational programming. Will is also interested in the intersection of programming languages and biology. Ask him about the scanning tunneling microscope (STM) he is building.
For the first time this year, RacketCon happens in Seattle. We’ll be at Mary Gates Hall on the University of Washington campus. We thank Emina Torlak and the UW School of Computer Science & Engineering for hosting us.
Buy your ticket at Eventbrite.
Leif Andersen: Movies as Programs: The Story of a Racket
Jack Firth: A RackUnit Toolkit: Growing Racket’s Testing Ecosystem
Mangpo Phitchaya Phothilimthana: High-Coverage Hint Generation for Racket Programming Assignments
Prabhakar Ragde: Proust: A Nano Proof Assistant
Vishesh Yadav: RacketScript
David Storrs: Racket and Business
Alexis King: Hackett, a Haskell for Racketeers
Dan Anderson and Anthony Pineci: A Methodology for Teaching Kalman Filtering to High School students
William G Hatch: Rash: Reckless Shell Programming in Racket
Andrew Gwozdziewycz: Simplifying Slideshow for DWIM Presentations that Stick, Quick
New for (seventh RacketCon)—Racketeer Office Hours!
The day begins with an open discussion about the state of Racket, happenings in the last year, and plans for the future. The floor is open to any questions and comments you may have.
Following this discussion are office hours proper. Bring your projects to get assistance from experienced members of the community, start new ones inspired by what you saw on Saturday, or pick from a list of suggested tasks to help us improve Racket!
Ben Greenman: Contributing to the Racket codebase
Stephen Chang: Packaging Racket projects
Spencer Florence and Jesse Tov: Scribbling documentation
The Racket community aims to improve the world through programming. It started with the goal of introducing everyone to the wonderful world of program design, with a spirit of full inclusion and no emphasis on any specific group. Over time it has grown into a full-fledged professional community with a well-known reputation for helpfulness and openness on its on-line communication channels. The organizers want to encourage an equally open exchange of ideas at RacketCon, the community’s in-person meet-up.
This spirit requires an environment that enables all to participate without fear of personal harassment. We define harassment as unwelcome or hostile behavior, that is, behavior that focuses on people instead of ideas. The ACM’s anti-harassment policy lists a variety of specific unacceptable factors and behaviors. The organizers consider responses such as “just joking,” or “teasing,” or being “playful” as unacceptable.
Anyone witnessing or subject to unacceptable behavior should notify one of the RacketCon organizers (Matthew Flatt, Vincent St-Amour).
If a participant engages in harassing behavior, the conference organizers may take any action they deem appropriate, from a warning of the offender to an expulsion from the conference [without refund].
[The wording of this policy is directly derived from that of the SNAPL conference, with thanks.]
“Everyone has a universe of beautiful things in their head. Maintaining a nurturing environment for conflicting interests is important. And Racket has it. So if you worry that you do weird and insignificant stuff, I tell you that the world has taught you wrong and Racket is your refugee shelter. Please do not hesitate.”
—Satisfied Customer, RacketCon 2016