I don't know of any *Function global, but hey, it's lisp ;) you can do your
own 'de' like this, with a docstring clojure-style (after args)

(de de+ Rest
  (let ((@Name @Args Doc . @Body) Rest)                  (macro (de @Name
@Args ~'@Body))                     (put @Name 'Doc Doc)
             Name))

Maybe Alex has something more to add

Regards,
Davide

On Tue, Apr 20, 2021, 04:45 polifemo <brunofrancosala...@gmail.com> wrote:

> Inspired by the way methods are defined, by just defining them and looking
> which class a method belongs to by looking into the global variable *Class,
> I'd like to have a similar mechanism for creating docstrings.
>
> My idea is something like this:
> ```
> (de f (A) A)
> (mkdocstr "A test function that returns its argument evaluated")
> ```
>
> where mkdocstr is defined like this:
> ```
> (de mkdocstr (Docstr)
>    (put *Function 'docstr Docstr) )
> ```
>
> This, of course, requires some global variable *Function that saves the
> last symbol defined by 'de. Is there such a variable? Or is there a way to
> change 'de to write to that variable?
>

Reply via email to