At Tue, 23 Apr 2019 10:42:39 +0200, "'Paulo Matos' via Racket Developers" wrote: > On 21/04/2019 17:44, Matthew Flatt wrote: > > The makefiles at https://github.com/racket/racket used to pull > > ChezScheme from https://github.com/mflatt/ChezScheme, but I've switched > > that to https://github.com/racket/ChezScheme (because it appears that > > Racket-specific patches will be need for a long time). > > Did you truly mean 'long' here or 'longer'?
I'll stick with "long". > Could you please expand what sort of patches cannot be easily upstreamed > to Chez? Some open pull requests at https://github.com/cisco/ChezScheme/pull/: #190 - ordered guardians 7/2017 #192 - cptypes 7/2017 - 7/2018 #237 - procedure wrappers 12/2017 #254 - avoid some recompiles 1/2018 #296 & #377 - values enforced 5/2018 - 12/2018 #335 - memory debugging 7/2018 #336 - continuation marks 7/2018 #375 - fasl read repair 12/2018 #376 - vfasl 12/2018 #378 - memory accounting 1/2019 The oldest one, #190, hasn't been merged because it's a significant change to the GC, and it requires some duplication of information within the implementation: an extra dispatch on various shapes of data. This sort of problem might be resolved (in a way that appeals to the Chez Scheme maintainers) by generating the GC's code from a centralized description of object shapes/traversals, and that would also help with #335 and #376. More generally, #190, #237, #376, and #378 solve problems that are important to Racket, but not to Chez Scheme users generally, and so the code--benefit tradeoff is not motivating to the Chez Scheme maintainers. #192 (Gustavo's work) is similar, but on its own scale. It's much more code, but the potential benefit to Chez Scheme users is also much greater. My guess is that this one gets merged before any of the others. #266, #377, and #336 are about continuation marks and related semantic choices. The Chez Scheme maintainers are unconvinced of the value of continuation marks and constraining the compiler to sometimes preserve non-tailness. #375 seems like a straightforward improvement to me, so ¯\_(ツ)_/¯. #254 and #335 not exactly Racket-specific, but maybe others would approach the motivating problems differently than I have. There are another dozen or so small patches that I haven't turned into PRs because they tend to be even more Racket-specific. It doesn't make sense to pile those on. To be clear, the Chez Scheme maintainers have been quick to merge changes that more obviously benefit all Chez Scheme users. A recent example is the addition of LZ4 compression as an alternative to zlib; that was a relatively invasive change to the build and a pile of new glue code, but it was refined and merged quickly and has since been improved. Matthew -- You received this message because you are subscribed to the Google Groups "Racket Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/5cbf12d5.1c69fb81.27372.531fSMTPIN_ADDED_MISSING%40gmr-mx.google.com. For more options, visit https://groups.google.com/d/optout.
