Category:Total
A total programming language is one in which all programs are guaranteed to terminate. As such, such languages are not Turing complete. Self-interpretation in a total language is traditionally blocked by the normalization barrier, which states that total languages cannot compute their own normal forms. The normalization barrier can be circumvented in some cases but remains a standard example of the limitations of total languages.[1] Nevertheless, total languages can express the most powerful finite-state machines possible. Additionally, programs which run indefinitely can be expressed as a sequence of total computations which each individually halt, simplifying proofs about their behavior.
For any Turing-complete language, there is a total language where each halting program is annotated with a proof that it halts. Proofs can be embedded into source code, computed using tactics, or synthesized using search, as long as the length of the proof is finite and it can be checked in polynomial time.
References
- ↑ Matt Brown and Jens Palsberg. 2016. Breaking through the normalization barrier: a self-interpreter for f-omega. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '16). Association for Computing Machinery, New York, NY, USA, 5–17. https://doi.org/10.1145/2837614.2837623
Pages in category "Total"
The following 200 pages are in this category, out of 489 total.
(previous page) (next page)"
$
0
4
;
A
- A programming language is a system of notation for writing computer programs.
- A Simple Language With A Console
- A Simple Language With A Console Except There Is No Console
- ABCD
- ABCDXYZ
- ABPLWNL
- ABPLWNL but with stack
- ACCUMULATOR
- ADxc
- Afz
- AHQ9+-
- Alfie
- Alivefish
- Alphamation
- Alphaprint
- Alphaton
- AMONGUSISABIGSUSSYBAKAHAHAHAHAHATHISLANGUAGEISREALLYCOOLPLEASEUSEITMYLIFEDEPENDSONITORELSEPLSPLSPLSPLSPLSPLSPLSkahyghdfhm
- An unusable esolang made with an one-line interpreter and a long name
- Analscript
- Anti-myself language
- Anti-Plushie language
- AntiLang
- Anyways
- APLWSI
- Apple Pie
- Apple3.14
- Arch is the best!
- Arithmetic
- Array Changer
- Arsel
- Asig
- AuFI
B
- B (None1)
- B-H
- BackFlip
- Backshar
- Backshar+
- Bad command or file name
- Bad command or file name/No Quine
- Base2e15text
- Base64 Text
- Bash: foo: No such file or directory
- Bawkbawk
- Bbtos
- Be1-
- BERT
- BF Lite
- Bigfun
- Bin-8
- Bitshit
- BitSwitch
- BittyLang
- Blah
- Blue Hens
- Bolgefuck
- Boobeans
- Brainfuck/w/index.php?title=Talk:Brainfuck/index.php
- Brainfuck: Free Version
- Brainfuck⁰
- Brainf̶u̶c̶k̶
- Brainless
- Brainsplosion
- Brainthon
- Brainword
- Branjunk
- Broken Calculator
- BSoD
- BullScript
- Bunnicula
- Burgercamp
- Burgercamp+/burgercamp+-
- BuxRo
- BWTFN
- B̶r̶a̶i̶n̶fuck
- B̶r̶a̶i̶n̶f̶u̶c̶k̶