[Library Release] dproto

Jesse Phillips Jesse.K.Phillips+D at gmail.com
Wed Oct 9 07:38:01 PDT 2013


On Tuesday, 8 October 2013 at 20:50:22 UTC, Matt Soucy wrote:
> Thanks for the tip - I actually did find this one when I 
> started using
> this, however I found it on another page that hadn't been 
> updated (that
> I ironically can't find now), so I wrongfully assumed that it 
> was
> abandoned. I did find the github page, but I wasn't thrilled by 
> it.

You're thinking: 
https://256.makerslocal.org/wiki/index.php/ProtocolBuffer
I've been updating it from that

>
> Pros for opticron's:
> 	Much more idiomatic code
> 	Supports D1
> 	Much better unit tests
> Pros for mine (highly based on opinion):
> 	Exposes slightly more convenient helpers
> 	(In my opinion) slightly easier to read
> 	Generated code looks like a POD struct, though with some 
> "hidden"
> attributes (optional variables support .clean(), .exists(), 
> instead of
> looking like myStruct.foo_exists())

For the D2 output I've got it really close to POD. It declares 
fields as Nullable!T meaning myStruct.foo.isNull would check 
availability. I was intending to distinguish required/optional 
with this, but that would remove error checking (which I don't 
think is there yet).

> Basically, mine is much more simplistic, which is both good and 
> bad. I'd
> like to improve mine a bit more, and the one you pointed me at 
> is pretty
> good. It gave me some things to improve on.

Go for it, have fun.


More information about the Digitalmars-d-announce mailing list