[racket] Exploratory programming?
Yes, using DrRacket it's really really easy to interface with help, explore
libraries, etc., at least as far as I have found for my humble needs. It
uses racket/doc/search/search-context.html.
On Tue, Nov 30, 2010 at 10:55, Richard Lawrence <
richard.lawrence at berkeley.edu> wrote:
> Dear Racketeers:
>
> Apologies in advance for what will probably be a long-winded newbie
> question. I'm wondering how one goes about "exploring" the Racket
> libraries. That is, how does one find out things like:
>
> 1. which modules are likely to contain functions useful for a particular
> task
> 2. what names a given module exports
> 3. more information about the objects exported by a module: e.g.,
> brief descriptions, their types, what methods they respond to, ...
>
> Here's some background. Most of the programming I have done is in
> Python. One of my favorite features in Python is that
>
> >>> help(X)
>
> gives useful information for just about any object X. This is great for
> exploring modules, learning about the methods and member variables of
> classes, and finding out what functions do; it's an important
> "bottom-up" tool for exploring the language and libraries. In Python, I
> can often think, "I need something similar to, but not quite the same
> as, X; X is defined in module M; so let's do help(M) to see if M has the
> function I want." Often, I can tell at a glance over the docstrings that
> the thing I need -- or something related to it -- is there. (This kind
> of "bottom-up" exploration is complemented by the documentation for the
> Python standard library, which provides a nice "top-down" reference.)
>
> I know that REPL-based interaction is de-emphasized in Racket. Does
> that mean that the kind of "bottom-up" exploration of the language that
> I'm describing is de-emphasized as well? Should the documentation be
> the first (only?) place I go to learn about modules and their contents?
> If so, what's the best way to access and search the documentation while
> programming?
>
> Please understand that I'm not ragging on Racket's documentation here;
> the documentation is truly excellent. I guess one way of asking my
> question might be this. I tend to think of the documentation as
> something I must sit down and read for a while, partly because the
> examples are often extended and build on each other, and partly because
> of the psychology of jumping out of Emacs into a browser.[1] Is there a
> different way of using and thinking about them? In particular, is there
> a way of using them that corresponds to the uses of help() in Python?
>
> Thanks for your thoughts!
>
> Best,
> Richard
>
>
> [1] I have so far mostly stayed away from DrRacket, because I know Emacs
> well and haven't felt the desire or need so far to learn another
> environment. Is that my problem? Does DrRacket support the kind of
> bottom-up exploration in the documentation that I'm trying to describe?
>
> _________________________________________________
> For list-related administrative tasks:
> http://lists.racket-lang.org/listinfo/users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20101130/83e815e3/attachment.html>