next up previous
Next: Result of supercompilation Up: Berkley Previous: Berkley


Refal encoding

*$MST_FROM_ENTRY;
*$STRATEGY Applicative;
*$LENGTH 0;

$ENTRY Go {e.A (e.i) = <Loop (e.A) (Invalid e.i)(Non-exclusive )(Exclusive )(Unowned ) >;}

Loop {
  () (Invalid e.1)(Non-exclusive e.2)(Exclusive e.3)(Unowned e.4)=
             <Result (Invalid e.1)(Non-exclusive e.2)(Exclusive e.3)(Unowned e.4)>;
  (s.A e.A) (Invalid e.1)(Non-exclusive e.2)(Exclusive e.3)(Unowned e.4) = 
         <Loop (e.A) 
         <RandomAction s.A
         (Invalid e.1)(Non-exclusive e.2)(Exclusive e.3)(Unowned e.4)>>;
}




RandomAction {

* rm
A (Invalid s.1 e.1) (Non-exclusive e.2) (Exclusive e.3) (Unowned e.4)
   =(Invalid e.1) (Non-exclusive e.3 e.2) (Exclusive )(Unowned s.1 e.4);
* rh Trivial
*wm
B (Invalid s.1 e.1)(Non-exclusive e.2)(Exclusive e.3)(Unowned e.4) =
  (Invalid e.4 e.3 e.2 e.1)(Non-exclusive )(Exclusive s.1)(Unowned );
* wh1
C (Invalid e.1)(Non-exclusive s.2 e.2)(Exclusive e.3)(Unowned e.4) =
  (Invalid e.4 e.2 e.1)(Non-exclusive )(Exclusive s.2 e.3)(Unowned );
D (Invalid e.1)(Non-exclusive e.2)(Exclusive e.3)(Unowned s.4 e.4) =
  (Invalid e.4 e.2 e.1 )(Non-exclusive )(Exclusive s.4 e.3)(Unowned );

}



Result{
(Invalid e.1)(Non-exclusive e.2)(Exclusive s.3  e.3)(Unowned s.4 e.4) = False;
(Invalid e.1)(Non-exclusive s.2 e.2 )(Exclusive s.3 e.3)(Unowned e.4) = False;
(Invalid e.1)(Non-exclusive e.2 )(Exclusive s.31 s.32 e.3)(Unowned e.4) = False;
(Invalid e.1)(Non-exclusive e.2)(Exclusive e.3)(Unowned e.4) = True;
}


Alexei Lisitsa 2005-07-14