On Friday, 10 January 2014 at 07:32:49 UTC, Jacob Carlborg wrote:
On 2014-01-10 01:02, Sean Kelly wrote:

Because of this clause from the Boost license page:

"The conceptual interface to a library isn't covered. The
particular representation expressed in the header is covered, as is the documentation, examples, test programs, and all the other
material that goes with the library. A different implementation
is free to use the same logical interface, however. Interface
issues have been fought out in court several times; ask a lawyer
for details."

I suspect that an automatic translation might be subject to the
"representation" issue, while a manual rewrite should not.

I see, that sucks :(. I guess this is a fine line since you very well could en up with the same result of a manual and automatic translation.

Yeah, this is also one reason why I chose the header format I
did.  It works directly from the spec and so imposes a structure
of its own rather than inviting direct ports of existing headers.
  But I'm really just guessing here, since I don't have any legal
background.

One issue I'm not sure about regarding automatic translation
(assuming this is deemed acceptable).  Say you're trying to
translate pthread.h on a Posix system.  The declarations for that
file might be required to live in sys/types.h, but in actuality
live in a smattering of files in other locations (usually
bits/whatever) all selected by a pretty complex chain of
preprocessor conditions.  If we were to do an automatic
translation, how would this all work?  One thing I like about the
current approach is that the result is succinct and legible,
despite requiring more work to generate.

Reply via email to