(setq zero (lambda (s z) z))
(setq one (lambda (s z) (funcall s z) ))
(setq two (lambda (s z) (funcall s (funcall s z) )))
(setq three (lambda (s z) (funcall s (funcall s (funcall s z) ))))
(setq four (lambda (s z)(funcall s (funcall s (funcall s (funcall s z) )))))
(setq five (lambda (s z)(funcall s (funcall s (funcall s (funcall s (funcall s z) ))))))
(defun chenbing (value)
(list 'chenbing value)
(funcall one 'chenbing nil)
(funcall two 'chenbing nil)
(funcall three 'chenbing nil)
(defun myif (con then else)
(funcall con then else)
(defun true (u v)
u(defun false (u v)
v(defun wrap (f)
(lambda (n)
(cons 'false (myif (car n) (cdr n) (funcall f (cdr n) ) ) )
(defun subone (n)
(lambda (s z)
(cdr (funcall n (wrap s ) (cons 'true z) ))
(setq test (subone five) )
(funcall test 'chenbing nil)
(defun iszero (n)
(funcall n (lambda(x) 'false) 'true)
(defun addone (n)
(lambda (f x)
(funcall f (funcall n f x) )
(defun add (m n)
(funcall m addone n)
(setq result (add four five) )
(funcall result 'chenbing nil)
(defun sum (n)
(myif (iszero n) one (add n (sum (subone n) ) ) )
(defun sum (n)
(myif (iszero n) one (sum (subone n) ) )
(defun sum (n)
(myif (iszero n) one (addone (sum (subone n) ) ) )
(setq result (sum zero) )
(funcall result 'chenbing nil)
(setq result (sum one) )
(funcall result 'chenbing nil)
(setq result (sum two) )
(funcall result 'chenbing nil)
(setq result (sum three) )
(funcall result 'chenbing nil)
(setq result (sum four) )
(funcall result 'chenbing nil)
(setq result (sum five) )
(funcall result 'chenbing nil)
基於MapReduce的關係代數運算 2
1 自然連線 map函式 對於r中的每個元組 a,b 生成鍵值對 b,r,a 對於s中的每個元組 b,c 生成鍵值對 b,s,c 即與b關聯的元組列表由來自r和s中的具有共同b值的元組組合而成 2 分組和聚合運算 map函式 對每個元組 a,b,c 生成鍵值對 a,b reduce函式 每個鍵a代表...
關係代數運算
五種基本關係代數運算 集合 某些指定的物件集在一起就成了乙個集合,其中每乙個物件叫元素。集合的三特性 確定性 互異性 無序性。1 確定性 指的是概念清晰,物件描述明確,不能含混不清 不能模稜兩可。2 互異性 對於乙個給定的集合,它的任何兩個元素都是不同的。3 無序性 給定的乙個集合,集合內的元素間位...
關係代數運算除
1.關係運算的分類 1 基本運算操作 並 差 笛卡爾積 投影和選擇。2 組合運算操作 交 聯接 自然聯接和除。另外,還有幾種擴充的關係代數操作 外聯接 左外聯接和右外聯接 外部並和半聯接。2.除法定義的理解 設兩個關係r和s的元數分別為r和s r s 0 那麼r s是乙個 r s 元的元組的集合。r...