[prev] [thread] [next] [lurker] [Date index for 2005/04/24]
> It's part of "the Unix API". Section 3 is the C runtime. If you're calling things in section 3 you're already using a C wrapper. When I ported Forth to UNIX I just implemented syscal() and then wrote the rest in Forth. It's MUCH easier than linking to a C library. > But if you insist on something that is > more intimately tied to Unix, try stat, which is even more hateful. Hmmm. All the objects defined in sys/stat.h are built up of primitive elements with specific bit sizes or structures defined in similar terms. And they all land on properly aligned word boundaries. There's obviously hardware-specific details like byte order to worry about but if you're porting a language to a computer or writing a language runtime you already know that stuff. Seriously, I don't see that this is particularly bothersome let alone hateful. > You misunderstand my Hate. I hate that long is *not defined*, just like Long is defined FOR EACH SPECIFIC COMPUTER. If you're porting your language to an Alpha, you know that long is 64 bits. If you don't know that, how the hell are you going to generate code for it? > I hate that a struct is *not defined*. The struct is defined in the C include file, which is easy to read and understand... it's barely higher level than the control block structures in RSX-11 and a LOT better documented than the Macro-11 macros that define the RSX-11 system calls. > If it were defined I really > wouldn't care whether it was 32 bits or 64 bits, because I could just > write code to build the structure using my language of choice. Which is what I do, I don't know why you find it hard. The more recent trend for system calls to be defined in terms of shared libraries, now THAT is hateful. That's starting UNIX down the slippery slope to being as language-dependent as BeOS.There's stuff above here
Generated at 01:00 on 03 May 2005 by mariachi 0.52