Speicher--Übung

Fakultät imperativ:

let { fak = \ n -> 
        { a := new 1 ;
          while ( n > 0 ) 
            { a := a * n ; n := n - 1; }
          return a; 
        }
    } in  fak 5

  1. Schleife durch Rekursion ersetzen und Sequenz durch let:
    fak = let { a = new 1 }
          in  Rec f ( \ n -> ... )
    
  2. Syntaxbaumtyp erweitern um Knoten für Sequenz und Schleife



Johannes Waldmann 2013-01-31