Friday Hacks #199, February 5
Posted on by Mayank Keoliya
Date/Time: Friday, February 5 at 7:00pm
Venue: Online on Zoom
Zoom Link: https://www.nushackers.org/fh199zoom
Relational Programming in miniKanren
Relational programming is a paradigm in which programs are written as mathematical relations, with no distinction between “inputs” and “outputs”. Relational programs are extremely flexible—in effect, every use of a relational program is equivalent to a synthesis problem. I will introduce the idea of relational programming, give examples of interesting relational programs in the miniKanren language, and show how this very small language can be used to implement interesting program synthesis tools, such as Barliman.
Will Byrd is a scientist at the Hugh Kaul Precision Medicine Institute at the University of Alabama at Birmingham. He is co-author of both editions of ‘The Reasoned Schemer’, and one of the creators of the miniKanren relational programming language. He is also co-running this year’s Scheme and Functional Programming Workshop – please submit a paper! :)
Implementing a Kanren from the Ground Up
Logic programming is a technique applicable to solving a wide variety of tasks in an elegant fashion and makes an attractive addition to any programmer’s toolbox. But what if logic programming isn’t available in your favorite language? In this talk I will show how to implement a relational-programming DSL in about 50 lines and discuss the extension to additional constraints.
Jason Hemann is a lecturer in the Khoury College of Computer Sciences at Northeastern University. Hemann’s research interests include functional and logic programming. He focuses on embeddings and extensions to support logic programming in numerous host languages and transforming functional programs to relational ones. His research questions tend to emerge from his teaching, and his results make it back into the classroom. An example of this approach can be found in his recently published textbook “The Reasoned Schemer, 2nd Edition”. He has been teaching in various capacities for over 15 years, including pre-college STEM programs, private professional training programs, and university courses at undergraduate and graduate levels.
See you there!