From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Fri, 28 Apr 1995 12:04:48 -0400 From: rob@plan9.att.com rob@plan9.att.com Subject: remote device access Topicbox-Message-UUID: 0e49cba2-eac8-11e9-9e20-41e7f4b1d025 Message-ID: <19950428160448.GD62DRYEba-H1aScGWA7tucbWFU7G8z1FpC-pZwwdGM@z> getting rid of the '#c' stuff is only hard because it's a widely used convention. the notation was invented as an expedient way to address drivers before the name space was established, a function it serves well. it was never claimed to be clean or elegant. other ways may be cleaner or more elegant, but i think /driver/c or some such is neither. this is a syntactic fudge that pretends to hide the real problem, which is that there is no name space at the dawn of time. pretending to have one by introducing such a notation tells a lie. looking at it one way, who walks these names? if you access them by walk at all, you have a name space and you've reduced down to a previously unsolved problem. if you have another access mechanism, well, you have another access mechanism and it will not generalize. when a mechanism doesn't generalize, i prefer the notation to be distinct. when what's going on is fundamentally nasty, it is polite to say so; hence #c. on the other hand, if one were to attach all drivers to the name space automatically, avoiding the need for a (public, at least) #c, building up /driver or /dev or whatever, one would go against the grain of plan 9, where what is in the name space is what is needed rather than all that's available. besides, this latter form implies an attach has been done, a semantically heavy operation best left until the driver is really needed.