From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: I request inclusion of SAS Transport Layer and AIC-94xx into the kernel Date: Tue, 4 Oct 2005 00:22:44 +0100 Message-ID: <20051003232244.GZ7992@ftp.linux.org.uk> References: <1128114950.10079.170.camel@bluto.andrew> <433DB5D7.3020806@adaptec.com> <9B90AC8A-A678-4FFE-B42D-796C8D87D65B@neostrada.pl> <4341381D.2060807@adaptec.com> <1128357350.10079.239.camel@bluto.andrew> <43415EC0.1010506@adaptec.com> <1128377075.23932.5.camel@ryan2.internal.autoweb.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from zeniv.linux.org.uk ([195.92.253.2]:25753 "EHLO ZenIV.linux.org.uk") by vger.kernel.org with ESMTP id S932465AbVJCXXB (ORCPT ); Mon, 3 Oct 2005 19:23:01 -0400 Content-Disposition: inline In-Reply-To: Sender: linux-scsi-owner@vger.kernel.org List-Id: linux-scsi@vger.kernel.org To: Linus Torvalds Cc: Ryan Anderson , Tomasz K?oczko , Luben Tuikov , andrew.patterson@hp.com, Marcin Dalecki , "Salyzyn, Mark" , dougg@torque.net, Luben Tuikov , SCSI Mailing List , Linux Kernel Mailing List On Mon, Oct 03, 2005 at 03:56:50PM -0700, Linus Torvalds wrote: > For example, Al Viro pointed out privately that the C preprocessor spec > actually matches what a C preprocessor is supposed to do, and that it was > easy to generate code from the spec. The reason? The code existed first, > the spec was written from that. Writing it back into software "just > works", because the spec really _was_ software to begin with, just > re-written as a spec. Not quite, AFAIK. Existing code was a fscking mess of subtly incompatible implementations; the thing that had helped was simple - the people who would have to implement the damn thing had a lot of presense in the committee. So it boiled down to * observation: attempt to describe it as text transformation leads to horrors; it really acts on token stream; give up treating it like a text filter. * after figuring out what it should do to sequences of tokens they ended up with a reasonably simple algorithm that matched the existing behaviour sans the nasty corner cases everyone handled differently. * _that_ had been turned into spec.