Why did father of Clojure say that Scheme's true/false are broken?

后端 未结 3 1648
长发绾君心
长发绾君心 2020-12-14 06:42

In this video, Rich Hickey introduced Clojure for Lisp programmers.

At time 01:10:42, he talked about nil/false/end-of-sequence/\'() among Clojure/Common Lisp/Scheme

3条回答
  •  一个人的身影
    2020-12-14 07:21

    In Scheme any value (apart from #f which is False) can be used as True in a conditional test. More info here.

    Update Forget this answer, since it's the same for Clojure of course. I don't like this implicit truth for all values that are not false, for example in (println (if 1 "true" "false")). Personally I would consider that broken but Rich is probably thinking of something else.

提交回复
热议问题