De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

-calculus versus Scheme

Verwante presentaties


Presentatie over: "-calculus versus Scheme"— Transcript van de presentatie:

1 -calculus versus Scheme

2 Syntax : functie definitie
Scheme (define (f1 x) <body>) (define f1 (lambda (x) <body>)) (define f2 (lambda (x y z) <body>)) (define id (lambda (x) x)) -calculus x.<body> x. y. z. <body> x.x

3 Syntax: functie applicatie
Scheme (f1 x’) (f2 x’ y’ z’) ((lambda (x y z) <body>) x’ y’ z’) -calculus (x.<body>)x’ ((((x. y. z <body>) x’) y ) z’ ((plus) cn )cm

4 Voorgedefinieerde functies/ syntactic sugare
Scheme 0, 1, 2, 3, 4, … +, -, +1, -1, * (cons a b) (car c) (cdr c) (define (f …) <... >) -calculus c0, c1, c2, c3, c4, … plus, minus, succ, pred, times ((cons)a)b (c)car (c)cdr f  ...

5 Vervolg Scheme (let ((id1 v1) … (idn vn)) <body>)
(letrec ((fac (lambda (n) … fac …)) <body> ) -calculus (…(id1. id idn. <body>)v1) …)vn) fac  (Y)FAC FAC  f. n ….(f) … n

6 Imperatief Programmeren
Scheme (set! x 5) (set-car! X 5) (set-cdr! X 5) (display “hello world”) (newline) Side-effects!!! -calculus ? Functioneel

7 Order Evaluation Scheme: applicative order (f a) 1. eval f 2. eval a
3. Apply f to a Normal order (if, and, …) -calculus (f)a resultaat onafhankelijk van evaluatie-volgorde

8 Opdracht: 1.Definieer een procedure in Scheme die gegeven invoer n, de Church-numeral cn (maw.een functie!) als resultaat geeft. Definieer ook de inverse functie, die van cn , n berekent. 2.Definieer de rekenkundige operaties plus en times in Scheme op deze “Church numerals” cn. 3.Currying: Geef de gecurryde versie van de procedure “accumulate” uit de oefeningen. 4.Herdefinieer volgende Scheme special forms in Scheme uitsluitend met lambda expressies: cons, car, cdr, if, true, false, and,or,not. 5.Schrijf de volgende functie als Scheme-procedure en als -expressie: f(x) = 1 als x = 0 x + f(x - 1) als x > 0 Wat berekent de functie f eigenlijk?


Download ppt "-calculus versus Scheme"

Verwante presentaties


Ads door Google