[TUHS] Archaic yacc C grammar

Larry McVoy lm at mcvoy.com
Wed Oct 31 10:58:00 AEST 2018


I'm coming into this late (and tired, been working on my water system
and the carbs on my boat all day) but I *loved* the single namespace
for all structure fields.

Instead of 

	p->size

we have

	p->st_size

and I instantly know that p is a struct stat pointer.  

I get that it doesn't scale but man, oh man, do I love the early Unix
data structures that had one namespace.  I kinda wish you hadn't fixed
that Steve.

What was the push that made you fix it?

On Tue, Oct 30, 2018 at 03:01:55PM -0700, Steve Johnson wrote:
> The closest I came was when we went from a single namespace for all
> structure names to a namespace for each structure, and references that
> were checked using the pointer type of the structure pointer.
> My code was a nightmare, and some of the old Unix code was at least a
> bad dream.???? I had to start out pretending to have a single
> namespace, but when I saw the use of an actual structure pointer I had
> 
> 
> to do it the new way.?? As I recall when I saw something that would
> not have been legal with the old rules (for example, two different
> structures with the same element name but different offsets) then I
> threw
>  the switch and demanded the new way.?? 
> 
> There were certainly system changes that were flash cut.?? For
> example, changing the file system format -- there was no attempt to
> allow both, which meant that the conversion program got one shot to
> get it right.?? And it didn't always manage that...
> 
> Steve
> 
> ----- Original Message -----
> From:
>  david at kdbarto.org
> 
> To:
> "Steve Johnson" <scj at yaccman.com>
> Cc:
> "The Eunuchs Hysterical Society" <tuhs at tuhs.org>
> Sent:
> Mon, 29 Oct 2018 12:02:29 -0700
> Subject:
> Re: [TUHS] Archaic yacc C grammar
> 
> On Oct 29, 2018, at 10:52 AM, Steve Johnson <scj at yaccman.com [1]>
> wrote:
> 
> We actually had a pretty good system for making changes like that.??
> First, we would change
> the compiler to accept both the old and the new.???? Then we would
> produce a warning
> that on a particular date the old would no longer work.?? Then we made
> the old an error
> and printed a message about how to fix it.???? Eventually, we just let
> it be a syntax error.
> This process was applied many times on the way from typeless B to
> strongly typed C.
> 
> Was there ever a time when a change was desired that you couldn???t
> accept both
> the old and the new?
> 
> David
> 
>  
> 
> Links:
> ------
> [1] mailto:scj at yaccman.com
> 

-- 
---
Larry McVoy            	     lm at mcvoy.com             http://www.mcvoy.com/lm 



More information about the TUHS mailing list