On Feb 21, 2009, at 4:14 PM, Shiro Kawai wrote: > > But there are somewhat conventional, or historical, distinctions.
Only because hand writing has been around a lot longer than printing presses. And there are conventions about italics, for example. Would you argue that an italic type face would make the symbol distinct? I certainly would not, and anyone who reads text regularly would think anyone who thought that nuts. > Most coded character set draws a line between characters and glyphs. > Because we need to, even if the exact placement of the line is > arbitrary, right? It is arbitrary, and hence there is no reason to conform to what many other programming languages have done, when English is not that way, nor are the two most commonly used file systems. It is case sensitivity that is the exception in life at large, rather than the rule. I'd rather conform to what ordinary people are used to than what to programmers in other languages are used. > I thought we were talking where to draw a line in a continuous > spectrum, > considering technical merits and disadvantages of various choices. If RSR6 had been inventing a language from scratch, they could have made an arbitrary choice. I might have liked it or disliked it, but I wasn't involved, so it was their right. But it is called 'Scheme', and that means a tradition worth preserving. Case insensitivity is part of that tradition, and, in my eyes, the better non-conformist choice (when restricting ourselves to the universe of programming languages). It's not as if Scheme conforms in most other ways: - prefix notation with parentheses in precise positions (not optional, nor can redundant ones added) - types associated with the contents of variables, and not with the variables - function calls and recursion as the primary control constructs - etc. Conforming in this way seems pointless, and, again, it conforms in ways that programmers in other programming languages expect, not in ways that ordinary users expect. > >>>> And #!case-fold and #!no-case-fold is just punting the issue. >>>> Now, I have to search for those if I want to read a piece of >>>> code and >>>> not be >>>> confused. >>> >>> Have you ever encountered such code in practice, instead of >>> contrived examples? >> >> I have not used R6RS, so no. But that's one reason no to. > > Since we don't need to choose one or the other now, how about > giving it a try? Giving case sensitivity a try? Sorry, but I do that all the time by programming in other languages. I don't like it there any more than I do in Scheme. As I said earlier, almost every project that I'm involved with starts by outlawing differences based on case even if the language allows it. With good reason. Hence, in what way is the language case sensitivity helping me? > I've worked on both case-sensitive and > insensitive Lisp/Scheme, and haven't been confused to read a > piece of code. The only difficulty arised when porting a code > from one to the other carelessly. But that could have been > solved easily by #!case-fold etc. You may be better at that sort of stuff than I am. > > On the other hand, I've got some headaches working on DSL in > Lisp/Scheme that interacts with case-sensitive world, when > the implementation is case-insensitive. I am puzzled about that one. Are you trying to embed the DSLs in Scheme? Don't the many other aspects of Scheme such as the parenthesis-based prefix syntax already cause you much more grief? If you ask random people (even other programmers), they'll object far more to the surface syntax (no cancer of the semi-colon) than to case sensitivity, I bet. _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
