Python 3.0 migration plans?

Paul Rubin http
Fri Sep 28 11:51:41 EDT 2007


"Diez B. Roggisch" <deets at nospam.web.de> writes:
> All serious languages are turing-complete. So can we put away with this
> non-sense argument right away, please?

Actually the so called "total" languages aren't Turing-complete.  I
think Coq is an example: every Coq function must return a value.  So
Coq doesn't have any way to write an infinite loop, because that would
allow writing functions that fail to return.  So there is no halting
program in Coq (every Coq program halts), which means Coq is not
Turing-complete.  That allows Coq to generate code about which it can
make all kinds of guarantees that most languages can't (not simply
that the programs halt but that they actually fulfill their
computational specifications), so it's being used in various
high-assurance applications, though usually to write just the most
critical parts of a program, not the entire program.  Of course it's a
matter of semantics but in some meaningful ways, I'd say Coq is a more
serious language than Python.

Here is a famous early paper explaining why Turing-completeness isn't
all it's cracked up to be:

  http://sblp2004.ic.uff.br/papers/turner.pdf
 
This paper shows some of the advantages of the total approach.



More information about the Python-list mailing list