Re: Why does nobody seem to think that `null` is a serious problem in D?

2018-11-22 Thread Per Nordlöw via Digitalmars-d-learn
On Thursday, 22 November 2018 at 15:50:01 UTC, Stefan Koch wrote: I'd say the problem here is not just false positives, but false negatives! With emphasis on _incremental_ additions to the compiler for covering more and more positives without introducing any _false_ negatives whatsoever.

Re: Making external types available to mixins

2018-11-22 Thread Nicholas Wilson via Digitalmars-d-learn
On Saturday, 17 November 2018 at 17:58:54 UTC, John Chapman wrote: The following code doesn't compile because the generated type name needs to be available inside the mixin's scope, whereas it's actually in another module. auto makeWith(string className, Args…)(auto ref Args args) {

Re: Why does nobody seem to think that `null` is a serious problem in D?

2018-11-22 Thread Jonathan M Davis via Digitalmars-d-learn
On Wednesday, November 21, 2018 3:24:06 PM MST Johan Engelen via Digitalmars-d-learn wrote: > On Wednesday, 21 November 2018 at 07:47:14 UTC, Jonathan M Davis > > wrote: > > IMHO, requiring something in the spec like "it must segfault > > when dereferencing null" as has been suggested before is >

Re: Making external types available to mixins

2018-11-22 Thread Eduard Staniloiu via Digitalmars-d-learn
On Sunday, 18 November 2018 at 11:29:51 UTC, John Chapman wrote: On Saturday, 17 November 2018 at 21:11:38 UTC, Adam D. Ruppe wrote: On Saturday, 17 November 2018 at 17:58:54 UTC, John Chapman wrote: Has anyone had a similar need and come up with a solution? You might be able to just pass it

Re: Why does nobody seem to think that `null` is a serious problem in D?

2018-11-22 Thread Neia Neutuladh via Digitalmars-d-learn
On Thu, 22 Nov 2018 15:50:01 +, Stefan Koch wrote: > I'd say the problem here is not just false positives, but false > negatives! False negatives are a small problem. The compiler fails to catch some errors some of the time, and that's not surprising. False positives are highly vexing

Re: Why does nobody seem to think that `null` is a serious problem in D?

2018-11-22 Thread Stefan Koch via Digitalmars-d-learn
On Thursday, 22 November 2018 at 15:38:18 UTC, Per Nordlöw wrote: The natural way forward for D is to add static analysis in the compiler that tracks use of possibly uninitialized classes (and perhaps also pointers). This has been discussed many times on the forums. The important thing with

Re: Why does nobody seem to think that `null` is a serious problem in D?

2018-11-22 Thread Per Nordlöw via Digitalmars-d-learn
On Monday, 19 November 2018 at 21:23:31 UTC, Jordi Gutiérrez Hermoso wrote: When I was first playing with D, I managed to create a segfault by doing `SomeClass c;` and then trying do something with the object I thought I had default-created, by analogy with C++ syntax. Seasoned D programmers

Re: Why does nobody seem to think that `null` is a serious problem in D?

2018-11-22 Thread Steven Schveighoffer via Digitalmars-d-learn
On 11/20/18 6:14 PM, Johan Engelen wrote: On Tuesday, 20 November 2018 at 19:11:46 UTC, Steven Schveighoffer wrote: On 11/20/18 1:04 PM, Johan Engelen wrote: D does not make dereferencing on class objects explicit, which makes it harder to see where the dereference is happening. Again, the

Re: D vs perl6

2018-11-22 Thread dangbinghoo via Digitalmars-d-learn
On Thursday, 22 November 2018 at 09:03:19 UTC, Gary Willoughby wrote: On Monday, 19 November 2018 at 06:46:55 UTC, dangbinghoo wrote: So, can you experts give a more comprehensive compare with perl6 and D? Sure! 1). You can actually read and understand D code. ^_^, yeah, you're right. D

Re: Wrapping a Dub project inside Meson

2018-11-22 Thread Andrea Fontana via Digitalmars-d-learn
On Thursday, 22 November 2018 at 02:46:03 UTC, Adnan wrote: Does anyone have experience with using meson to wrap around a dub project? I have a typical dub project, meaning I have a dub dependency but I want to use meson for two reasons: 1. I want to distribute the application in form of a

Re: Why does nobody seem to think that `null` is a serious problem in D?

2018-11-22 Thread aliak via Digitalmars-d-learn
On Wednesday, 21 November 2018 at 23:27:25 UTC, Alex wrote: Nice! Didn't know that... But the language is a foreign one for me. Nevertheless, from what I saw: Shouldn't it be var x: C? as an optional kind, because otherwise, I can't assign a nil to the instance, which I can do to a class

Re: How do you debug @safe @nogc code? Can't figure out how to print.

2018-11-22 Thread Vijay Nayar via Digitalmars-d-learn
On Sunday, 18 November 2018 at 11:00:26 UTC, aliak wrote: On Saturday, 17 November 2018 at 21:56:23 UTC, Neia Neutuladh wrote: On Sat, 17 Nov 2018 21:16:13 +, aliak wrote: [...] I meant something like: void debugln(T...)(T args) @nogc { import std.stdio;

Re: D vs perl6

2018-11-22 Thread Sebastien Alaiwan via Digitalmars-d-learn
On Thursday, 22 November 2018 at 09:03:19 UTC, Gary Willoughby wrote: On Monday, 19 November 2018 at 06:46:55 UTC, dangbinghoo wrote: So, can you experts give a more comprehensive compare with perl6 and D? Sure! 1). You can actually read and understand D code. Also, D can be parsed. See:

Re: D vs perl6

2018-11-22 Thread Stanislav Blinov via Digitalmars-d-learn
On Thursday, 22 November 2018 at 09:03:19 UTC, Gary Willoughby wrote: On Monday, 19 November 2018 at 06:46:55 UTC, dangbinghoo wrote: So, can you experts give a more comprehensive compare with perl6 and D? Sure! 1). You can actually read and understand D code. Made my day. Thank you :)

Re: Why does nobody seem to think that `null` is a serious problem in D?

2018-11-22 Thread Kagamin via Digitalmars-d-learn
On Wednesday, 21 November 2018 at 22:24:06 UTC, Johan Engelen wrote: The issue is not specific to LDC at all. DMD also does optimizations that assume that dereferencing [*] null is UB. Do you have an example? I think it treats null dereference as implementation defined but otherwise safe.

Re: Why does nobody seem to think that `null` is a serious problem in D?

2018-11-22 Thread Kagamin via Digitalmars-d-learn
On Wednesday, 21 November 2018 at 17:00:29 UTC, Alex wrote: This was not my point. I wonder, whether the case, where the compiler can't figure out the initialization state of an object is so hard to construct. ´´´ import std.experimental.all; class C { size_t dummy; final

Re: D vs perl6

2018-11-22 Thread Gary Willoughby via Digitalmars-d-learn
On Monday, 19 November 2018 at 06:46:55 UTC, dangbinghoo wrote: So, can you experts give a more comprehensive compare with perl6 and D? Sure! 1). You can actually read and understand D code.