From: 643-408-1753@kylheku.com   
      
   On 2025-10-26, Michael S wrote:   
   >> I can't imagine why anyone would write cdecl (if it is written in C)   
   >> such that it's anything but a maximally conforming ISO C program,   
   >> which can be built like this:   
   >>   
   >> make cdecl   
   >>   
   >> without any Makefile present, in a directory in which there is just   
   >> one file: cdecl.c.   
   >>   
   >   
   > You are exaggerating.   
   > There is nothing wrong with multiple files and small nice manually   
      
   Yes, I'm exaggerating; of course I can imagine using more than   
   one file for cdecl.   
      
   I would say that if you need two files to write cdecl, and   
   one of them is not an accurate grammar file for a parser generator   
   (needing to be a spearate file due to being in that notation),   
   which handles things int (*p)(int (*q)(void * const x)),   
   you've massively fucked it up.   
      
   > In that regard autotools resemble Postel's principle - the most harmful   
      
   Postel's principle is awful, requiring paragraphs of apologetic   
   defense to explain what Postel really meant and how it made sense in his   
   context, so that it wasn't actually idiotic.   
      
   Programs should be conservative in what they generate, and loudly reject   
   any input that is out of spec.   
      
   Programs that accept crap are good for business, because naive   
   customers just see that those programs "work" with some input   
   that other programs "don't handle".   
      
   They are harmful to the ecosystem, creating a race for the bottom   
   competition in which specs fall by the wayside while programs struggle   
   to handle buggy inputs, and nobody knows what is correct any more.   
      
   --   
   TXR Programming Language: http://nongnu.org/txr   
   Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal   
   Mastodon: @Kazinator@mstdn.ca   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|