Programmers use *'general' *to contrast with* 'primitive'*.

general:

In mathematical logic <https://en.wikipedia.org/wiki/Mathematical_logic>
 and computer science <https://en.wikipedia.org/wiki/Computer_science>, a 
*general 
recursive function* (often shortened to *recursive function*) or *μ-recursive 
function*, is a partial function 
<https://en.wikipedia.org/wiki/Partial_function> from natural numbers 
<https://en.wikipedia.org/wiki/Natural_number> to natural numbers that is 
"computable" in an intuitive sense. 

In computability theory 
<https://en.wikipedia.org/wiki/Computability_theory_(computation)>, it is 
shown that the μ-recursive functions are precisely the functions that can 
be computed by Turing machines 
<https://en.wikipedia.org/wiki/Turing_machine> (this is one of the theorems 
that supports the Church–Turing thesis 
<https://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis>). The 
μ-recursive functions are closely related to primitive recursive functions 
<https://en.wikipedia.org/wiki/Primitive_recursive_function>, and their 
inductive definition (below) builds upon that of the primitive recursive 
functions. However, *not every μ-recursive function is a primitive 
recursive function*—the most famous example is the Ackermann function 
<https://en.wikipedia.org/wiki/Ackermann_function>

primitive:
https://mathworld.wolfram.com/PrimitiveRecursiveFunction.html

As first shown by Meyer and Ritchie (1967), do-loops (which have a fixed 
iteration limit) are a special case of while-loops. A function that can be 
implemented using only do-loops is called primitive recursive. (In 
contrast, a computable function 
<https://mathworld.wolfram.com/ComputableFunction.html> can be coded using 
a combination of for- and while-loops, or while-loops only.) Examples of 
primitive recursive functions include power 
<https://mathworld.wolfram.com/Power.html>, greatest common divisor 
<https://mathworld.wolfram.com/GreatestCommonDivisor.html>, and *[image: 
p_n](the function giving the [image: n]th prime 
<https://mathworld.wolfram.com/PrimeNumber.html>)*.


The *Ackermann function* 
<https://mathworld.wolfram.com/AckermannFunction.html> is the simplest 
example of a well-defined <https://mathworld.wolfram.com/Well-Defined.html> 
total 
function <https://mathworld.wolfram.com/TotalFunction.html> that is *computable 
<https://mathworld.wolfram.com/ComputableFunction.html> but not primitive 
recursive*, providing a counterexample to the belief in the early 1900s 
that every computable function 
<https://mathworld.wolfram.com/ComputableFunction.html> was also primitive 
recursive.


code in various programming languages:


The *Ackermann function <https://en.wikipedia.org/wiki/Ackermann_function>* is 
a classic example of a recursive function, notable especially because it is 
not a primitive recursive function 
<https://en.wikipedia.org/wiki/Primitive_recursive_function>. 


https://rosettacode.org/wiki/Ackermann_function



@philipthrift

On Wednesday, June 10, 2020 at 5:31:39 PM UTC-5, Brent wrote:
>
> What does "general recursion" mean?  Is recursion in LISP not "general"?
>
> Brent
>
> On 6/10/2020 12:08 PM, Philip Thrift wrote:
>
>
>
> *We propose a full-spectrum dependently typed programming language, 
> Zombie, which supports general recursion natively. ... Zombie also features 
> an optional termination-checker, allowing nonterminating programs returning 
> proofs as well as external proofs about programs.*
>
> Vilhelm Sjöberg - https://www.cs.yale.edu/homes/vilhelm/
> Stephanie Weirich - https://www.seas.upenn.edu/~sweirich/
>
> https://www.cis.upenn.edu/~sweirich/papers/sjoberg-thesis.pdf
>
> @philipthrift
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Everything List" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/everything-list/f547910f-4e56-45a1-b7ff-eaa05b7f2f30o%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/everything-list/f547910f-4e56-45a1-b7ff-eaa05b7f2f30o%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Everything List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/everything-list/9dd88482-180d-4d9f-a601-1efb4b1daa11o%40googlegroups.com.

Reply via email to