That clojureatlas is not only useful/interesting, but also very cool!!! Thanks for the pointer, and I hope you will find time to finish the 1.3 ontology "soon".
Wonder if you could enhance your ontology with enough info to generate a graph similar to mine automagically… that could be a nice add-on - kind of an alternative, different view into the clojure space: given a set of entities/types, show graphically the functions that take an instance of one to return another, or create/change another as a side-effect. (if only I could have that special live-moving-turning-bouncy effect in my graph… which looks incredibaly dull now ;-) ) -Frank. On Mar 1, 2012, at 6:04 PM, Chas Emerick wrote: > This looks good. I can sympathize with the concern, and with the process of > developing a way to visualize these relationships. I created this last year, > an experimental interactive visualization of Clojure and its standard library: > > http://www.clojureatlas.com > > Here's a direct guest link focused on `name`, which is a relevant jumping-off > point given your interest here: > > http://www.clojureatlas.com/org.clojure:clojure:1.2.0?guest=Y#clojure.core/name > > (Hint: hold down option/alt while hovering over nodes to get their info > bubbles to show up without clicking on them or their `i` icons.) > > FYI, the Atlas is Clojure 1.2-only still. Now that the book is done, I'm > (finally) getting back to it and am in the process of building out the 1.3 > ontology and reworking the visualization itself a fair bit. > > I hope you find this useful / interesting. > > Cheers, > > - Chas > > On Mar 1, 2012, at 7:14 PM, Frank Siebenlist wrote: > >> It is my experience that the way how these fundamental Clojure entities, >> like Strings, Symbols, Keywords, Vars, NS, and Type/Class, are related, is >> not so easy to figure out. This is not so much about programming Clojure, >> but more about getting a better feel how the language is held together one >> level below. >> >> I've created this graph that visually shows what core-functions will give >> you a var from a symb, a str from a ns, etc.: >> >> "https://github.com/franks42/kitjensink/wiki/Symbs,-Vars,-NSs,-and-such" >> >> It's still work in progress, but compiling the info for this picture was >> already very therapeutic and enlightning. >> >> Any comments or suggestions how to improve are most welcome. >> >> --- >> >> One part that added to my confusion about how these different types are >> related, is the fact that the function signature and documentation is >> sometimes unclear and feels inconsistent. For example, different >> functions/macros let you pass a namespace as a string, a symbol-name, a >> quoted-symbol or a ns-instance, or some (arbitrary) combination. Sometimes a >> "name" refers to a symbol, sometimes a string, both in docs and in >> implementation… I often find myself getting exceptions thrown because I know >> a ns is expected, but I "guessed" wrongly about which type of ns-identifier >> that particular function demanded. >> Is that a common experience? >> Is that "by design"? (not being facetious - sometimes you want to throw >> exceptions if the wrong type is presented, or implementing all possible >> function signatures that would support an ns passed as >> string/symbol/instance simply adds too much additional testing). >> >> Regards, FrankS. >> >> -- >> 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 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 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