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

IF-IMPLEMENTS restricted to top-level?

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