Hello, As modest as this could be in the quest of a formal categorization, I find the integrated string pattern search integrated into clojuredev really useful, so I can't resist to do this shameless plug.
You can see it in action, with a search on the word "string", either by searching the word in symbol names or also in symbols functions, at this link : http://code.google.com/p/clojure-dev/wiki/ScreenShots#Namespace_Browser_examples What I think makes it really usefull is that it's fast, compared to going to your browser, launching the API page of the clojure website, and searching for the word string through the entire page. And you have the args and doc string as a tooltip when hovering over a symbol. Of course, if some sort of categorization is done on symbols, maybe via a project that could make a pass on existing symbols and enhance their metadata with lists of Strings, this would be an enhancement interesting to incorporate into an IDE (or even a command-line REPL), for sure ! See you, -- Laurent On 20 jan, 21:42, Mark Volkmann <r.mark.volkm...@gmail.com> wrote: > On Tue, Jan 20, 2009 at 10:09 AM, Mark Addleman > > > > <mark_addle...@bigfoot.com> wrote: > > > I'm a long time Java programmer and, before that, a Smalltalker. One > > of the major biggest challenges I face when picking up a new language > > is getting a working understanding of its libraries. I believe that > > standardizing on a doc format was a pretty important driver for Java's > > success. > > > As I see it, Java has three natural forms that aid a newbie learning > > its libraries: Packages, hierarchies and type declarations. Packages > > and hierarchies give newbies a few good ways of browsing the libraries > > to gain familiarity and, much more importantly, a way of organizing > > all those bits of information in our heads. Type declarations serve > > as a good way of documenting the parameters for methods (e.g. > > parameter one must respond to well-defined set of messages). > > > I'm willing to forgo the documentation benefits of type declarations > > to get back to dynamic typing that I enjoyed with Smalltalk but I'm > > too old to try to read through, memorize and create memes for a new > > library as rich as Clojure's. At the same time, I think there are > > enough limitations to JavaDoc to warrant spending a little time trying > > to come up with a better alternative. > > > I haven't thought my proposal through very well, but here's the idea: > > a multidimensional relational, categorization system similar to the > > tagging system seen on blogs or the WikiBadge (http://c2.com/cgi/wiki? > > WikiBadge) system. The idea goes something like this: Clojure > > functions could be tagged with any user created tag. Tags can be > > related to one another through named relations to provide context. > > For example: > > > Tags: "java interop" "primitive" "array function" > > Relations: "is a" > > > A little prolog-ese: > > is_a(primitive, java_interop) > > is_a(array_function, primitive) > > array_function(areduce) > > > With the appropriate logic, a search for "is_a(?, java_interop)" would > > yield "areduce" > > > I suspect that by applying tags to function arguments and with careful > > definition of relations, a Clojure IDE could perform similarly fancy > > suggestions and refactorings as modern Java IDEs. > > > I'm throwing this out to the group in an effort to jump start some > > real documentation efforts. It would be a tremendous boon to > > Clojure's up-take, I think. > > I completely agree that some form of categorization of core Clojure > functions would be very helpful. For example, which of the hundreds of > core functions perform some operation on a string? I started trying to > categorize them for my own benefit. See the first table > athttp://www.ociweb.com/mark/programming/Clojure.html. This isn't yet > complete. > > Stuart H., I think something like this would make a great appendix in your > book! > > -- > R. Mark Volkmann > Object Computing, Inc. --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---