IRPF90
Un code scientifique peut presque toujours être vu comme une fonction pure de ses données. Dans cette vision fonctionnelle, un programme peut être représenté comme un arbre de production, où les feuilles sont les données, les noeuds sont les variables et les segments sont les relations {à besoin de/est nécessaire pour}.
IRPF90 introduit une nouvelle catégorie de variables (entités IRP) qui seront les noeuds de l'arbre de production. Pour chaque entité, le programmeur écrit le provider qui est une procédure qui fournit l'entité construite. Le préprocesseur analyse ensuite le code, construit l'arbre de production et génère un code Fortran qui assure qu'avant chaque utilisation d'une entité IRP celle-ci est construite. On peut faire l'analogie entre l'exécution du programme et la compilation d'un programme muni d'un makefile. À un instant donné, le programme ne va calculer que les entités qui ne sont pas valides, sinon il utilise la dernière valeur calculée.
Lorsque le programmeur écrit un code, il ne doit donc pas se soucier de la séquence d'exécution du programme. Si il veut introduire une nouvelle quantité à calculer dans le code, il ne doit connaître que les noms des autres entités dont il a besoin pour construire la nouvelle entité, sans se soucier de savoir si ce dont il a besoin a déja été calculé ni comment cela a été calculé. Ainsi, le développement collaboratif est grandement simplifié.