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.

