تفاوت بین clojure و clojure-script

clojure
clojurescript

#1

من دارم یه اپ میسازم با clojure-script و توی یه ترمینال دیگه یه lein repl ران کردم و هرچی بخوام اونجا تست میکنم.
الآن به یه چیز عجیب برخوردم. یه چیزی که توی clojure بدون مشکل اجرا میشه، توی clojure-script ارور میده.

user=> (map empty (range 9))
(nil nil nil nil nil nil nil nil nil)

و توی تستهای دیگه هم دیدم هرجایی که چیزی بجز وکتور، مپ یا لیست به تابع empty بدیم، تقریبا همین ارور رو نشون میده.
مثلا این موارد:

(empty \a)
(empty 5)
(empty "hello")
(empty :world)

درصورتی که در clojure خروجی nii برمیگرده.


آیا این یه باگ توی clojure-script به حساب میاد؟
چون اصولا باید clojure و clojure-script مثل هم عمل کنن بجز مواردی که مربوط به استفاده از امکانات زبان میزبانشون میشه.
آیا تفاوت دیگه هم وجود داره در اجرای کد؟


#2

اول از همه اینکه این کلوژرسکریپت هدفش اینه که تا جایی که می شه به کلوژر نزدیک باشه اما خوب ۱۰۰٪ نمی شه. در مورد این فانکشن هم این می شه گفت یه باگ هست. طی صحبت کوتاهی که داشتیم david گفت که جزء کارهایی هست که باید انجام شه.


#3

مرسی.
پس اگه بازهم با موارد مشابه مواجه شدم میتونم تو ریپازیتوریش issue بزنم.


#4

ساختار توسعه کلوژر متفاوت هست. و ریپوی گیت هاب یه میرور بیشتر نیست و issue tracker مجزا دارن