[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Scheme-reports] Some comments after reading the r7rs public draft

I think it would be great for there to be a way to give an (optional) hint to the interpreter/compiler to evaluate (delay ) ed expressions in a background thread.  I assume that the lion's share of threading support will be in R7RS-large, but with the trend of rapidly increasing core counts I think that parallelism in some form must be tackled by any serious language at the language level, and not delegated to its standard library.

I don't think record types belong in the core of scheme.  As I understand it the record definitions offer little more than what is traditionally achieved by using a vector as a record, then defining constructors and accessors to operate on that vector.  This seems like an unnecessary intrusion on R7RS-small and I think it is something that can be left to a macro in R7RS-large without any loss of power.

Finally, given that the focus of R7RS seems to be adapting Scheme for production code, and that R7RS-small seems to be the minimal set of additions to R5RS necessary to achieve this, I think the C Foreign Function Interface should standardised in R7RS-small.  It would be a shame if efforts on implementing R7RS-large were divided due to a variety of incompatible FFIs.

In general I am excited by R7RS scheme; Scheme is the cleanest lisp, and the most pleasurable to code in, so it is frustrating that it has not been usable for real projects.  R7RS-large seems set to be solve this and fill the hole left by the increasingly long in the tooth Common Lisp.
Scheme-reports mailing list