ada.2: typo
[jackhill/mal.git] / impls / lib / alias-hacks.mal
CommitLineData
d0efab87
CM
1;; aliases for common clojure names to mal builtins
2;; NOTE: this is a hack
e6d41de4 3
d0efab87
CM
4;; Origin: https://github.com/chr15m/frock
5
6; TODO: re-implement as actually useful macros:
7; destructuring, arg checking, etc.
8
9(def! _alias_add_implicit
10 (fn* [special added]
11 (fn* [x & xs]
12 (list special x (cons added xs)))))
13
14(defmacro! let (_alias_add_implicit 'let* 'do))
15(defmacro! when (_alias_add_implicit 'if 'do))
16(defmacro! def (_alias_add_implicit 'def! 'do))
17(defmacro! fn (_alias_add_implicit 'fn* 'do))
18(defmacro! defn (_alias_add_implicit 'def! 'fn))
19
20(def! partial (fn* [pfn & args]
21 (fn* [& args-inner]
22 (apply pfn (concat args args-inner)))))