Reescritura


El modelo de ejecución de los programas funcionales puede ser capturado por el proceso de reescritura de términos.

Ejemplo: Las siguientes reglas de reescritura definen la función factorial:

fact(0) -> 1
fact(n) -> n*fact(n-1)

La evaluación del término fact(2) procede como sigue:

fact(2) -> 2*fact(1) -> 2*1*fact(0) -> 2*1*1 = 2