This page is part of the web mail archives of SRFI 0 from before July 7th, 2015. The new archives for SRFI 0 contain all messages, not just those from before July 7th, 2015.
I have a suggestion to restrict IF-IMPLEMENTS to top-level of a <program> thus making it illegal to bury it deep inside program text. This will force programmers to separate system-dependent code by building their own portable abstractions in a form of macros or procedures instead of just patching the program to make it work on a new system. I would like to be able to see all the system dependencies right away, as soon as I open the file; this is why I also prefer longer, easier to spot name like %%if-scheme-system-implements. Top-level is defined recursively: any form within sequence of nested BEGIN, IF-IMPLEMENTS, LET-SYNTAX and LETREC-SYNTAX is also on a top level, so all examples using nested IF-IMPLEMENTS work as intended... BTW, how am I supposed to write IF-IMPLEMENTS to be able to check whether a certain system is case-sensitive? Are both if-implements and IF-IMPLEMENTS ok for this purpose? Sergei Egorov