guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: redirected 'help' output?


From: Marius Vollmer
Subject: Re: redirected 'help' output?
Date: 11 Nov 2000 23:48:14 +0100
User-agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.7

Mikael Djurfeldt <address@hidden> writes:

> > What is the reason that help is a macro?
> 
> 1. In Scheme, variables have traditionally been distinct from symbols.
>    (It is only with the recent `eval' that a connection has been
>    made.)  Therefore, when asking for the documentation for a
>    binding, the expression `(help <name>)' seems more natural than
>    `(help '<name>)'.  Since (help <name>) wants to present the user
>    with a list of modules which provide a binding for <name>, help
>    must be a special form.

I see.  So it is for convenience, which is of course a very valid
reason.

I prefer these convenience wrappers to be as thin as possible so that
the programmatic interface is closely related to the convenience
wrapper.  Maybe we can move most of the guts of `help' to `help-doc'
and simply export `help-doc' as well?

> > (It's actually a `syntax', not a macro, which is even worse.)
> 
> Given the current macro system, the special form `help' was most
> easily implemented as an "acro".  Why is this bad?

I find that acros, which can't be macroexpanded to see what they are
doing, are harder to understand than macros or procedures.
Additionally, acros are quite specific to the current evaluator, and
they might cause trouble when switching to some other evaluator.
Ordinary macros should carry over painlessly, while acros probably
pose more problems.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]