Open Methods: From C++ to D

EntangledQuanta via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Thu Aug 31 16:37:03 PDT 2017


On Thursday, 31 August 2017 at 23:21:03 UTC, Jean-Louis Leroy 
wrote:
> On Thursday, 31 August 2017 at 21:42:50 UTC, EntangledQuanta 
> wrote:
>>> It's fixed now, in master and in release v1.0.0-rc.2.
>>
>> I'll check it out. I don't think the last errors I was getting 
>> were due to the sizing issues though, so is that all you fixed 
>> or was there some other stuff related to windows?
>
> Only size issues. Two lines in fact, see 
> https://github.com/jll63/openmethods.d/commit/b63a88132e639bb23bb7cb305f4457450f865c6a but errors can cascade. I ran a few examples using the current dmd on Windows. Worked OK.
>
> It would be nice to have the Windows equivalent of 
> dev/run-everything, maybe someone can PR me that?
>

I'll try again at some point. I haven't got around to messing 
with it again. I was testing it out on something and ran in to 
those errors, fixed them, then ran in to some more and just went 
a different direction. I will try to start using them more at 
some point as I think the concept, at least, can be useful. I 
haven't used it yet though to know just how useful. I like how it 
extends object functionality without having to mess directly with 
the objects. I think the more complex the project the more useful 
they become. What is good though is that one can mingle oop and 
openmethods and finding a proper balance should result in a 
simpler design.

>> Yeah, but one should always be allowed to shoot themselves in 
>> the foot.
>
> I agree, wholeheartedly. In C++, yomm11 has macros that you can 
> use to make a specific override or an entire method friend of a 
> class. But alas no friendship in D.

Yeah, D does some weird things. For all it's power it just screws 
the pooch in certain cases that really casts a shadow on what 
might be a great design. Usually there are work-arounds, but they 
always fill like a kludge and require an excessive amount of code 
to do something that could be done very simple, all in the name 
of XXX(whatever XXX is: backwards compatibility, "safety"(no guns 
on the beach! PERIOD! Even if the beach is full of alligators! We 
don't want anyone shooting anyone else! Better that they be eaten 
by alligators!), or some other "excuse").







More information about the Digitalmars-d-announce mailing list