Subject: Re: ACL 6.0 Trial Edition ships with non ANSI reader behavior. From: Erik Naggum <erik@naggum.net> Date: 2000/11/07 Newsgroups: comp.lang.lisp Message-ID: <3182576265131590@naggum.net> * John Foderaro <jkf@unspamx.franz.com> | There's no question that ACL can run in Modern mode with | readtable-case and *print-case* active. Then why do you destroy that functionality in "Modern" mode by default? This is so irrational of you that I can no longer give you the benefit of the doubt as to your motives. | On thing that's missing from your code is how to deal with fasl | files. This may come as a shock to you, but symbol interning in fasl loading has nothing whatsoever to do with readtables. I carefully did _not_ change the values of the variables *current-case-mode* and *current-case-mode-number* because those hold important information for the fasl writer and reader, namely the preferred case of symbols. I fully recognize that you need to know that. If readtable-case is not a problem in :case-insensitive-upper, it cannot possibly be a problem in :case-insensitive-lower, either. I'm insulted by your implication that _I_ am carelessly breaking your already broken code. There is nothing "missing" from my code, John. Quit the goddamn FUD propaganda, will you? I think I know your agenda, now: Destroy ANSI Common Lisp, by creating distrust in your own implementation of it. This can _only_ backfire, John. There are no references to *forced-readtable-case-raw* in the fasl reader or writer, just for your information. You could have checked that sooner than I could, and before you made your bogus "argument". What the hell do you think you're going to accomplish with all this nonsensical bullshit? What are you _trying_ to accomplish? | If readtable-case is active then you have to somehow encode that in | the fasl files and let the fasl reader know about the current | setting so it will do the right thing before interning symbols. This is so mind-bogglingly out of focus I can't imagine that you actually believe this nonsense yourself. The fasl reader needs to know whether the symbols are to be stored in lower-case or upper-case. That has absofuckinglutely nothing to do with the readtable-case! At least get your facts right before your propaganda machine runs _completely_ amok, will you? Damn it, I think you're working hard to obfuscate the issues so much it is no longer possible to identify you as the culprit. | As I've said my goal is to be able to load ANSI code into a Modern | lisp and make it run with minimal porting effort and change to the | code. Then why do you destroy standard functionality? Why do you force people to find *force-readtable-case-raw* and if they want standard behavior? Why do you at all _believe_ that code written with the tacit or explicit assumption that internal symbol case is upper-case will work when the internal symbol case is lower-case? None of this makes any _sense_, John. | This will encourage people to use Modern mode (or maybe I should say | that it will not discourage them from using Modern mode). The real | test as to whether making readtable-case active in Modern mode is a | good idea is whether it impacts the importing of ANSI code. I hope people are soundly discouraged from using "Modern" mode. Why do you have to engage in FUD propaganda against readtable-case? If people are using readtable-case, your destruction of its defined functionality would have impacted people severely, as it impacted me severely. I still don't think you fully appreciate what this means. I think you are still supermyopically focusing on your own needs and basically saying "screw you" to everyone who does not share them. By re-enabling readtable-case, people get what they specify that they want. You had to destroy the functionality of readtable-case because you wanted to lie about the internal case of symbol names. It's that lying that you should be severely punished for, because you are thereby doing the Common Lisp community a major disservice. | I have no emotional attachment to the way things are currently done. | It's just a program after all. There are procedures for effecting | changes in programs. I'm asking for an adjustment in your attitude towards the standard, from utter disrespect and disregard to respect and appreciation that it is a _baseline_, not something we take polls to see if you need to implement or not. A faithful implementation of the standard means that people don't have to test for compliance all the time, which you force them into doing by signalling that Franz Inc only implements tha parts of the standard that people ask for in polls. I have been critical of Franz Inc's conformance track record for years, but I thought we had made some progress over those years, too. You're showing me that there has been no progress at all. That is very, very disappointing and annoying, and I'm pissed as hell with you for destroying the trust I thought I was building towards you in particular and Franz Inc in general to actually deliver what I want, a conforming ANSI Common Lisp implementation. I _don't_ want "John Foderaro's special hacks Lisp du jour", and I _don't_ want to have to drum up public support for features in the standard that I would like to use before you implement them right. Netiher do I want to test _everything_ to see if you have done the basic features right. I want to _trust_ the baseline so it can in fact work like a baseline. However, as long as you think you are doing everything right and do not listen to criticism, we shall have no reason to trust Franz Inc even to _strive_ to produce a conforming Common Lisp implementation and it is an _accident_ if it is, because you really want to be making a different kind of Lisp. From all the assurances I have received from other people at Franz Inc, I thought this period of distrust was over, but you're doing a marvelous job of destroying that trust, too, John. What's the next thing you don't like in the standard that you're going to break for us, huh? The main reason I still distrust CLISP is that its main author is a snotty bastard who thinks he knows much better than me what I want from a Common Lisp system, specifically that I _don't_ want a fully conforming system. That's not only wrong, it means that I have no idea what he has and has not implemented to that specification, what he considers that he knows better and has done _differently_ just for kicks, etc. as soon as I found out that he had a real agenda against the standard, I stopped using CLISP completely. I don't know the story on the newer CLISP, as I have a hard time re-trusting people. Now, that was no big loss at the time, but dropping Allegro CL because you are working hard to destroy three yaers' worth of work to build trust in your conformance to the standard would have a serious impact on my work at this time. I'd rather not be forced into making that decision, but it is clear that we need to work on taming your personal animosity towards the standard so you do not cause random malfunction and disregard of defined smenatics, or some sort of "elective implementation" because polling people about feature X did not reach high enough numbers to cause you to implement it correctly. I'm not sure whether you take these things seriously at all, John, but if you continue with your agenda against the standard, you will cause serious problems for Franz Inc. Breaking readtable-case in "Modern" mode was one of those staggeringly stupid moves that you should have thought very carefully about before making. There's time to undo the damage, but the more you insist, the more work it will take to believe you won't destroy something else the next time. #:Erik -- Does anyone remember where I parked Air Force One? -- George W. Bush