Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
8
Task/Metaprogramming/Shen/metaprogramming-1.shen
Normal file
8
Task/Metaprogramming/Shen/metaprogramming-1.shen
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
(define make-list
|
||||
[A|D] -> [cons (make-list A) (make-list D)]
|
||||
X -> X)
|
||||
|
||||
(defmacro info-macro
|
||||
[info Exp] -> [output "~A: ~A~%" (make-list Exp) Exp])
|
||||
|
||||
(info (* 5 6)) \\ outputs [* 5 6]: 30
|
||||
7
Task/Metaprogramming/Shen/metaprogramming-2.shen
Normal file
7
Task/Metaprogramming/Shen/metaprogramming-2.shen
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
(0-) (defmacro +-macro
|
||||
[A + B] -> [+ A B])
|
||||
macro
|
||||
+-macro
|
||||
|
||||
(1-) (1 + (* 2 3))
|
||||
7
|
||||
14
Task/Metaprogramming/Shen/metaprogramming-3.shen
Normal file
14
Task/Metaprogramming/Shen/metaprogramming-3.shen
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
(2-) (tc +)
|
||||
true
|
||||
|
||||
(3+) (+ 1 2 3)
|
||||
6 : number
|
||||
|
||||
(4+) +
|
||||
+ : (number --> (number --> number))
|
||||
|
||||
(5-) (tc -)
|
||||
false
|
||||
|
||||
(6-) (macroexpand [+ 1 2 3])
|
||||
[+ 1 [+ 2 3]]
|
||||
Loading…
Add table
Add a link
Reference in a new issue