Skip to content

Commit 9d8f63c

Browse files
Cameron CooperCameron Cooper
authored andcommitted
Fix apply, prn, and map
1 parent 75c2bc1 commit 9d8f63c

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/clojure/core.clj

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,16 @@
1111
(list (quote fn) args
1212
(concat (list (quote do)) body))))
1313

14+
15+
";; @TODO Make more like Clojure Proper's apply"
16+
1417
(defn apply [f args]
15-
(lexical-eval (concat (list f) args)))
18+
(lexical-eval
19+
(concat
20+
(list f)
21+
(map
22+
(fn [arg] (list quote arg))
23+
args))))
1624

1725
(defn newline
1826
[]

src/environment.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,7 @@ impl Environment {
358358
environment.insert(Symbol::intern("rand"), rand_fn.to_rc_value());
359359
environment.insert(Symbol::intern("rand-int"), rand_int_fn.to_rc_value());
360360
environment.insert(Symbol::intern("let"), let_macro.to_rc_value());
361+
environment.insert(Symbol::intern("map"), map_fn.to_rc_value());
361362
environment.insert(Symbol::intern("str"), str_fn.to_rc_value());
362363
environment.insert(Symbol::intern("quote"), quote_macro.to_rc_value());
363364
environment.insert(Symbol::intern("def"), def_macro.to_rc_value());

0 commit comments

Comments
 (0)