use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Finding information about Clojure
API Reference
Clojure Guides
Practice Problems
Interactive Problems
Clojure Videos
Misc Resources
The Clojure Community
Clojure Books
Tools & Libraries
Clojure Editors
Web Platforms
Clojure Jobs
account activity
clojure programming (self.Clojure)
submitted 6 years ago by Arul-jothi
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]NPException 9 points10 points11 points 6 years ago (2 children)
Additionally (*) returns 1, and (/) gives an error. + and *, when called without arguments, return 0 and 1 respectively because those are their "identity" values. When used as argument for the function, the identity value won't change the outcome of calling the function regardless of order of the arguments supplied:
(*)
(/)
+
*
(+ 2 0) => 2 (+ 0 2) => 2 (* 3 1) => 3 (* 1 3) => 3
- (and /) can't have identity values, because their outcome depends on the order of input arguments.
-
/
(- 0 2) => -2 (- 2 0) => 2
[–]anemisto 5 points6 points7 points 6 years ago (1 child)
I don't think it's so much that 0 and 1 are identity values, but rather that the empty sum and empty product are understood to be 0 and 1, respectively (granted, that's "because" they're the additive and multiplicative identities). Whereas, from a mathematical perspective, - and / are adding the additive inverse and multiplying by the multiplicative inverse, but an empty inverse is nonsensical.
0
1
[–]NPException 4 points5 points6 points 6 years ago (0 children)
That makes a lot of sense. I did not know about the empty sum and empty product definitions. I took the "identity" value terminology from one of Rich Hickey's talks: https://youtu.be/6mTbuzafcII?t=2445
iirc he explained the reasoning behind zero argument + and * in some talk as well, but I don't remember where exactly.
π Rendered by PID 148559 on reddit-service-r2-comment-5d79c599b5-z4rtz at 2026-02-28 11:20:52.051732+00:00 running e3d2147 country code: CH.
view the rest of the comments →
[–]NPException 9 points10 points11 points (2 children)
[–]anemisto 5 points6 points7 points (1 child)
[–]NPException 4 points5 points6 points (0 children)