Coder Social home page Coder Social logo

tfp-2023's Introduction

TFP 2023 Paper Directory

Contains both re-implementations of some logical and extra-logical operators for a microKanren, as well as experimental results bench-marking those variations on some small programs.

Implementation

We structure the re-implementations through several files.

File & Purpose
Underlying implementation + disj/conj re-implementations
Minimal correctness tests for re-implementations
Interface macros, to facilitate comparisons w/miniKanren programs
Demonstrate potential cost of null? checks in base case

These files are tested against Racket 8.7.

Paper

Purpose
tex source
bib source
Makefile

In order to build the paper, you should have pygments, xelatex, biber installed and available on path. You should then be able to type make, as the default target is the paper.

Examples

The examples sub-directory describes some of the work testing examples suggested to see a big performance wrt left associating conjuction. This was a more complicated story than had seemed at first, where rather than uniformly reordering association, instead the improvement was from locally adjusting that search strategy by use of higher-order goals.

With the logo example, we also saw very little improvement from uniformly re-associating conjunctions.

With the quines example, we did see some reasonable improvements over the baseline. However this was using Nada Amin's unification-only quines interpreter, which means deBruijn indices for variables. So this too has some confounding factors. Outstanding work: completely integrate disequality constraints into the microKanren versions, so that at least we do not need deBruijn indices, and then truly isolate the performance impact on quines.

These tests in their current state are:

File & Purpose
Incipient program for quines interp w/o disequality
Incipient program for disequality based quines interp
Incipient program to reify a constraint store
useful to ensure correct output

tfp-2023's People

Contributors

frenchy64 avatar jasonhemann avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

frenchy64

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.