Hello Yigal,
On 22/10/2009 00:14, BCS wrote:
Hello Yigal,
On 21/10/2009 23:59, AJ wrote:
Since D has no header files, how does one create "a library" that
another developer can use without exposing the implementation?
D does have header files with the extension .di which can be either
auto generated and/or manually edited. IMO this is a design mistake
carried over from c/c++.
What would you prefer?
Aside from a better library format you need something to give DMD the
information. Switching to a better library format has several issues
including requiring more tools to make them and view them as well as
it doesn't solve the problem of linking with C libs that don't and
never will use this new format. Not fatal issues I'll grant, but what
we have works NOW.
As you said, what is needed is a better lib format. we already have
DDL NOW which already has most of what you described above. D can also
take advantage of the LLVM framework.
Does DDL or LLVM work to generate monolithic executable that use all of D's
features and do so for both Win32 and *nux?
Also, can I use notepad to view either of those file types?
why do you need to choose between the two options anyway? dmd can
support c header files combined with c libs and use a better D lib
format for D code. Another option would be to have a simple tool to
convert a bunch of c header files and a C lib to a D lib.
Option 1 is a no starter (Walter has said NO the that exact option based
on it needing in effect a full C frontend to work) Option 2 in interesting
but, it runs flat into to "needs more tools" issue.
The C/C++ way of headers + lib has problems which D inherited as part
of the same (broken) design.