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