Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
12
Task/Metaprogramming/Ol/metaprogramming-1.ol
Normal file
12
Task/Metaprogramming/Ol/metaprogramming-1.ol
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
(define-syntax define
|
||||
(syntax-rules (lambda) ;λ
|
||||
((define ((name . args) . more) . body)
|
||||
(define (name . args) (lambda more . body)))
|
||||
((define (name . args) . body)
|
||||
(setq name (letq (name) ((lambda args . body)) name)))
|
||||
((define name (lambda (var ...) . body))
|
||||
(setq name (letq (name) ((lambda (var ...) . body)) name)))
|
||||
((define name val)
|
||||
(setq name val))
|
||||
((define name a b . c)
|
||||
(define name (begin a b . c)))))
|
||||
3
Task/Metaprogramming/Ol/metaprogramming-2.ol
Normal file
3
Task/Metaprogramming/Ol/metaprogramming-2.ol
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
(define (sum a b) (+ a b))
|
||||
; instead of
|
||||
(setq sum (lambda (a b) (+ a b)))
|
||||
Loading…
Add table
Add a link
Reference in a new issue