Found on proggit: Krug, a new experimental programming language, compiler written in D

sarn sarn at theartofmachinery.com
Fri Apr 27 02:39:37 UTC 2018


On Friday, 27 April 2018 at 00:03:34 UTC, H. S. Teoh wrote:
> Actually, Turing-complete *does* mean it can do anything... 
> well, anything that can be done by a machine, that is.

No, it means there's some *abstract mapping* between what a thing 
can do and what any Turing machine can do.  That sounds pedantic, 
but it makes a difference.

For example, early C++ template metaprogamming was Turing 
complete, but it couldn't do much of the code generation that's 
possible nowadays.  Sure, there's a theoretical abstract function 
that maps the problem you're really trying to solve to a complex 
C++ type, and then template metaprogramming could convert that to 
a "solution" type that has a theoretical mapping to the solution 
you want, but there weren't any concrete implementations of these 
abstract functions you needed to get the actual code generation 
you wanted.

Inputs and outputs are usually the killer of "but it's Turing 
complete" systems.


More information about the Digitalmars-d mailing list