Skip to content
vic

webyrd/cato

Concatenative relational interpreter in miniKanren

webyrd/cato.json
{
"createdAt": "2014-09-18T05:22:47Z",
"defaultBranch": "master",
"description": "Concatenative relational interpreter in miniKanren",
"fullName": "webyrd/cato",
"homepage": null,
"language": "Scheme",
"name": "cato",
"pushedAt": "2015-05-11T04:45:21Z",
"stargazersCount": 22,
"topics": [],
"updatedAt": "2023-10-02T22:32:29Z",
"url": "https://github.com/webyrd/cato"
}

Concatenative relational interpreter in miniKanren

With Brandon Bloom and Brian Mastenbrook at Strange Loop 2014. Extended to generate quines with Claire Alvis, Ryan Culpepper, Faré, Chris Jester-Young, Brian Mastenbrook, Bodil Stokke, Daniel Yokomizo.

Useful resources on concatenative programming:

Why Concatenative Programming Matters http://evincarofautumn.blogspot.com/search/label/Concatenative

Concatenative Clojure http://www.infoq.com/presentations/concatenative-clojure

pesto5: A concatenative programming library in 5 lines of Clojure http://blog.fogus.me/2013/01/06/pesto5-a-concatenative-programming-library-in-5-lines-of-clojure/

Wikipedia article on concatenative languages http://en.wikipedia.org/wiki/Concatenative_programming_language

concatenative.org wiki on concatenative languages http://concatenative.org/wiki/view/Front%20Page

Description of concatenative languages at concatenative.org http://concatenative.org/wiki/view/Concatenative%20language

The Joy of Joy http://ncreep.github.io/language_perils/blog/2013-03-18-the-joy-of-joy.html

Mathematical foundations of Joy (mirror of paper by Manfred von Thun) http://www.kevinalbrecht.com/code/joy-mirror/j02maf.html

‘Seven More Languages in Seven Weeks: Languages That Are Shaping the Future’ by Bruce Tate, Fred Daoud, Jack Moffitt, Ian Dees. Pragmatic Bookshelf, 2014. Includes ‘Factor’ as one of the seven languages (along with miniKanren!).

Interesting and related:

Wikipedia article on the FP language http://en.wikipedia.org/wiki/FP_%28programming_language%29

Function-level programming (as opposed to functional programming) http://en.wikipedia.org/wiki/Function-level_programming

John Backus’s 1977 Turing Award paper, ‘Can Programming Be Liberated from the von Neumann Style?’ http://web.stanford.edu/class/cs242/readings/backus.pdf