Feto, si no has oído hablar de él, puedes leerlo aquí . Utiliza un sistema de 'matrices de llamadas' y 'gráficos de llamadas' para encontrar todos los 'comportamientos de recursividad' de llamadas recursivas en una función. Para mostrar que una función termina, muestra que todos los comportamientos de recursividad de las llamadas recursivas realizadas a una función obedecen a un cierto "orden lexicográfico". Su verificador de terminación permite todas las funciones recursivas primitivas y funciones como la función de Ackermann. Básicamente permite la recursividad primitiva de múltiples argumentos. Esto también es básicamente el comprobador de terminación de Agda; Creo que Coq también tiene algunas instalaciones similares, aunque quizás más generales.
De la lectura del documento "Programación funcional total" por DA Turner . Explica que su lenguaje propuesto sería capaz de expresar todos los "funcionales recursivos primitivos" como se ve en el Sistema T estudiado por Godel. Continúa diciendo que este sistema "se sabe que incluye todas las funciones recursivas cuya totalidad se puede demostrar en la lógica de primer orden".
¿Dosis feto permite todos los funcionales recursivos primitivos? Si es así, ¿permite funciones que no son funciones primitivas recursivas? ¿Se puede proporcionar una cita para la respuesta a esto? (esto no es realmente necesario ya que solo estoy interesado; es solo que sería bueno leer un poco sobre el tema)
Pregunta extra: los funcionales recursivos primitivos tienen una definición muy concisa en términos de combinadores: S y K (que no pueden expresar los combinadores de punto fijo), cero, la función sucesora y la función de iteración; Eso es. ¿Hay otros lenguajes más generales que tengan una definición tan concisa y en la que terminen todas las expresiones?