Skip to content

jonathanmarvens/turing-machine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Turing machinez tho.

This is a simple turing machine I created for an article I’ve been writing titled, “Neurons, turing machines, & lambda abstractions: an interesting combo?

Setup.

There are 3 ways you can install this on your system in order to play with it.


(1) Download a pre-built binary.

You should be able to grab a pre-built binary on the Releases page (oh, the power of Go cross-compiling :) … I’m looking at you, GCC).


Assuming you have your Go workspace all set up, the following are your two other options.


(2) Using go get.

go get -t -u github.com/jonathanmarvens/turing-machine

(3) Building from source.

go get -t -u github.com/kisielk/errcheck github.com/mitchellh/gox github.com/tools/godep
git clone https://github.com/jonathanmarvens/turing-machine.git $GOPATH/src/github.com/jonathanmarvens/turing-machine
cd $GOPATH/src/github.com/jonathanmarvens/turing-machine
make 

Now look in the .bin/ directory.


Usage.

Running turing-machine help should be helpful enough about the usage.


Feel free to use the example programs in examples/.

# ./.bin/{OS}-{ARCH}/turing-machine --prog="./examples/n-plus-1.btm.json"

Author.

Jonathan Barronville < http://乔纳森.com > ( [email protected] )

Acknowledgements.

Here’s a great document that includes a formal (mathematical) definition of a turing machine (from Cornell University’s CS department): http://www.cs.cornell.edu/courses/cs4820/2012su/handouts/turingm.pdf … I liked this document more compared to like 6 others I read (the math is clearer and pretty straightforward to follow, there are real examples, the author doesn’t make stupid assumptions about things -.-, et cetera), so I (loosely) modeled the turing machine around it. You should read it if you want a better mathematical understanding of turing machines! Please don’t rely on Wikipedia for a good understanding of turing machines.

Here’s a good document, which also includes a formal definition of a turing machine: http://plato.stanford.edu/entries/turing-machine … although I didn’t particularly love this document, it’s pretty informative (you probably wanna read it first if you’re new to turing machines).

License.

See LICENSE.

About

Turing machinez tho.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages