I posted 2 questions on the guile-user mailing list

This is the first one (any help appreciated)

@abbienormal Disclaimer: I do not know Guile so I may be saying b******t in the next couple of messages. (1/3)

Apparently "help" is a function. In that case "(help NAME)" will evaluate "NAME" to get its value. If name is not bound to a value you will get an error. Thus "(help NAME)" will call the function named "help" on the value of the binding (variable if you prefer) "NAME". If you change the binding of "NAME" you will get different results. (2/3)

@abbienormal The syntax " 'NAME " is a special form that will evaluate to the symbol "NAME", *not* to whatever value may have been bound to "NAME". So "(help 'NAME)" will call the function named "help" on the symbol "NAME".
Symbols are similar to interned strings.

Hope this help. (3/3)

@abbienormal I suspect that the documentation for "(help 'NAME)" would be more correct if it read "even if it does not name an object"


I'm not sure what interned strings are

(help'NAME) works onone thiing only, as far as I can tell: modules

If you call

(help 'some-module)

it will display the doc string for that module

Otherwise it will claim it can't retrieve documenation

Now my question is:

is there a thing that

1) is not a module
2) is not an object
3) has documentation ?

if the answeris no, then the help text shoud say:

(help 'NAME) gives documentation for the module NAME

As it is now, it's misleading

According to the documentation, "(help 'NAME)" should also tell you about functions and property lists bound to that NAME.
I am not saying the help text is clear.

Sign in to participate in the conversation

For people who care about, support, or build Free, Libre, and Open Source Software (FLOSS).