As a second datapoint, I've created a few modules (not all public, though), 
that I've placed in Public.IO, and my thinking pretty closely aligns with what 
Stephen has indicated: modules for operating with non-software I/O devices. 
Another datapoint from outside Pike: Apple's IOKit is all about device drivers, 
so I think it's not an uncommon line of thought that I/O typically involves a 
software-hardware interface in some way.

Though, also keep in mind that not everyone is going to be able to use libusb, 
so while I don't advocate over-classifying things, it might be somewhat 
ill-considered to use a generic (USB) name for something that's actually quite 
implementation specific, unless you were also planning on offering a generic 
interface to multiple USB-IO backends. Consider this case-in-point: file event 
notification apis are generally OS-specific, so we have System.Inotify and 
(soon) System.FSEvents which will hopefully plug into a more universal 
interface that works no matter what OS you're running.

Bill

On Jun 9, 2012, at 11:16 AM, Stephen R. van den Berg wrote:

> Henrik Grubbstr?m (Lysator) @ Pike (-) developers forum wrote:
>>> Martin Stjernholm wrote:
>>>> "Stephen R. van den Berg" <s...@cuci.nl> wrote:
>>> Then I thought about what these things are about, and decided that the
>>> (in my mind) logical group I'm thinking about all has to do with
>>> *hardware* I/O.
> 
>> Hmm... Maybe the top-level module should be named HW or Hardware then?
> 
> Well, that is too broad a term, I think.
> It does prove a point though: that it is apparently not obvious
> what hierarchy to put modules/classes in.
> 
>>> So I'm currently implementing USB and OneWire, but I could imagine that
>>> other stuff that belongs in this category would be things like:
>>> I2C, SPI, 1-Wire, USB, JTAG, MIDI, PC keyboard, UART
> 
>>>> (Personally I favor a very flat namespace - the top level is afterall
>>>> the most convenient one, so let's use it. ;) I've never understood the
>>>> benefit of Standards.pmod, in particular.)
> 
>>> Well, I can understand both camps.  Anyone else got opinions?
> 
>> Well, I'd prefer not having them at the top-level since they're mostly
>> somewhat unlikely to be used by a random Pike program, and it makes
>> sense to group them together.

      • Re... Martin Nilsson (Opera Mini - AFK!) @ Pike (-) developers forum
      • Re... Stephen R. van den Berg
      • Re... Martin Nilsson (Opera Mini - AFK!) @ Pike (-) developers forum
      • Re... Stephen R. van den Berg
      • Re... Martin Stjernholm
      • Re... Martin Bähr
      • Re... Martin Bähr
    • Re: US... Lance Dillon
    • Re: US... Lance Dillon
    • Re: US... Stephen R. van den Berg
  • Re: USB.dev... H. William Welliver III
    • Re: US... Stephen R. van den Berg
      • Re... H. William Welliver III
      • Re... H. William Welliver III
      • Re... Martin Bähr
      • Re... Stephen R. van den Berg
      • Re... H. William Welliver III
      • Re... Stephen R. van den Berg
      • Re... H. William Welliver III
      • Re... Martin Stjernholm
      • Re... Bill Welliver

Reply via email to