digitalmars.D - Last Dobb's Code Talk
- bearophile (4/4) Dec 03 2009 "Non-Nullable References by Default" by Christopher Diggins, on Dr. Dobb...
- Denis Koroskin (7/12) Dec 03 2009 Non-nullable references are getting more and more popular. I hope one da...
- bearophile (4/5) Dec 03 2009 I'd like an experimental approach: an lateral branch of DMD2 can be crea...
- Denis Koroskin (14/21) Dec 03 2009 I believe this feature is hard to implement correctly. Compiler should b...
- Michel Fortin (11/17) Dec 03 2009 Adding non-nullable means a lot of small changes here and there, so I
"Non-Nullable References by Default" by Christopher Diggins, on Dr. Dobb's Code Talk: http://dobbscodetalk.com/index.php?option=com_myblog&show=Non-Nullable-References-by-Default.html&Itemid=29 Bye, bearophile
Dec 03 2009
On Thu, 03 Dec 2009 18:59:11 +0300, bearophile <bearophileHUGS lycos.com> wrote:"Non-Nullable References by Default" by Christopher Diggins, on Dr. Dobb's Code Talk: http://dobbscodetalk.com/index.php?option=com_myblog&show=Non-Nullable-References-by-Default.html&Itemid=29 Bye, bearophileNon-nullable references are getting more and more popular. I hope one day we will convince Walter to introduce this idiom to D, too. Unfortunately, it is unlikely for D2 to get this feature in its time-frame (because it will be frozen very soon). Unless we all insist on introducing it before it's too late!
Dec 03 2009
Denis Koroskin:Unless we all insist on introducing it before it's too late!<I'd like an experimental approach: an lateral branch of DMD2 can be created with this feature. In about a month of its usage I think we can understand if it's a worth feature or not. Bye, bearophile
Dec 03 2009
On Thu, 03 Dec 2009 19:31:06 +0300, bearophile <bearophileHUGS lycos.com> wrote:Denis Koroskin:I believe this feature is hard to implement correctly. Compiler should be smart enough and language specs updated to make sure that non-nullable references are always initialized. For example, how would you enforce initialization of non-nullable members? You can't call any member function until they are fully initialized, because those functions might access them while they are in incorrect state. This includes calling super(), which leads to bottom to top initialization (i.e. subclass is initialized before super class). It also means you can't access parent class members before you are fully initialized. There are no such rules in D ATM, but something like this must be introduced before non-nullables could be introduced.Unless we all insist on introducing it before it's too late!<I'd like an experimental approach: an lateral branch of DMD2 can be created with this feature. In about a month of its usage I think we can understand if it's a worth feature or not. Bye, bearophile
Dec 03 2009
On 2009-12-03 11:06:32 -0500, "Denis Koroskin" <2korden gmail.com> said:Non-nullable references are getting more and more popular. I hope one day we will convince Walter to introduce this idiom to D, too. Unfortunately, it is unlikely for D2 to get this feature in its time-frame (because it will be frozen very soon). Unless we all insist on introducing it before it's too late!Adding non-nullable means a lot of small changes here and there, so I don't believe it'll happen soon. Walter doesn't seem interested, and I find that very unfortunate. Perhaps someone could backport that feature from Delight and propose a patch to Walter? Having something working and in testable state makes a feature much easier to discuss. -- Michel Fortin michel.fortin michelf.com http://michelf.com/
Dec 03 2009