On Thursday, 28 September 2023 at 12:42:04 UTC, deadalnix wrote:
>Hi all,
[...]
Here we go: https://github.com/snazzy-d/sdc/blob/master/test/llvm/downcast.d
Except the interface part.
October 01, 2023 Re: Improve the OOP ABI | ||||
---|---|---|---|---|
| ||||
Posted in reply to ryuukk_ | On Saturday, September 30, 2023 6:21:48 PM MDT ryuukk_ via Digitalmars-d wrote:
> On Thursday, 28 September 2023 at 12:42:04 UTC, deadalnix wrote:
> > D having more feature than most language, adding feature is clearly not where the impact is.
>
> I agree, however let us not get side tracked
>
> Asking for pattern matching? it's not new feature, it's improving ``switch``
>
> Asking for tagged union? it's not new feature, it's improving ``enum``
>
> However, you are wrong at expecting an impact for D by improving OOP, nope, D needs to improve the non-OOP story, more OOP is repulsive, specially for system languages
If they're not what the language currently does, it's still a new feature. They may be features that you want, and they may even be much easier to add than many other features, but they're still not currently part of the language.
The main point here is that there are a number of features that we already have which are not implemented as well as they could be, which sometimes results in bugs, and sometimes results in performance issues. Ideally, we would be making sure that what we already have works as advertised and performs well, and in general, issues with language features that we already have are far more likely to cause problems than the fact that we're missing a particular feature that someone might want.
New features can definitely improve the language, but we also need to make sure that what we already have is solid. And arguably, the focus is often too much on adding a feature that some particular subset of the community thinks is a "must-have" and not enough on improving what the language already does. And in large part, it's backlash over issues caused by not focusing enough on stability and improving what we already have which has led to the D foundation deciding to temporarily freeze the DIP process and focus more on bug fixing first.
We're still going to be getting new features, but when we can identify issues like the one that Deadalnix has brought up here, we really should be trying to fix them. And while OOP is not as large a focus in D as it is in many other programming languages, it's still a paradigm that D supports and many programs use. So, if we can speed it up, that's definitely a win for the language. And since the runtime uses classes, it could actually speed up D programs that generally avoid OOP. And since the compiler uses classes, it might even speed up compilation times, which is a win for everyone.
- Jonathan M Davis
|
November 13, 2023 Re: Improve the OOP ABI | ||||
---|---|---|---|---|
| ||||
Posted in reply to deadalnix | On Thursday, 28 September 2023 at 12:42:04 UTC, deadalnix wrote: >Hi all, [...] Here we go: https://github.com/snazzy-d/sdc/blob/master/test/llvm/downcast.d Except the interface part. |
January 11 Re: Improve the OOP ABI | ||||
---|---|---|---|---|
| ||||
Posted in reply to deadalnix | https://issues.dlang.org/show_bug.cgi?id=24332 https://issues.dlang.org/show_bug.cgi?id=24333 https://issues.dlang.org/show_bug.cgi?id=24335 https://issues.dlang.org/show_bug.cgi?id=24336 |
January 11 Re: Improve the OOP ABI | ||||
---|---|---|---|---|
| ||||
Posted in reply to deadalnix | On 9/28/2023 7:31 AM, deadalnix wrote:
> It does exist.
You're right. The ClassInfo can be merged with the vtbl[]. The trouble is it's a variable size, so that would have to be redone, too.
|
January 14 Re: Improve the OOP ABI | ||||
---|---|---|---|---|
| ||||
Posted in reply to deadalnix | On 9/28/2023 5:42 AM, deadalnix wrote: > 1/ Downcast to final classes. This has a PR for it now. https://github.com/dlang/dmd/pull/16032 |
January 19 Re: Improve the OOP ABI | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Sunday, 14 January 2024 at 09:04:32 UTC, Walter Bright wrote:
> On 9/28/2023 5:42 AM, deadalnix wrote:
>> 1/ Downcast to final classes.
>
> This has a PR for it now.
>
> https://github.com/dlang/dmd/pull/16032
Thanks, that's a step in the right direction.
|
January 19 Re: Improve the OOP ABI | ||||
---|---|---|---|---|
| ||||
Posted in reply to deadalnix | On 1/18/2024 8:20 PM, deadalnix wrote:
> Thanks, that's a step in the right direction.
You're welcome. I'd still like a list of the other problems you alluded to.
|
January 22 Re: Improve the OOP ABI | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Sunday, 14 January 2024 at 09:04:32 UTC, Walter Bright wrote:
> On 9/28/2023 5:42 AM, deadalnix wrote:
>> 1/ Downcast to final classes.
>
> This has a PR for it now.
>
> https://github.com/dlang/dmd/pull/16032
Why md5 and not a faster method?
Andrea
|
January 22 Re: Improve the OOP ABI | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrea Fontana | On Monday, 22 January 2024 at 10:08:16 UTC, Andrea Fontana wrote: >On Sunday, 14 January 2024 at 09:04:32 UTC, Walter Bright wrote: >On 9/28/2023 5:42 AM, deadalnix wrote: >1/ Downcast to final classes. This has a PR for it now. Why md5 and not a faster method? Andrea That is good opportunity to submit a PR, try it, it's not that hard and is rewarding |
January 22 Re: Improve the OOP ABI | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrea Fontana | On Monday, 22 January 2024 at 10:08:16 UTC, Andrea Fontana wrote: >Why md5 and not a faster method? What algorithm would you suggest? |