Re: Examples of the proposed #? notation
Lassi Kortela 10 Dec 2022 14:07 UTC
> The following contain non-Scheme character sequences:
Those are valid syntax in the respective Scheme implementations.
> In short, I think this is an exercise in futility. Standardize the
> behavior of R7RS systems when reading "#<", require that unreadable
> objects be output starting with "#<" and ending with ">" (and wrapped in
> quotes, if you really care so much), and leave it at that.
I agree that using #< for any other purpose would be counterproductive
at this point.
I'm less sure about #?.
I wish we could redefine the usage of #< to be cleaner. None of the
examples use #<( or #<" so I guess we could use those for new syntax.
One more possibility is to omit the closing > bracket:
#<(input/output port stdin/out)
#<(procedure (tween#quadratic-ease direction123 percent124))
This looks kinda weird, but perhaps not too weird. And without having to
match the closing >, parsing is nicer, especially when nesting it.
I thought the MIT Scheme #[...] solution is clever since [...] are
ordinary list syntax in some Scheme implementations (and in R6RS), but
this is not so in MIT Scheme.
In general, the use of different kinds of brackets in Scheme seems to
cause more problems than it solves IMHO.