Good question! I can't decide as well. I want to know how people think
about it.

In a lazy language, a variable is a 0-ary thunk, while a predicate is a
1-ary thunk. Since they are really just special case of a general thing,
it make sense to use foo? for both cases. But we all know guile is not
lazy, so I really don't know what to do.

Christopher Allan Webber <cweb...@dustycloud.org> writes:

> Hello everyone!  Here's a little bikeshed for us to paint.
>
> I've noticed that it's common in Guile modules to use "foo?" for
> variable names involving booleans.  It's tempting, because this looks
> an awful lot like you're asking a question... and it's also common
> for this even to be keyword arguments to procedures, etc.
>
> But is it a good idea?  I thought "foo?" was supposed to be for
> predicates, as a nicer version of the "foo-p" predicate convention in
> other non-scheme lisps.  I can't imagine other lisps doing "foo-p" for
> just variables with boolean values.
>
> On the other hand, once you start adding ? to the end of boolean'y
> things, it *does* become tempting to put them at the end of boolean
> variables and arguments.  It looks pretty nice.
>
> What do people think?  I'm struggling with deciding what's the right
> thing for my own code, but leaning towards "we shouldn't use the ?
> suffix for just boolean values".
>
>  - Chris

Attachment: signature.asc
Description: PGP signature

Reply via email to