Perché non disponiamo ancora di una lingua non completa completamente non turante? [duplicare]

3

Le lingue complete di non turing possono risolvere ogni problema pratico che può avere una lingua completa. Inoltre, sono molto più analizzabili delle lingue complete di turing. Il compilatore può comprendere il programma nel suo complesso, prevedere / calcolare / memorizzare in cache ogni possibile calcolo in anticipo, ottimizzarlo nel modo più matematico possibile e persino dimostrare di averlo fatto. È come una super fusione tra digitazione statica e valutazione lazy nei roids.

Eppure nessuno sta cercando di progettare un linguaggio completo senza turbo come il COQ che sia pratico e utilizzabile. Perché?

    
posta MaiaVictor 10.08.2013 - 01:57
fonte

2 risposte

7

Le lingue complete non turanti possono risolvere ogni problema pratico che può avere una lingua completa.

sbagliato. Ad esempio, non puoi nemmeno fare qualcosa di così semplice come implementare il gioco della vita in un linguaggio completo non-Turing. Perché? Perché il gioco di Life is Turing è completo.

Una volta che l'ipotesi è considerata falsa, la risposta alla domanda è ovvia.

    
risposta data 10.08.2013 - 08:22
fonte
5

Uno sforzo in questa direzione è la famiglia di lingue Hume, l'ultima delle quali è completa Turing,

HW-Hume: a hardware description language — capable of describing both synchronous and asynchronous hardware circuits, with pattern matching on tuples of bits, but with no other data types or operations [27];

FSM-Hume: a hardware/software language — HW-Hume plus first-order functions, conditionals expressions and local definitions [26];

Template-Hume: a language for template-based programmimng — FSM-Hume plus predefined higher-order functions, polymorphism and inductive data structures, but no user-defined higher-order functions or recursive function definitions;

PR-Hume: a language with decidable termination — Template-Hume plus user-defined primitive recursive and higher-order functions, and inductive data structure definitions;

Full-Hume: a Turing-complete language — PR-Hume plus unrestricted recursion in both functions and data structures.

link

    
risposta data 07.09.2013 - 21:04
fonte