May 2015 Meeting Notes

Jonathan Bond-Caron jbondc at gdesolutions.com
Tue Jun 30 14:26:57 UTC 2015


On Tue Jun 30 09:55 AM, Andreas Rossberg wrote:
> 	typeof ColorType1 // "Color:s1" // where s1...sN is a generated increment/key for a new user symbol
> 	typeof ColorType2 // "Color:s2"
> 	typeof ColorType3 // "Other:s3"
> 	typeof ColorType4 // "s4"
> 
> A seemingly predictable name is a rather bad idea, because it would be very brittle, e.g., depend on other libraries loaded, or even loading order. It's better to have clearly non-deterministic
> (e.g. gensym) than something that pretends to be deterministic but isn't in practice.
> 
> In fact, it might be best if typeof returned the symbol itself. At least that cleanly matches the generative nature of the type definition. If you want it to work cross-realm, you have to broker
> the symbol as usual.
> 

Can you explain how 'gensym' would be different? Google tells me:
https://clojuredocs.org/clojure.core/gensym
https://github.com/clojure/clojure/blob/clojure-1.5.1/src/jvm/clojure/lang/RT.java#L468

Internally I'd imagine you can represent it however you want (comparing an object pointer vs. a string), I see this more as a user-facing/illusion of simplicity thing.

But anyways, understand that the intuitive thing doesn't always work out.



More information about the es-discuss mailing list