> I wonder what are the specific advantages of putting the objects first / making them functions?
There wasn't any specific advantage. I did it because I could and I thought it was an interesting approach. I didn't just want to create Yet-Another-OO-System. I wanted it to be different. Alternatively, I made like 1~2 years ago another object system called Fenrir (you'll find it on my GitHub account). That one is class-based and depends on hash-maps and multimethods. I didn't just want to make the prototype-based version of it. > Hmmmm difficult to stop people using mutable stuff if they are determined enough. But I think the most common use case would be with defrecord - which is immutable just like a regular Clojure map. Regarding mutability: It's true, but it doesn't mean I should make it easy. I'm not religious about FP, but I find it helps me write very clean, simple and reusable code, so I'm kinda biased towards it. Using records would kinda defeat the point of creating an OO system in the first place. Why build an OO system on top of another? However, I get the point that people might want options. I'd still wait until I meet an option that I could believe was really valid. > Hmmm I think that to be useful, a hypothetical library in this space needs to provide all the "standard" functionality that people are likely to want. > Otherwise they will just be forced to reinvent the wheel, which doesn't help anyone..... The library was originally meant to be just something I did "for the lulz" and then forgot about it. If people actually want to take it seriously, then I guess it has perfect sense to extend it. I thought a bit about what you said and think some "sugar" could be added to make it more pleasing to use. HOWEVER, I will make the following disclaimer: As something that came out of my desire to experiment, I will not develop it further to make it more usable to others. If anything, I'm going to stretch and twist it as far as reason allows me to see "what can be done", more than "what needs to/should be done". In other words: it is an experiment, first and foremost. Anybody comfortable with this can hop in, but I need to provide the disclaimer so nobody gets the wrong idea. -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.