News
  Chat
  Forum
  Profile
  Links
  Stundenplan
  Speiseplan

  C++ Tutorials
  ASM Tutorials
  Scheme Tutorials
  HTML Tutorials

  Mathe Tips
  Physik Tips

  II02 Board
  II02 Members

  Member Projects
 Aufgabe12-12-02 
 

Lambda-Kalkül

Aufgaben 1-3: Lösung:
(define ersetze (lambda ( v1 a v2 ) (cond ((null? a) '()) ((list? a) (cons (ersetze v1 (car a) v2) (ersetze v1 (cdr a) v2))) ((equal? a v1) v2) (else a)))) (define element? (lambda ( v1 a ) (cond ((null? a) #f) ((list? a) (if (element? v1 (car a)) #t (element? v1 (cdr a)))) ((equal? a v1) #t) (else #f)))) (define alpha (lambda (t v) (cond ((null? t) '()) ((element? v t) t) ((append (list 'lambda (list v)) (list (ersetze (car (cadr t)) (caddr t) v))))))) (define alpha (lambda (t v1) (cond ((null? t) ()) ((element? v1 t) t) (else (ersetze (caadr t) t v1))))) (define auto-alpha (lambda (l1 l2) (cond ((null? l2) l1) ((element? (car l2) l1) (auto-alpha l1 (cdr l2))) (else (alpha l1 (car l2)))))) Kommentar: Ich denke diese Aufgaben waren ja mal echt einfach und es bedarf nicht viel Erklärung. Da alle Funktionen auf einander aufbauen sind sie recht kurz und noch in Ansätzen überschaubar(halt Scheme).