[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-users] docstrings
From: |
felix |
Subject: |
[Chicken-users] docstrings |
Date: |
Wed, 14 Aug 2002 09:17:51 +0200 |
> I'm also interested in getting docstrings into Chicken somehow. How
> tricky do you think that might be, Felix?
>
> (define (myfunction foo bar)
> "Returns the result of mapping blorch over foo, followed by appending
bar"
> ...)
>
> Combine that with an interation protocol for enumerating all the symbols
> in the symbol table, (even (*all-symbols*) returning a list might be
> good enough) and we could have both online and autogenerated offline
> documentation...
Sounds good. There are two ways to handle this: a separate data-structure
mapping procedures to docstrings, or putting the docstring right into
the closure object. The former way is tricky, because we don't have
weak hash-tables (and finalizers aren't an option, there would be too
many of them), the latter should not collide with `extend-procedure'.
Well, actually this should be done differently: `extend-procedure'
adds an extra-slot to a closure object and one accesses the data
directly from this slot. But perhaps the slot should contain an a-list.
Then we can add arbitrary data to any closure object and
(lambda () "foo" ...)
would expand into something like
(let ([p (lambda () ...)])
(extend-procedure p 'docstring "foo") )
>
> >>> (documentation car)
> "Returns the car of the pair passed in as an argument."
> >>> (documentation (lambda () 'dummy))
> #f
> >>> (documentation (lambda () "hi"))
> #f
> >>> (documentation (lambda () "hi" "there"))
> "hi"
> >>> (documentation-parameters with-exception-handler)
> (new-handler body-thunk)
It has to be seen how much extra storage is needed, but we can make this
optional, anyway (Say, using a parameter "(enable-procedure-information
[BOOL])")
cheers,
felix
- Re: [Chicken-users] ideas, (continued)
- Re: [Chicken-users] ideas, Perry E. Metzger, 2002/08/13
- Re: [Chicken-users] ideas, felix, 2002/08/13
- Re: [Chicken-users] ideas, Peter Keller, 2002/08/13
- Re: [Chicken-users] ideas, Tony Garnock-Jones, 2002/08/13
- Re: [Chicken-users] ideas, Peter Keller, 2002/08/13
- Re: [Chicken-users] ideas, Peter Keller, 2002/08/13
- Re: [Chicken-users] ideas, Perry E. Metzger, 2002/08/13
- Re: [Chicken-users] ideas, Peter Keller, 2002/08/13
- Re: [Chicken-users] ideas, Perry E. Metzger, 2002/08/13
- Re: [Chicken-users] ideas, Peter Keller, 2002/08/13
- [Chicken-users] docstrings,
felix <=
- Re: [Chicken-users] docstrings, Perry E. Metzger, 2002/08/14
- Re: [Chicken-users] docstrings, tonyg, 2002/08/14
- Re: [Chicken-users] docstrings, Anthony Carrico, 2002/08/14
- Re: [Chicken-users] docstrings, felix, 2002/08/14
- Re: [Chicken-users] docstrings, Anthony Carrico, 2002/08/14
- Re: [Chicken-users] ideas, Perry E. Metzger, 2002/08/13
- Re: [Chicken-users] ideas, Panagiotis Vossos, 2002/08/14
- Re: [Chicken-users] ideas, Tony Garnock-Jones, 2002/08/14
- Re: [Chicken-users] ideas, Perry E. Metzger, 2002/08/14
- Re: [Chicken-users] ideas, Peter Keller, 2002/08/14