No header files?

Yigal Chripun yigal100 at gmail.com
Thu Oct 22 00:10:10 PDT 2009


On 22/10/2009 02:01, Walter Bright wrote:
> Yigal Chripun wrote:
>> the only valid IMO use case for header files is for linking libs - the
>> compiler can handle just find binary formats for that.
>
> I was originally going to go with a binary format for that - but it
> turned out to be pointless. dmd is so fast at parsing, there simply was
> no advantage to replacing the text file parser with a binary file parser.
>
> If you consider the .di file as a "binary format", I think you'll find
> it fulfills all the purposes of it, as well as being human readable
> without needing a pretty-printer.

Let me re-phrase myself, since I think you misunderstood:

c headers are used for hiding implementation *and* documentation.
the latter is accomplished much better by tools such as ddoc, javadoc, 
etc. This leaves us with the former, which doesn't require the format to 
be human readable, it doesn't mean you must make it not-readable.

the benefits of using the llvm byte-code format are as following:
1) platform neutral
2) has efficient representation for in-memory and an equivalent for on-disk.
3) like with C# and Java, the file *is* the interface, no need to 
maintain a separate interface file.
4) already implemented with all the required tooling by the LLVM project




More information about the Digitalmars-d mailing list