[racket-dev] Proposal for a "no-argument"

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Mon Jul 2 13:42:15 EDT 2012

At Mon, 2 Jul 2012 12:14:02 -0400, Asumu Takikawa wrote:
> The gensym thing is used in parts of the GUI code for initialization
> arguments, e.g.:
>  (class* mred% (area<%>)
>    (init mk-wx get-wx-pan get-outer-wx-pan mismatches prnt
>          [min-width no-val]
>          [min-height no-val]
>          [stretchable-width no-val]
>          [stretchable-height no-val])
>    ...)
> Where `no-val` has been defined with a gensym.  So it'd be nice to have
> the distinguished `no-argument` for these cases too.

In those cases, `no-val' is just an internal implementation technique,
and not intended as a part of the API.

In the case of `min-height' and `min-width', I think it would be better
to allow `#f' as an argument, since the documented default value is not
really accessible.

Posted on the dev mailing list.