1.2.3

Пример рефал-программы: факториал

 

Fact     {      
    0 =  1;
    sN  =  <MUL (sN) <Fact <SUB (sN) 1>>>;
  }  

 

Начальное состояние "поле зрения": 
  <Fact 2> 
Шаг 1, пр. 2: sN = 2
<MUL (2) <Fact <SUB (2) 1>>> 
Шаг 2:  
<MUL (2) <Fact 1>>
Шаг 3, пр. 2:   sN = 1
<MUL (2) <MUL (1) <Fact <SUB (1) 1>>>
Шаг 4:    
<MUL (2) <MUL (1) <Fact 0>>> 
Шаг 5, пр. 1:    sN = 0 

<MUL (2) <MUL (1) 1>>  

Шаг 6:    

<MUL (2) 1> 

 Шаг 7:    

2