www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - SAOC 2021 Projects Summarized

reply Mike Parker <aldacron gmail.com> writes:
Five projects have been selected for SAOC 2021. I've summarized 
them on the blog.

I would like to point out that the quality of the applications 
this year was top-notch. Thanks to the applicants for putting in 
the effort. I hope they all put the same effort into their weekly 
forum updates and milestone reports :-)

Congratulations to:

Robert Aron (again!)
Teodor Dutu
Luís Ferreira
Dylan Graham
Ahmet Sait KoC’ak

The blog:
https://dlang.org/blog/2021/08/30/saoc-2021-projects/

Reddit:
https://www.reddit.com/r/d_language/comments/pehbrq/symmetry_autumn_of_code_2021_projects/
Aug 30 2021
next sibling parent jmh530 <john.michael.hall gmail.com> writes:
On Monday, 30 August 2021 at 12:47:11 UTC, Mike Parker wrote:
 Five projects have been selected for SAOC 2021. I've summarized 
 them on the blog.

 [snip]
Looks like a good set of projects. Good luck to them.
Aug 30 2021
prev sibling next sibling parent Steven Schveighoffer <schveiguy gmail.com> writes:
On 8/30/21 8:47 AM, Mike Parker wrote:
 Five projects have been selected for SAOC 2021. I've summarized them on 
 the blog.
 
 I would like to point out that the quality of the applications this year 
 was top-notch. Thanks to the applicants for putting in the effort. I 
 hope they all put the same effort into their weekly forum updates and 
 milestone reports :-)
 
 Congratulations to:
 
 Robert Aron (again!)
 Teodor Dutu
 Luís Ferreira
 Dylan Graham
 Ahmet Sait KoC’ak
 
 The blog:
 https://dlang.org/blog/2021/08/30/saoc-2021-projects/
 
 Reddit:
 https://www.reddit.com/r/d_language/comments/pehbrq/symmetry_autumn_of
code_2021_projects/ 
 
Some really ambitious projects there! I look forward to seeing those implemented. -Steve
Aug 30 2021
prev sibling next sibling parent reply Guillaume Piolat <first.last gmail.com> writes:
On Monday, 30 August 2021 at 12:47:11 UTC, Mike Parker wrote:
 Five projects have been selected for SAOC 2021. I've summarized 
 them on the blog.

 I would like to point out that the quality of the applications 
 this year was top-notch. Thanks to the applicants for putting 
 in the effort. I hope they all put the same effort into their 
 weekly forum updates and milestone reports :-)

 Congratulations to:

 Robert Aron (again!)
 Teodor Dutu
 Luís Ferreira
 Dylan Graham
 Ahmet Sait KoC’ak

 The blog:
 https://dlang.org/blog/2021/08/30/saoc-2021-projects/

 Reddit:
 https://www.reddit.com/r/d_language/comments/pehbrq/symmetry_autumn_of_code_2021_projects/
Hyped by ProtoObject, this is our hope for a nothrow nogc .destroy eventually!
Aug 30 2021
parent reply Adam D Ruppe <destructionator gmail.com> writes:
On Monday, 30 August 2021 at 16:03:29 UTC, Guillaume Piolat wrote:
 Hyped by ProtoObject, this is our hope for a nothrow  nogc 
 .destroy eventually!
This fails today only because of the rt_finalize hook working through void*. If you cut that out... --- class Foo { ~this() nogc nothrow {} } void main() nogc nothrow { scope auto foo = new Foo(); foo.__xdtor(); } --- this works today. .destroy does this if it is an extern(C++) class, but not for a D class. It isn't limited by Object though. I think the templated druntime hooks might make more of a difference here than protoobject.
Aug 30 2021
parent reply Paul Backus <snarwin gmail.com> writes:
On Monday, 30 August 2021 at 16:12:57 UTC, Adam D Ruppe wrote:
 On Monday, 30 August 2021 at 16:03:29 UTC, Guillaume Piolat 
 wrote:
 Hyped by ProtoObject, this is our hope for a nothrow  nogc 
 .destroy eventually!
This fails today only because of the rt_finalize hook working through void*. If you cut that out... --- class Foo { ~this() nogc nothrow {} } void main() nogc nothrow { scope auto foo = new Foo(); foo.__xdtor(); } --- this works today.
I thought the problem with this was that destructors aren't virtual, so if you write something like this: --- class Foo { ~this() { } } class Bar : Foo { ~this() { } } void main() { Foo foo = new Bar(); foo.__xdtor; } --- ...then you end up calling Foo's destructor, but not Bar's. That's why rt_finalize uses TypeInfo to look up the destructor for the object's runtime type.
Sep 01 2021
parent reply user1234 <user1234 12.de> writes:
On Wednesday, 1 September 2021 at 18:20:59 UTC, Paul Backus wrote:
 On Monday, 30 August 2021 at 16:12:57 UTC, Adam D Ruppe wrote:
 On Monday, 30 August 2021 at 16:03:29 UTC, Guillaume Piolat 
 wrote:
 Hyped by ProtoObject, this is our hope for a nothrow  nogc 
 .destroy eventually!
This fails today only because of the rt_finalize hook working through void*. If you cut that out... ``` class Foo { ~this() nogc nothrow {} } void main() nogc nothrow { scope auto foo = new Foo(); foo.__xdtor(); } ``` this works today.
I thought the problem with this was that destructors aren't virtual, so if you write something like this: [...] ...then you end up calling Foo's destructor, but not Bar's. That's why rt_finalize uses TypeInfo to look up the destructor for the object's runtime type.
we can use custom destructors: ```d class Foo { ~this() nothrow nogc {} void destroy() nothrow nogc { __xdtor(); } } class Bar : Foo { override void destroy() { super.destroy(); } } void main() { Foo foo = new Bar(); foo.destroy(); } ``` I dont know why destructors are not virtual. This makes sense for constructors as the correct instance size is required but not for destructors.
Sep 01 2021
parent Adam Ruppe <destructionator gmail.com> writes:
On Wednesday, 1 September 2021 at 22:23:59 UTC, user1234 wrote:
 I dont know why destructors are not virtual.
https://dlang.org/spec/class.html#destructors "There can be only one destructor per class, the destructor does not have any parameters, and has no attributes. It is always virtual. " I guess it is virtually virtual due to the rt_finalize implementation papering it over. But you can write a destroy function to do this too by looking up the base class xdtor as well (I'm pretty sure anyway). My point is really just that protoobject is almost certain to have exactly the same destructor situation as object....
Sep 01 2021
prev sibling parent reply =?UTF-8?Q?Ali_=c3=87ehreli?= <acehreli yahoo.com> writes:
On 8/30/21 5:47 AM, Mike Parker wrote:

 Ahmet Sait KoC=E2=80=99ak
Being a fellow Turkish, I am curios why his last name is spelled that=20 way. Unless it was sepecially requested by him, I would use the=20 following obviously correct spelling: Ahmet Sait Ko=C3=A7ak Ali
Aug 31 2021
parent reply Mike Parker <aldacron gmail.com> writes:
On Wednesday, 1 September 2021 at 04:56:28 UTC, Ali Çehreli wrote:
 On 8/30/21 5:47 AM, Mike Parker wrote:

 Ahmet Sait KoC’ak
Being a fellow Turkish, I am curios why his last name is spelled that way. Unless it was sepecially requested by him, I would use the following obviously correct spelling: Ahmet Sait Koçak Ali
That's how it was submitted in the application. I simply copy-pasted.
Aug 31 2021
parent reply Ahmet Sait <nightmarex1337 hotmail.com> writes:
On Wednesday, 1 September 2021 at 06:44:53 UTC, Mike Parker wrote:
 On Wednesday, 1 September 2021 at 04:56:28 UTC, Ali Çehreli 
 wrote:
 On 8/30/21 5:47 AM, Mike Parker wrote:

 Ahmet Sait KoC’ak
Being a fellow Turkish, I am curios why his last name is spelled that way. Unless it was sepecially requested by him, I would use the following obviously correct spelling: Ahmet Sait Koçak Ali
That's how it was submitted in the application. I simply copy-pasted.
Must have been an encoding issue with the mail then. I don't mind though.
Sep 01 2021
parent Mike Parker <aldacron gmail.com> writes:
On Wednesday, 1 September 2021 at 10:32:19 UTC, Ahmet Sait wrote:

 Must have been an encoding issue with the mail then. I don't 
 mind though.
I updated the blog as soon as I saw Ali's post.
Sep 01 2021