Changes between Initial Version and Version 1 of Dev/lambda


Ignore:
Timestamp:
Nov 28, 2010 9:55:48 PM (13 years ago)
Author:
mitty
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Dev/lambda

    v1 v1  
     1[[PageOutline]] 
     2 
     3 = λ計算に纏わる資料 = 
     4 * wikipetan:ラムダ計算 
     5 
     6 * see [../scheme] 
     7 
     8 = recursion = 
     9 * lambdaを使った無名再帰は可能か? 
     10   * たとえば以下のschemeコード 
     11{{{ 
     12#!scheme 
     13(define (add n) 
     14    (local 
     15        ( 
     16            ;; n-th power of given funtion 
     17            ;;   repeat : func num -> n-th power of func 
     18            (define (repeat f n) 
     19                (cond 
     20                    [(= n 0) (lambda (x) x)] 
     21                    [else 
     22                        (lambda (x) 
     23                            (f  
     24                                ( 
     25                                    (repeat f (- n 1)) 
     26                                    x 
     27                                ) 
     28                            ) 
     29                        ) 
     30                    ] 
     31                ) 
     32            ) 
     33        ) 
     34        (repeat add1 n) 
     35    ) 
     36) 
     37}}} 
     38   * 上記コードにより以下が示される 
     39{{{ 
     40#!scheme 
     41> ((add 4) 10) 
     4214 
     43}}} 
     44   * ここで、local内で定義されているrepeatを無名関数にすることは可能か?