GithubHelp home page GithubHelp logo

cowgirl-or-invader's Introduction

cowgirl-or-invader

An online partial evaluator for FCL with partially static datastructures.

This is a prototype. it has at least some termination issues yet to be repaired/redesigned. Runs with guile-2.0, compiles with gambit-c.

example use:

FCL program computing (expt m n): cat experiments/power.fcl

propagate both input values (m=5, n=3): (cat experiments/power.fcl ; echo "((m . (KONST 5)) (n . (KONST 3)))") | guile cowgirl.scm

propagate the exponent (m=?, n=3): (cat experiments/power.fcl ; echo "((m . (CVAR 0)) (n . (KONST 3)))") | guile cowgirl.scm

propagate the base (m=23, n=3): (cat experiments/power.fcl ; echo "((m . (KONST 23)) (n . (CVAR 0)))") | guile cowgirl.scm

See more experiments in experiment.sh.

todo:

-- rewrite TEST-configurations.scm, -- fixing generalization (driving does not terminate on certain programs, like experiments/prg2.fcl), -- perhaps "stop branch on impossible operation" -- eg if AE gets "(car ())", assuming the program is correct, means that current branch is not a possible computation, -- cleanup, ...

cowgirl-or-invader's People

Contributors

drcz avatar

Stargazers

Panicz avatar

Watchers

 avatar Panicz avatar

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.