Skip to content

Instantly share code, notes, and snippets.

@hausdorff
Created April 16, 2015 01:57
Show Gist options
  • Select an option

  • Save hausdorff/cbba287153e21aa67eab to your computer and use it in GitHub Desktop.

Select an option

Save hausdorff/cbba287153e21aa67eab to your computer and use it in GitHub Desktop.
This page is not ready for prime time. It is a placeholder and "drop box" for snippets I wish to share with others mad enough to want them. The subject is a Curry Machine which is my take on an alternate reality in which Alan Turing did not develop his eponymous machine, but rather based his argument about computation and universal machines more directly on Haskell Curry's combinatorial logic (OK, Schoenfinkel's). Don't look at me that way. The basic idea was not my own, but grew out of the sort of geek-drunken-brawl that can happen on some mailing lists. More details can be gleaned from red_bean_curry.txt, a mildly edited version of an email thread from when I took this example implementation to another mailing list.
In brief, the file curry.c [AN: source link here, it's a C implementation that's about 1200 lines] implements a simulation of a proposed physical manifestation of the machine, using glass and steel balls to represent bits, two bits per token. Aside from reading these two files, you are on your own for now, and the forseeable future. A sample input file can be found in omega.txt, and the result of running with that file:
curry -p5 -d1 < omega.txt > omega_trace.txt
can be found in omega_trace.txt.
for reference:
usage curry [options]
-d# set debubg verbosity
-p# pass quota (default 1)
-r# reduction quota (default unlimitted)
-s# step quota (default unlimitted)
Takes input from stdin, ignoring all but (sk.
Processes until no reductions occur in a pass or one of
the quotas (passes, reductions, steps) is exceeded
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment