C'est une fonction comportant dans sa définition au moins un appel à elle-même.
Exemple. calcul de
RECURSIVE FUNCTION factorielle (n) RESULT (res)
IMPLICIT NONE
INTEGER, INTENT(IN) :: n
REAL :: res
IF ( n<= 1) THEN
res = 1
ELSE
res = factorielle(n-1)*n
ENDIF
END FUNCTION factorielle
L'utilisation du mot clé RESULT est indispensable pour distinguer le résultat du nom de la fonction. Bien sûr l'interface doit être explicite.