Re: Last call for comments on SRFI 172: Two Safer Subsets of R7RS
Marc Nieper-WiÃkirchen 02 Sep 2019 09:09 UTC
Am Mo., 2. Sept. 2019 um 10:57 Uhr schrieb Lassi Kortela <xxxxxx@lassi.io>:
>
> > 2) If a Scheme system supports reader macros (e.g. Racket), the `read'
> > procedure should be considered unsafe; thus, it may be best to remove
> > it from (srfi 172) and (srfi 172 functional).
>
> Would it be possible to mandate that the SRFI 172 environment provide a
> version of `read` using standard syntax with no extensions?
The same should probably hold for all other potentially dangerous
procedures. This can work if my point 1) is incorporated into SRFI
172.
However, it will mean that SRFI 172 cannot have a portable implementation.
>
> What about custom writers for user-defined data types? Common Lisp lets
> users specialize the `print-object` method for their own types; some
> Scheme probably has something similar, or will eventually.
>
> Is `read` useful in the environment? `write` probably is, but could we
> make do with just `write-char`, `write-string`, `write-u8` and
> `write-bytevector`? There's `number->string` and `symbol->string` for
> the most frequently needed conversions.
The difference to `read' seems to be that the code evaluated under
SRFI 172 cannot easily register custom writers.
-- Marc