.


:




:

































 

 

 

 


f(x,y)>0 1 0 Scheme

K

K a b → a

 

h(f,g)=λ(x)f(g(x))

(Y→Z)x(X→Y)→ (X→Z)

 

,

 

cdr(X), X='((A B) C (D E))?

(C (D E))

 

, S-

 

SECD

" f(x)>0 1 0" Scheme

(IF (> (F X) 0) 1 0)

 

, , ,

, , x s.

(x,s) = null(s) #F eq(x,car(s)) (x,cdr(s))

 

λ- ( )

S K

 

 

cadr(x)

x

 

S-?

(X Y) (() (A B C)) ()

 

λ- ,

 

" g(x,y,z)>0 1 0" Scheme

(IF (> (G X Y Z) 0) 1 0)

 

" x>0 1 0" Scheme

(IF (> X 0) 1 0)

 

, s.

(s) ={ f(s, 0) f=λ(x,y) null(x) y f(cdr(x),y +1) }

 

λ- ׸

 

I

I a → a

 

eq

 

,

 

Scheme , S- X ?

(NOT (PAIR? X))

 

, s, x.

(s,x) = null(s) 0 (cdr(s),x) +( eq(car(s),x) 1 0)

 

(X x YZ) x X → (YZ)

g(f,a)=λ(x) f(a,x)

,

 

Y

Y a → a (Y a)

 

('(1 2 3), (5)), (n) = λ(z) z+n?

(6 7 8)

 

,

cdr

 

:

(.. , )

 

Scheme , X Y ?

(NOT (= X Y))

 

, ,

 

, ,

LISP Haskell Scheme

" f(x,y)>0 1 0" Scheme

(IF (> (F X Y) 0) 1 0)

 



<== | ==>
15: 1. . 2. . | .
:


: 2016-12-18; !; : 863 |


:

:

- , 20 40 . - .
==> ...

1642 - | 1594 -


© 2015-2024 lektsii.org - -

: 0.009 .