William Byrd on Relational Programming and Quines

This idea about elaborating relations under constraints is really interesting. See Thorsten Altenkirch on NaÏve Type Theory and An Interesting and Useful Duality and Condensing Programs. 
 
See miniKanren, live and untagged: quine generation via relational interpreters (programming pearl) by William E. Byrd, Eric Holk and Daniel P. Friedman and https://minikanren.org/ for more on Micro Kanren (21:00).

See also What is Formal Logic? and Nada Amin - Metacircular Interpretation ad infinitum.

Subscribe to Strange Loop.

See A small embedding of logic programming with a simple complete search by Jason Hemann, Daniel P. Friedman, William E. Byrd and Matthew Might and Visualizing miniKanren Search with a Fine-Grained Small-Step Semantics by Brysen Pfingsten and Jason Hemann where they describe a web interface to  a semantic model which lets users interactively view the reduction steps.

Here are some related clever things people have done: Extensional Normalisation and Type-Directed Partial Evaluation for Typed Lambda Calculus with Sums (2004) by Vincent Balat, Roberto Di Cosmo and Marcelo Fiore and Tillmann Rendel - Automatic Refunctionalization to a Language with Copattern Matching.  Also Jesper Cockx - Elaborating Dependent (Co)pattern Matching.

Subscribe to Erlang Solutions.


Reactive systems have been the focus of decades of research starting in the 1990s. See e.g. The synchronous dataflow programming language LUSTRE (1991) by N. Halbwachs, P. Caspi, P. Raymond and D. Pilaud and ReactiveML, ten years later (2015) by Louis Mandel, Cédric Pasteur and Marc Pouzet. Also Feasible reactivity in a synchronous π-calculus (2007) by Roberto M. Amadio Frédéric Dabrowski and KScript and KSWorld: A Time-Aware and Mostly Declarative Language and Interactive GUI Framework (2013) by Yoshiki Ohshima, Aran Lunzer, Bert Freudenberg and Ted Kaehler.

Kanren works for non-deterministic processes like parsing and language recognition too. See Multi-stage Relational Programming by Michael Ballantyne, Rafaello Sanna, Jason Hemann, William E. Byrd and Nada Amin. 

I'd never heard of staging interpreters before. Is Normalisation by Evaluation just a kind of staged interpreter? 

Subscribe to ACM SIGPLAN.

Tomas Petricek thinks of type inference as a constraint solver:

Subscribe to Tomas Petricek. 

Paul Dancstep on the Finset interpretation of The Library of Babel:


See On Getting Machines to do Stuff and David Spivak on The Category of Polynomial Functors in One Variable. 

Subscribe to Topos Institute.

It's all loose ends! What a pity nobody can be employed to tidy them up, .... Everyone's too busy inventing new clever things.

Comments

Popular posts from this blog

How Could One Unify CMU and MIT

Tensor Fields and Simplicial Complexes

HTML in Blog Posts