Everything2
Near Matches
Ignore Exact
Full Text
Everything2

Turing complete

created by ssd

(idea) by rp (3 d) (print)   ?   (I like it!) Sat Nov 13 1999 at 9:57:31

Turing-complete languages or machines are those that can express arbitrary computations, that is, they can emulate arbitrary Turing machines.

This is not at all the same as the capability to solve any mathematical problem: many perfectly defined mathematical problems are provably unsolvable.

As a matter of fact, the Turing machine was invented to prove this.

A simple Turing-complete formalism is, obviously, the Turing machine; another, the lambda calculus; another is the arbitrary rewrite grammar often used as the last formalism in the Chomsky hierarchy.

Very small subsets of most programming languages are already Turing-complete, on the condition that they can access arbitrary amounts of memory. C, for instance, isn't, because it must address all memory with pointers of a fixed size; but a variant that uses pointers of arbitrary size would be trivial to define.


(idea) by ariels (2 d) (print)   ?   (I like it!) 1 C! Fri Oct 05 2001 at 15:50:38

A programming language (alternatively, a computational model) is called Turing complete if it is equivalent to the Turing machine model: any program written in the language can be simulated with some Turing machine, and every Turing machine can be simulated by some program written in the language.

The Church-Turing thesis states that any "interesting" computational model is Turing complete.

Since the (technical) theory of recursive functions is Turing complete, a programming language is Turing complete iff every program calculates some recursive function, and every recursive function may be calculated by some program in the language.

Primitive recursive functions are not Turing complete: they cannot express the Ackermann function. C and Pascal are Turing complete if we're careful to ignore some details (e.g. a C implementation must use pointers of some finite size sizeof(void *), implying it can only use some finite amount of data). Real programming languages are Turing complete only if we ignore the constraints of finiteness.


(idea) by dido (1.7 y) (print)   ?   (I like it!) Fri Sep 19 2003 at 5:09:15

Examples of Turing complete formal systems include the following (along with the person credited for inventing the system, and date of seminal paper describing it, where applicable, or known):

That is, it is possible for any instances of these systems to simulate and be simulated by any of the others. The fact that all of these formal systems for computation can generate only recursively enumerable languages and calculate partial recursive functions lends credence to the Church-Turing Thesis.

These various Turing complete formal systems have become the basis for various styles of programming and associated programming languages. For instance the register machine model has become the main model behind which nearly all machine languages for nearly all modern microprocessors are based. The lambda calculus is the basis for all functional languages, and the related combinator logic is used for some implementations.


printable version
chaos

Turing Machine Ackermann function A practical introduction to brainfuck Chomsky hierarchy
Tetris complete Lambda calculus IFF primitive recursive
Church-Turing Thesis Recursive function World's most narrowly useful programming language template meta-programming
The Value of a College Degree - Computer Science On computable numbers, with an application to the Entscheidungsproblem Brainfuck Turing tar-pit
Turing Tarpit The unsolvable problem cat hack combinator
Alan Turing K Comparison of programming language types Game of Life
Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.
  Epicenter
Login
Password

password reminder
register

Everything2 Help

Cool Staff Picks
Just another sprinkling of indeterminacy
Samhain
Chess notation
Funerals should be a celebration
Jerusalem cricket
New Wave
The Art of the Mix Tape
Moai
Butch Cassidy and the Sundance Kid
Being a foreign female in Japan
A Short History of Nearly Everything
Moon River
Some of our best friends are three minutes long
Prostatitis
New Writeups
Augustine
Vanya on 42nd Street(review)
tentative
Chances Not Taken(idea)
Heitah
Why I love Everything2(person)
trixingee
Dungeon Mastering for the first time(idea)
Netrat0
It's Called Subtext, Honey(person)
eyeofthebeholder
The Dragon(idea)
Heitah
consist, comprise, constitute, or compose(idea)
Meezzio
Gotlandssnus(thing)
argv
Astral Plane(idea)
Madara
One Winged Angel(fiction)
Tom Rook
Talk is cheap(poetry)
shaogo
Adelle Davis(person)
Aerobe
race car g sfjsgsd(poetry)
Binah
Dream Log: July 5, 2008(dream)
StrawberryFrog
Forgotten things in space(idea)
This page courtesy of The Everything Development Company