|
|
|
|
|
by wingo
4906 days ago
|
|
Sounds like your problem is more that Scheme is too small for the programs you'd like to write. Implementations that are adequate to your needs being incompatible with each other is a natural side effect. The new standard will help marginally, but there will be no grand unification of Schemes. R6RS was big enough for your needs but did not achieve wide adoption. There is no fundamental reason why this would be different for the larger R7RS report (on which work has not yet begun). Indeed, some implementations have already forked with an explicit intention of going on their own paths (Racket). In short, for serious work, you might be able to share modules between implementations if that matters to you, but your overall application will be implementation-specific. FWIW, IMHO, etc... |
|
Racket takes an interesting approach with its scoped dialects. This allows the semblance (and some of the semantics) of separate implementations, while still preserving the interoperability[1].
[1] I have one project which uses libraries written in the base, typed, and lazy dialects all together, without any issue.