Re: DIP 1015--Deprecation of Implicit Conversion of Int. & Char. Literals to bool--Formal Assement

2018-11-14 Thread Neia Neutuladh via Digitalmars-d-announce
On Wed, 14 Nov 2018 12:09:33 +0100, Jacob Carlborg wrote: > What is ": int" doing, only specifying the size? It specifies the type to match for overloading when the compiler isn't required by the language to constant-fold the value.

Re: DIP 1015--Deprecation of Implicit Conversion of Int. & Char. Literals to bool--Formal Assement

2018-11-13 Thread Neia Neutuladh via Digitalmars-d-announce
On Wed, 14 Nov 2018 00:43:54 +, Rubn wrote: > I wonder what these examples are? What did C++ do instead, cause > something tells me it didn't do what D is doing. An enum in C++ doesn't > call different function overloads based on the constant value. Long long and unsigned long long give an

Re: DIP 1015--Deprecation of Implicit Conversion of Int. & Char. Literals to bool--Formal Assement

2018-11-13 Thread Neia Neutuladh via Digitalmars-d-announce
On Tue, 13 Nov 2018 17:53:27 +, 12345swordy wrote: > Ok, now that has got to be a bug. If you explicit cast the number to an > integer then you expect the overload function with int to be called. > > -Alex ...my mistake, I can't reproduce that anymore. Pretend I didn't say anything.

Re: DIP 1015--Deprecation of Implicit Conversion of Int. & Char. Literals to bool--Formal Assement

2018-11-13 Thread Neia Neutuladh via Digitalmars-d-announce
On Tue, 13 Nov 2018 09:46:17 -0500, Steven Schveighoffer wrote: > Maybe the biggest gripe here is that enums don't prefer their base types > over what their base types convert to. In the developer's mind, the > conversion is: > > A => int => (via VRP) short > > which seems more complex than just

Re: DIP 1015--Deprecation of Implicit Conversion of Int. & Char. Literals to bool--Formal Assement

2018-11-12 Thread Neia Neutuladh via Digitalmars-d-announce
On Tue, 13 Nov 2018 00:28:46 +, Isaac S. wrote: > Sorry if it wasn't clear, I meant that if `enum Foo : some_int_type` > makes it so some_int_type is preferred (because it's a more direct > conversion) DScanner could warn anyone that just does `enum Foo`. Sorry, I read too hastily and thought

Re: DIP 1015--Deprecation of Implicit Conversion of Int. & Char. Literals to bool--Formal Assement

2018-11-12 Thread Neia Neutuladh via Digitalmars-d-announce
On Tue, 13 Nov 2018 00:08:04 +, Isaac S. wrote: > If you really want this plaque in the language, at least make it not > affect those that gave their enum a type. If you at least do that, > someone can add it to DScanner to tell anyone that doesn't type their > enum to expect illogical

Re: DIP 1015--Deprecation of Implicit Conversion of Int. & Char. Literals to bool--Formal Assement

2018-11-12 Thread Neia Neutuladh via Digitalmars-d-announce
On Mon, 12 Nov 2018 14:07:39 -0800, Walter Bright wrote: > => conversion> >=> conversion> One confusion is from value range propagation / constant folding reaching past the static type information to yield a different result from what static typing alone

Re: DIP 1015--Deprecation of Implicit Conversion of Int. & Char. Literals to bool--Formal Assement

2018-11-12 Thread Neia Neutuladh via Digitalmars-d-announce
On Mon, 12 Nov 2018 20:34:11 +, Neia Neutuladh wrote: > enum : int { a = 0 } > enum A : int { a = 0 } > f(a); // calls the int overload f(A.a); // calls the bool overload > > Tell me more about this "consistency". Filed issue 19394. (Sorry for spam.)

Re: DIP 1015--Deprecation of Implicit Conversion of Int. & Char. Literals to bool--Formal Assement

2018-11-12 Thread Neia Neutuladh via Digitalmars-d-announce
On Mon, 12 Nov 2018 09:45:14 +, Mike Parker wrote: > From Example B in the DIP: > > ``` > int f(bool b) { return 1; } > int f(int i) { return 2; } > > enum E : int { > a = 0, > b = 1, > c = 2, > } > ``` > > Here, f(a) and f(b) call the bool overload, while f(c) calls the int

Re: DIP 1015--Deprecation of Implicit Conversion of Int. & Char. Literals to bool--Formal Assement

2018-11-12 Thread Neia Neutuladh via Digitalmars-d-announce
On Mon, 12 Nov 2018 14:10:42 -0500, Steven Schveighoffer wrote: > But it's not consistent: And std.traits.isIntegral has not considered bools integral since its initial creation in 2007. Both Walter and Andrei have mucked about with that code and saw no reason to change it, even in wild and

Re: dip1000: why can't the addressee come into existence later?

2018-11-10 Thread Neia Neutuladh via Digitalmars-d-learn
On Sat, 10 Nov 2018 16:25:40 +, Stanislav Blinov wrote: > Yep, you just over-simplified the first case. It is too simple to clearly illustrate why the code is invalid, but not so simple that the compiler accepts that code. > Consider: > > int* p; > { > int i; > p = > } > *p =

Re: dip1000: why can't the addressee come into existence later?

2018-11-10 Thread Neia Neutuladh via Digitalmars-d-learn
On Sat, 10 Nov 2018 11:47:24 +, Nicholas Wilson wrote: > On Saturday, 10 November 2018 at 06:56:29 UTC, Neia Neutuladh wrote: >> Is this right? > > Are you sure you added @safe to the second example? > https://run.dlang.io/is/2RbOwK fails to compile. Maybe take another look at the post

dip1000: why can't the addressee come into existence later?

2018-11-09 Thread Neia Neutuladh via Digitalmars-d-learn
The following code doesn't work with @safe -dip1000: int* p; int i; p = i has a shorter lifetime than p, the compiler complains. But this code does: int i; int* p; p = In both cases, p can't point to i before i exists, and p ceases to exist when i ceases to exist.

Re: Why is stdio ... stdio?

2018-11-08 Thread Neia Neutuladh via Digitalmars-d-learn
On Fri, 09 Nov 2018 02:03:36 +, Chris Katko wrote: > Simple curious question. > > Why isn't : > > import std.stdio; > > instead: > > import std.io; IO includes things like memory mapping, sockets, listing files, named pipes, that sort of thing. Standard IO includes only reading and

Re: Exception slipping through the catch block?

2018-11-08 Thread Neia Neutuladh via Digitalmars-d-learn
On Thu, 08 Nov 2018 17:27:40 -0700, Jonathan M Davis wrote: > You ran into one of the rare cases where it makes sense catch an Error > or a Throwable, and you're one of the few people who understands the > situation well enough to deal with it properly. The vast majority of D > programmers don't.

Re: Backend nearly entirely converted to D

2018-11-08 Thread Neia Neutuladh via Digitalmars-d-announce
On Thu, 08 Nov 2018 18:38:55 +, welkam wrote: > On Thursday, 8 November 2018 at 18:15:55 UTC, Stanislav Blinov wrote: >> >> One keystroke (well ok, two keys because it's *) ;) >> https://dl.dropbox.com/s/mifou0ervwspx5i/vimhl.png >> >> > What sorcery is this? I need to know. I guess its vim

Re: Backend nearly entirely converted to D

2018-11-08 Thread Neia Neutuladh via Digitalmars-d-announce
On Thu, 08 Nov 2018 18:13:55 +0100, Jacob Carlborg wrote: > I guess we have very different ideas on what "small scope" is. For me it > means around 10 lines. Here's an example in the DMD code base, the > method for doing the semantic analyze on a call expression [1]. It's 902 > lines long and has

Re: scoped classes and dependency inversion

2018-11-08 Thread Neia Neutuladh via Digitalmars-d-learn
On Thu, 08 Nov 2018 11:04:19 +, Sjoerd Nijboer wrote: > I'm trying to invert the dependency from the classes `Bar -> Foo` to > `Foo -> IFoo <- Bar` at compile time. > > I do want `Foo's` to be embedded into `Bar` These goals are a *little* at odds with each other; having a scoped!Foo puts

Re: scoped classes and dependency inversion

2018-11-08 Thread Neia Neutuladh via Digitalmars-d-learn
On Thu, 08 Nov 2018 12:45:57 +, Alex wrote: > Hmm... not sure, if I got your idea... Do you think about something like > this? The point is dependency inversion. The class shouldn't need to know how to build its dependencies; it should leave that to other code. The fact that you can use the

Re: Profiling DMD's Compilation Time with dmdprof

2018-11-07 Thread Neia Neutuladh via Digitalmars-d-announce
On Thu, 08 Nov 2018 14:35:29 +1300, rikki cattermole wrote: > Its a symptom of a larger set of problems. The frontend is not quite > ready to have the GC turned on full time. > > Based upon my testing, that little memory leak prevents pretty much > *all* memory allocated by the GC to not be

Re: Profiling DMD's Compilation Time with dmdprof

2018-11-07 Thread Neia Neutuladh via Digitalmars-d-announce
On Thu, 08 Nov 2018 01:49:49 +1300, rikki cattermole wrote: > On 08/11/2018 1:46 AM, Patrick Schluter wrote: >> Now that the compiler is completely in D, wouldn't it be a good idea to >> activate the GC in the compiler. I know that it requires some care for >> bootstrapping the compiler when there

Re: Is this a bug? +goto

2018-11-05 Thread Neia Neutuladh via Digitalmars-d-learn
On Tue, 06 Nov 2018 00:33:56 +, MatheusBN wrote: > Just to be clear, when you say "x exists at the label Q", you mean at > the same scope, right? The same or an outer scope. It's also invalid to write: goto Y; { int x; { Y: } } > That's interesting but a bit confusing isn't? > >

Re: Wed Oct 17 - Avoiding Code Smells by Walter Bright

2018-11-04 Thread Neia Neutuladh via Digitalmars-d-announce
On Mon, 05 Nov 2018 01:23:44 +, nobodycares wrote: > I think there are more than enough real-world examples, of where issues > around 'type safety', or lack of, have caused a sufficient number of > bugs, to warrant a discussion about ways to further improve type safety. You do realize we can

Re: Wed Oct 17 - Avoiding Code Smells by Walter Bright

2018-11-04 Thread Neia Neutuladh via Digitalmars-d-announce
On Sun, 04 Nov 2018 11:36:39 +, FooledDonor wrote: > Can we argue about the problems arising from the potential introduction > of this feature? There are many potential features that wouldn't cause problems in isolation. Should we add all of them? Obviously not; the result would be a

Re: Wed Oct 17 - Avoiding Code Smells by Walter Bright

2018-11-03 Thread Neia Neutuladh via Digitalmars-d-announce
On Sat, 03 Nov 2018 11:24:06 +, FooledDonor wrote: > And if the validity of a person's reasoning is a function of his way of > expressing them, well ... do not pose to software engineers at least If you want other people to do work for you, you need to convince them to do it. This is an open

Re: Wed Oct 17 - Avoiding Code Smells by Walter Bright

2018-11-03 Thread Neia Neutuladh via Digitalmars-d-announce
On Sat, 03 Nov 2018 04:50:52 +, unprotected-entity wrote: > (q1) Why is it, that people who use D, object *so much* to the idea of > allowing (at the choice of the programmer) for a type to have it's own > private state *within* a module (so that its private state is respected > by other code

Re: Wed Oct 17 - Avoiding Code Smells by Walter Bright

2018-11-01 Thread Neia Neutuladh via Digitalmars-d-announce
On Thu, 01 Nov 2018 22:37:59 +, unprotected-entity wrote: > On Thursday, 1 November 2018 at 03:10:22 UTC, H. S. Teoh wrote: >> >> Actually, code within a module *should* be tightly coupled and cohesive >> -- that's the whole reason to put that code inside a single module in >> the first place.

Re: Dealing with raw types as attributes

2018-11-01 Thread Neia Neutuladh via Digitalmars-d-learn
On Fri, 02 Nov 2018 04:01:00 +, Nicholas Wilson wrote: > By noting that all (interesting for the purpose of UDA's i.e. not void) > types have a .init > > or you could do > > static if (is(typeof(uda) == Foo) || is(uda == Foo)) Which, again, only tests for presence, when I want to check for

Re: Dealing with raw types as attributes

2018-11-01 Thread Neia Neutuladh via Digitalmars-d-learn
On Fri, 02 Nov 2018 00:36:18 +, Nicholas Wilson wrote: >> What do you do to handle this? > > @Foo() int bar; > > instead of > > @Foo int bar; Right. And if you're offering a library with UDAs for other people to use?

Re: Removing the precision from double

2018-11-01 Thread Neia Neutuladh via Digitalmars-d-learn
On Thu, 01 Nov 2018 23:59:26 +, kerdemdemir wrote: > I am doing trading and super scared of suprices like mathematical errors > during the multiplications(or division 1/tickSize) since market will > reject my orders even if there is a small mistake. > > Is this safe? Or is there a better way

Re: Dealing with raw types as attributes

2018-11-01 Thread Neia Neutuladh via Digitalmars-d-learn
On Thu, 01 Nov 2018 20:01:51 +, Stanislav Blinov wrote: > Check if an UDA is a type?.. As in, not just `is(uda == Foo)`, > but simply `is(uda)`: Which works, but generally makes things more complex in code that's already pretty deeply nested. It's also something I have to worry about every

Re: Dealing with raw types as attributes

2018-11-01 Thread Neia Neutuladh via Digitalmars-d-learn
On Thu, 01 Nov 2018 11:35:27 -0700, Ali Çehreli wrote: > On 11/01/2018 09:14 AM, Neia Neutuladh wrote: >> The spec says that a user-defined attribute must be an expression, but >> DMD accepts a wide range of things as UDAs: >> >>struct Foo { string name = "unknown"; } >>@Foo int bar; >>

Dealing with raw types as attributes

2018-11-01 Thread Neia Neutuladh via Digitalmars-d-learn
The spec says that a user-defined attribute must be an expression, but DMD accepts a wide range of things as UDAs: struct Foo { string name = "unknown"; } @Foo int bar; `bar` has the *type* Foo as an attribute. It's not an *instance* of Foo. So if I try to look at the UDAs: static

Re: Add D front-end, libphobos library, and D2 testsuite... to GCC

2018-10-28 Thread Neia Neutuladh via Digitalmars-d-announce
On Mon, 29 Oct 2018 03:43:49 +, Mike Parker wrote: > Congratulations are in order for Iain Buclaw. His efforts have been > rewarded in a big way. Last Friday, he got the greenlight to move > forward with submitting his changes into GCC: Awesome! What frontend version is this, out of

Re: how to make '==' safe for classes?

2018-10-28 Thread Neia Neutuladh via Digitalmars-d-learn
On Sun, 28 Oct 2018 18:00:06 +, Stanislav Blinov wrote: > On Sunday, 28 October 2018 at 12:38:12 UTC, ikod wrote: > >> and object.opEquals(a,b) do not inherits safety from class C >> properties, and also I can't override it. > > Yep. Since Object is the base class and it defines opEquals

Re: Dub Renaming source/app.d makes project a library

2018-10-27 Thread Neia Neutuladh via Digitalmars-d-learn
targetType "executable" does it for me (dub 1.11.0). Can you post your full dub.sdl?

Re: New Initiative for Donations

2018-10-27 Thread Neia Neutuladh via Digitalmars-d-announce
On Sat, 27 Oct 2018 10:54:30 +, Joakim wrote: > I see, so you want other taxpayers to bail you out for your mistakes, > interesting. One of the major points of having a government is to create these regulations that make it less likely for individuals to suffer from the actions of other

Re: New Initiative for Donations

2018-10-26 Thread Neia Neutuladh via Digitalmars-d-announce
On Fri, 26 Oct 2018 06:19:29 +, Joakim wrote: > On Friday, 26 October 2018 at 05:47:05 UTC, Neia Neutuladh wrote: >> On Fri, 26 Oct 2018 02:38:08 +, Joakim wrote: >>> As with D, sometimes the new _is_ better, so perhaps you shouldn't >>> assume old is better either. >> >> There's no

Re: New Initiative for Donations

2018-10-25 Thread Neia Neutuladh via Digitalmars-d-announce
On Fri, 26 Oct 2018 02:38:08 +, Joakim wrote: > As with D, sometimes the new _is_ better, so perhaps you shouldn't > assume old is better either. There's no assuming going on. Cryptocurrencies are worse than credit cards for everything that normal people care about, and they're better than

Re: D Binding to GUI libraries

2018-10-22 Thread Neia Neutuladh via Digitalmars-d
On Mon, 22 Oct 2018 03:49:44 -0400, Nick Sabalausky (Abscissa) wrote: > So I'm honestly *shocked* to hear this. I NEVER would've guessed. I'm > pretty sold on rolling-release at this point, but I'm intrigued enough > that I'm gonna have to give the latest Ubuntu a try, at least in a VM. The

Re: D Binding to GUI libraries

2018-10-22 Thread Neia Neutuladh via Digitalmars-d
On Mon, 22 Oct 2018 00:41:08 -0400, Nick Sabalausky (Abscissa) wrote: > Ultimately, everything points to the same thing: Those who actually CARE > about GTK/Gnome/Unity vs Qt/KDE, typically prefer Qt/KDE. The rest are > just swing votes. Unity 7 and prior for the desktop use Nux, an OpenGL-based

Re: D alternative for node.js's socket.IO?

2018-10-21 Thread Neia Neutuladh via Digitalmars-d
On Sun, 21 Oct 2018 23:05:06 -0400, Nick Sabalausky (Abscissa) wrote: > I'm afraid I'm not familiar with socket.io, and the homepage doesn't > seem to tell me much (it doesn't even say whether it uses TCP or UDP). > But that said, in D, the gold-standard for pretty much *anything* > related to

Re: shared - i need it to be useful

2018-10-21 Thread Neia Neutuladh via Digitalmars-d
On Sun, 21 Oct 2018 17:35:38 -0700, Manu wrote: > On Sun, Oct 21, 2018 at 3:15 PM Neia Neutuladh via Digitalmars-d > wrote: >> If we only used your proposal and only used @safe code, we wouldn't >> have any data races, but that's only because we wouldn't have any >> share

Re: shared - i need it to be useful

2018-10-21 Thread Neia Neutuladh via Digitalmars-d
On Sun, 21 Oct 2018 12:04:16 -0700, Manu wrote: > On Sun, Oct 21, 2018 at 12:00 PM Timon Gehr via Digitalmars-d > wrote: >> Note that there may well be a good way to get the good properties of MP >> without breaking the type system, but MP itself is not good because it >> breaks @safe. > > Show

Re: D alternative for node.js's socket.IO?

2018-10-21 Thread Neia Neutuladh via Digitalmars-d
On Sun, 21 Oct 2018 20:58:23 +, Fleel wrote: > Can std.socket provide a realtime connection between the client(web > browser) and the server, like for a chatroom or realtime multiplayer > game? Yes, but it will be a bit of work -- you'd need to implement a webserver by hand that can upgrade

Re: We need an internal keyword.

2018-10-21 Thread Neia Neutuladh via Digitalmars-d
On Sun, 21 Oct 2018 08:40:36 +, Laurent Tréguier wrote: > This is by design; the D way of dealing with this would be to split the > module into a package with multiple modules. This is often a usable way of doing things, but sometimes not so much. If you're writing a script for use with dub

Re: shared - i need it to be useful

2018-10-21 Thread Neia Neutuladh via Digitalmars-d
On Sat, 20 Oct 2018 22:47:14 -0700, Manu wrote: > Looking at the meat of the program; you open a file, and distribute it > to do accesses (I presume?) > Naturally, this is a really weird thing to do, because even if the API > is threadsafe such that it doesn't crash and reads/writes are >

Re: Beta 2.082.0

2018-10-17 Thread Neia Neutuladh via Digitalmars-d-announce
On Wednesday, 17 October 2018 at 14:02:20 UTC, Jesse Phillips wrote: Wait, why does each get a special bailout? Doesn't until full that role? `until` is lazy. We could have `doUntil` instead, which would be eager and would return a boolean indicating whether to continue. We could all write

Re: You don't like GC? Do you?

2018-10-12 Thread Neia Neutuladh via Digitalmars-d
On 10/12/2018 11:14 AM, Stanislav Blinov wrote: On Friday, 12 October 2018 at 17:31:30 UTC, Neia Neutuladh wrote: Throwaway scripts can allocate a lot of memory and have nontrivial running times. It's less common for scripts than for long-running processes, granted, but I've written scripts

Re: You don't like GC? Do you?

2018-10-12 Thread Neia Neutuladh via Digitalmars-d
On 10/12/2018 09:26 AM, Stanislav Blinov wrote: On Thursday, 11 October 2018 at 21:22:19 UTC, aberba wrote: "It takes care of itself --- When writing a throwaway script... ...there's absolutely no need for a GC. In fact, the GC runtime will only detract from

Re: D Logic bug

2018-10-11 Thread Neia Neutuladh via Digitalmars-d
On 10/11/2018 07:35 AM, James Japherson wrote: Took me about an hour to track this one down! A + (B == 0) ? 0 : C; D is evaluating it as (A + (B == 0)) ? 0 : C; Friends don't let friends use the ternary operator except in trivial cases. This would be a good thing for a linter to check.

Re: Passing $ as a function argument

2018-10-11 Thread Neia Neutuladh via Digitalmars-d
On 10/11/2018 04:36 AM, Dejan Lekic wrote: On Thursday, 11 October 2018 at 06:58:08 UTC, Simen Kjærås wrote: unittest {     auto x = fun($); // What does it even mean? } After some reading through the whole thread I think his "$ idea" can only be applied to a RandomAccessRange (and similar)

Re: Passing $ as a function argument

2018-10-10 Thread Neia Neutuladh via Digitalmars-d
On 10/10/2018 05:01 PM, James Japherson wrote: All I'm proposing is to to allow one to escape that syntax to function calls. foo(int index) {    return arr[index]; } and D can support foo($-1); which simply gets translated in to arr[arr.length - 1] I think you might have a

Re: static foreach

2018-10-10 Thread Neia Neutuladh via Digitalmars-d-learn
On 10/10/2018 04:03 PM, James Japherson wrote:> Says that it cannot interpret X(the class that contains the static> opApply). It's a bit hard to diagnose the problem you're getting using that function when we don't have the code that uses it. Or the context that's referenced with the foreach

Re: A Friendly Challenge for D

2018-10-10 Thread Neia Neutuladh via Digitalmars-d
On 10/10/2018 03:05 PM, Jabari Zakiya wrote: https://www.scribd.com/doc/228155369/The-Segmented-Sieve-of-Zakiya-SSoZ It would be great if you could provide a link to a freely downloadable version of this.

Re: Passing $ as a function argument

2018-10-10 Thread Neia Neutuladh via Digitalmars-d
On 10/10/2018 01:46 AM, James Japherson wrote: Would be nice to be able to pass $ as a function argument to be used in automatic path length traversing. $ only works in indexing operations because that's required to figure out what it refers to. However, you can mostly use it as a readonly

Re: This is why I don't use D.

2018-10-06 Thread Neia Neutuladh via Digitalmars-d
On 10/06/2018 01:38 AM, 0xEAB wrote: The "tests" check doesn't seem to work properly for DMD <= v2.072.0. If one looks at the reports[0] for those compilers, one will that pretty everything failed. For example, `discord-rpc`[1] doesn't even have any unittests. I'm clearing out those build

Re: D IDE

2018-09-26 Thread Neia Neutuladh via Digitalmars-d
On 09/26/2018 08:23 PM, Nick Sabalausky (Abscissa) wrote: On 09/05/2018 01:34 PM, ShadoLight wrote: I sometimes wonder if the Vim/Emacs 'affectionados' spend so much time mastering their editors (which by all accounts have a steep learning curve), that they forgot that IDE development did

Re: Calling nested function before declaration

2018-09-26 Thread Neia Neutuladh via Digitalmars-d
On 09/26/2018 03:46 PM, Jonathan wrote: I can't see how the current behavior is at all better or to be preferred unless it is faster to compile?  What is the reason for it being how it is? void outerFunction() { func(); auto lock = acquireLock(); void nested() { } } Inside `nested`,

Re: Updating D beyond Unicode 2.0

2018-09-26 Thread Neia Neutuladh via Digitalmars-d
On 09/26/2018 01:43 PM, Walter Bright wrote: Don't most languages have a Romanji-like representation? Yes, a lot of languages that don't use the Latin alphabet have standard transcriptions into the Latin alphabet. Standard transcriptions into ASCII are much less common, and newer Unicode

Re: Warn on unused imports?

2018-09-26 Thread Neia Neutuladh via Digitalmars-d
On 09/26/2018 02:51 AM, FeepingCreature wrote: On Wednesday, 26 September 2018 at 08:37:12 UTC, Dejan Lekic wrote: I humbly believe this does not belong to the compiler. These sort of things belong to a static code analyser TOOL. Think of checkstyle/findbugs in Java, or flake8/pep8 in Python

Re: Warn on unused imports?

2018-09-26 Thread Neia Neutuladh via Digitalmars-d
On 09/26/2018 12:39 AM, FeepingCreature wrote: On Tuesday, 25 September 2018 at 19:28:47 UTC, Jacob Carlborg wrote: The DMD compiler is available as a library. A linter tool can be based on that. Repeating it here: the library does not have version-tagged releases. For a build system based

Re: Updating D beyond Unicode 2.0

2018-09-23 Thread Neia Neutuladh via Digitalmars-d
On Monday, 24 September 2018 at 01:39:43 UTC, Walter Bright wrote: On 9/23/2018 3:23 PM, Neia Neutuladh wrote: Okay, that's why you previously selected C99 as the standard for what characters to allow. Do you want to update to match C11? It's been out for the better part of a decade, after

Re: Updating D beyond Unicode 2.0

2018-09-23 Thread Neia Neutuladh via Digitalmars-d
On Sunday, 23 September 2018 at 21:12:13 UTC, Walter Bright wrote: D supports Unicode in identifiers because C and C++ do, and we want to be able to interoperate with them. Extending Unicode identifier support off into other directions, especially ones that break such interoperability, is just

Re: Rather D1 then D2

2018-09-23 Thread Neia Neutuladh via Digitalmars-d
On Sunday, 23 September 2018 at 13:55:02 UTC, Guillaume Piolat wrote: AFAIK if you port D1 code the only problem is with immutable(char)[] instead of string, and the only thing to know is that immutable(T) and T implicitely convert to const(T). A lot of D1 code was 32-bit only, so there will

Re: Rather D1 then D2

2018-09-23 Thread Neia Neutuladh via Digitalmars-d
On Saturday, 22 September 2018 at 20:34:50 UTC, 0xEAB wrote: On Saturday, 22 September 2018 at 19:41:16 UTC, JN wrote: Some code will break, sure, but it's a mechanical change that should be possible to apply by some tool. Who will run this tool? Who's gonna merge the PRs created with this

Re: Updating D beyond Unicode 2.0

2018-09-22 Thread Neia Neutuladh via Digitalmars-d
On Saturday, 22 September 2018 at 19:59:42 UTC, Erik van Velzen wrote: Nobody in this thread so far has said they are programming in non-ASCII. I did. https://git.ikeran.org/dhasenan/muzikilo

Re: Updating D beyond Unicode 2.0

2018-09-22 Thread Neia Neutuladh via Digitalmars-d
On Saturday, 22 September 2018 at 12:35:27 UTC, Steven Schveighoffer wrote: But aren't we arguing about the wrong thing here? D already accepts non-ASCII identifiers. Walter was doing that thing that people in the US who only speak English tend to do: forgetting that other people speak other

Re: Updating D beyond Unicode 2.0

2018-09-22 Thread Neia Neutuladh via Digitalmars-d
On Saturday, 22 September 2018 at 12:24:49 UTC, Shachar Shemesh wrote: If memory serves me right, hieroglyphs actually represent consonants (vowels are implicit), and as such, are most definitely "characters". Egyptian hieroglyphics uses logographs (symbols representing whole words, which

Re: Updating D beyond Unicode 2.0

2018-09-22 Thread Neia Neutuladh via Digitalmars-d
On Saturday, 22 September 2018 at 08:52:32 UTC, Jonathan M Davis wrote: Unicode identifiers may make sense in a code base that is going to be used solely by a group of developers who speak a particular language that uses a number a of non-ASCII characters (especially languages like Chinese or

Re: Updating D beyond Unicode 2.0

2018-09-22 Thread Neia Neutuladh via Digitalmars-d
On Saturday, 22 September 2018 at 04:54:59 UTC, Joakim wrote: To wit, Windows linker error with Unicode symbol: https://github.com/ldc-developers/ldc/pull/2850#issuecomment-422968161 That's a good argument for sticking to ASCII for name mangling. I'm torn. I completely agree with Adam and

Re: Updating D beyond Unicode 2.0

2018-09-21 Thread Neia Neutuladh via Digitalmars-d
On Friday, 21 September 2018 at 20:25:54 UTC, Walter Bright wrote: But identifiers? I haven't seen hardly any use of non-ascii identifiers in C, C++, or D. In fact, I've seen zero use of it outside of test cases. I don't see much point in expanding the support of it. If people use such

Re: Updating D beyond Unicode 2.0

2018-09-21 Thread Neia Neutuladh via Digitalmars-d
On Friday, 21 September 2018 at 23:17:42 UTC, Seb wrote: A: Wait. Using emojis as identifiers is not a good idea? B: Yes. A: But the cool kids are doing it: The C11 spec says that emoji should be allowed in identifiers (ISO publication N1570 page 504/522), so it's not just the cool kids.

Re: This is why I don't use D.

2018-09-21 Thread Neia Neutuladh via Digitalmars-d
On Friday, 21 September 2018 at 20:49:54 UTC, 0xEAB wrote: On Thursday, 20 September 2018 at 17:06:43 UTC, Neia Neutuladh wrote: The tester is now submodule-aware and I removed builds for packages with a `.gitmodules` file. I'm not sure whether this is actually a good idea. There are some

Updating D beyond Unicode 2.0

2018-09-21 Thread Neia Neutuladh via Digitalmars-d
D's currently accepted identifier characters are based on Unicode 2.0: * ASCII range values are handled specially. * Letters and combining marks from Unicode 2.0 are accepted. * Numbers outside the ASCII range are accepted. * Eight random punctuation marks are accepted. This follows the C99

Re: Jai compiles 80,000 lines of code in under a second

2018-09-21 Thread Neia Neutuladh via Digitalmars-d
On Friday, 21 September 2018 at 13:28:47 UTC, aliak wrote: Sure, all true, but from what I've seen of Jai, it's not a simple language, and it does a decent amount of compile time stuff, but who knows, maybe the code is simple indeed. I remember a demo where he ran a game at compile time and

Re: Jai compiles 80,000 lines of code in under a second

2018-09-20 Thread Neia Neutuladh via Digitalmars-d
On Thursday, 20 September 2018 at 23:13:38 UTC, aliak wrote: Alo! I just watched this talk from Jonathan Blow [0] about his programming language called Jai, and he can now compile an 80,000 line game in about 1.5 seconds on a laptop (of course I have no idea what laptop he's using), under 1

Re: Truly @nogc Exceptions?

2018-09-20 Thread Neia Neutuladh via Digitalmars-d
On Thursday, 20 September 2018 at 15:52:15 UTC, H. S. Teoh wrote: Yeah, that's what I meant. :D Well, for backward compatibility we could still have .msg allocate and return a string, but we could provide an overload / alternate member function that writes directly to a sink instead. Then we

Re: Mobile is the new PC and AArch64 is the new x64

2018-09-20 Thread Neia Neutuladh via Digitalmars-d
On Thursday, 20 September 2018 at 05:45:52 UTC, Laurent Tréguier wrote: Why did the iPhone, and after that the smartphone industry as a whole, completely crush the classic cell phones when they have such a poor battery life? Smartphones don't have everything previous phones had. The pros

Re: This is why I don't use D.

2018-09-20 Thread Neia Neutuladh via Digitalmars-d
On Thursday, 20 September 2018 at 06:41:54 UTC, drug wrote: Autotester should show build logs because for example `nanogui` package reported as failed although it builds on my machines successfully. The tester is now submodule-aware and I removed builds for packages with a `.gitmodules`

Re: Simple parallel foreach and summation/reduction

2018-09-19 Thread Neia Neutuladh via Digitalmars-d-learn
On Thursday, 20 September 2018 at 05:34:42 UTC, Chris Katko wrote: All I want to do is loop from 0 to [constant] with a for or foreach, and have it split up across however many cores I have. You're looking at std.parallelism.TaskPool, especially the amap and reduce functions. Should do pretty

Re: dub auto-tester

2018-09-19 Thread Neia Neutuladh via Digitalmars-d
On Thursday, 20 September 2018 at 04:41:21 UTC, Joakim wrote: Nice, what will it take to get this integrated with the official dub website? I need to: * add JSON output to the auto-tester * get the dub registry to scrape the data (or, optionally, push the data to the registry, but that opens

Re: This is why I don't use D.

2018-09-19 Thread Neia Neutuladh via Digitalmars-d
On Thursday, 20 September 2018 at 02:51:52 UTC, Neia Neutuladh wrote: On Monday, 10 September 2018 at 01:27:20 UTC, Neia Neutuladh wrote: Not on dlang.org anywhere, but I built a crude version of this. Results are available at http://ikeran.org/report/. A quick status update: And source

Re: phobo's std.file is completely broke!

2018-09-19 Thread Neia Neutuladh via Digitalmars-d
On Thursday, 20 September 2018 at 03:15:20 UTC, Vladimir Panteleev wrote: When the OS itself fails to properly deal with such files, I don't think D has any business in *facilitating* their creation by default. Dear lord Windows is terrible. Can we just deprecate it?

Re: This is why I don't use D.

2018-09-19 Thread Neia Neutuladh via Digitalmars-d
On Monday, 10 September 2018 at 01:27:20 UTC, Neia Neutuladh wrote: Not on dlang.org anywhere, but I built a crude version of this. Results are available at http://ikeran.org/report/. A quick status update: Per-package reports and build badges are now a thing.

Re: phobo's std.file is completely broke!

2018-09-19 Thread Neia Neutuladh via Digitalmars-d
On Wednesday, 19 September 2018 at 08:54:42 UTC, Vladimir Panteleev wrote: BTW, something follows from the above: write(`C:\` ~ (short path) ~ `con`) will fail but: write(`C:\` ~ (long path) ~ `con`) will succeed. This is just one issue I've noticed... there's probably more lurking.

Re: Mobile is the new PC and AArch64 is the new x64

2018-09-18 Thread Neia Neutuladh via Digitalmars-d
On Tuesday, 18 September 2018 at 07:53:31 UTC, Joakim wrote: On Monday, 17 September 2018 at 22:27:41 UTC, Neia Neutuladh wrote: On Monday, 17 September 2018 at 15:47:14 UTC, Joakim wrote: Not sure why that matters if you agree with Kay that HTML is an abortion? :) I actually think it's great

Re: Mobile is the new PC and AArch64 is the new x64

2018-09-17 Thread Neia Neutuladh via Digitalmars-d
On Monday, 17 September 2018 at 15:47:14 UTC, Joakim wrote: Not sure why that matters if you agree with Kay that HTML is an abortion? :) I actually think it's great that mobile is killing off the web, as the Comscore usage stats I linked earlier show. HTML is a somewhat open standard. I'm

Re: int/longRe: DIP 1015--removal of integer & character literal conversion to bool--Final Review

2018-09-16 Thread Neia Neutuladh via Digitalmars-d
On Sunday, 16 September 2018 at 17:33:27 UTC, Steven Schveighoffer wrote: As precedent, we do have -transition=intpromote, which disables the requirement for casting smaller integers to int first. And -dip1000. Maybe it would be nice to have a generic -future=[changeid] flag. I'd like it if

Re: Fast linear search for non-null key in slice of Nullable(T, T.max)

2018-09-16 Thread Neia Neutuladh via Digitalmars-d-learn
On Sunday, 16 September 2018 at 16:28:20 UTC, Per Nordlöw wrote: If I have alias N = Nullable!(T, T nullValue) fed as template parameter to another template how can I at compile-time get the `nullValue` ? import std.traits; enum nullValue = TemplateArgsOf!(N)[1];

Re: Mobile is the new PC and AArch64 is the new x64

2018-09-16 Thread Neia Neutuladh via Digitalmars-d
On Sunday, 16 September 2018 at 10:25:30 UTC, Dave Jones wrote: Because for about £300 you can get an intel NUC system with 120GB SSD, which is more powerful and more upgradeable than your £700 mobile device. And some people still want that. For the typical person, it's more likely that

Re: More fun with autodecoding

2018-09-15 Thread Neia Neutuladh via Digitalmars-d
On Saturday, 15 September 2018 at 15:31:00 UTC, Steven Schveighoffer wrote: The problem I had was that it wasn't clear to me which constraint was failing. My bias brought me to "it must be autodecoding again!". But objectively, I should have examined all the constraints to see what was wrong.

Re: extern(C++, ns) is wrong

2018-09-14 Thread Neia Neutuladh via Digitalmars-d
On Saturday, 15 September 2018 at 00:07:44 UTC, Danni Coy wrote: So extern(C++,"ns") replaces the existing syntax It would be in addition, at least at first. The current syntax might be deprecated. and then improve D's general ability to hand functioning hijacking other functions would be

Re: phobo's std.file is completely broke!

2018-09-14 Thread Neia Neutuladh via Digitalmars-d
On Friday, 14 September 2018 at 19:42:39 UTC, Josphe Brigmo wrote: It's a bug, but how the hell can I reproduce examples when it depends on the file system? Something like this (though I don't know much about Windows, so this might be wrong): auto path = getcwd; auto dir =

Re: Proposal: __not(keyword)

2018-09-14 Thread Neia Neutuladh via Digitalmars-d
On Friday, 14 September 2018 at 18:13:49 UTC, Eugene Wissner wrote: Makes the code unreadable. You have to count all attributes in the file, then negate them. Nobody should write like this and therefore it is good, that there isn't something like __not. For @nogc, pure and so forth there were

Re: Proposal: __not(keyword)

2018-09-14 Thread Neia Neutuladh via Digitalmars-d
On Friday, 14 September 2018 at 18:06:55 UTC, Adam D. Ruppe wrote: Here's the simple idea: __not(anything) just turns off whatever `anything` does in the compiler. From your lips to G*d's ears.

Re: dmd as a library for scripting/JIT?

2018-09-14 Thread Neia Neutuladh via Digitalmars-d
On Friday, 14 September 2018 at 16:02:36 UTC, dennis luehring wrote: i've got user defined flow charts in my C++ application that calling C/C++ Code - could be possible to embedd dmd as a library, generate D code out of my flow charts and execute the "compiled" code directly without doing file

Re: Why the hell do exceptions give error in the library rather than the user code?

2018-09-14 Thread Neia Neutuladh via Digitalmars-d
On Friday, 14 September 2018 at 16:43:04 UTC, Josphe Brigmo wrote: It is because you are throwing inside your code. When the throw is from the library, it gives something like this: std.exception.ErrnoException@std/stdio.d(430): Cannot open file `/doesntexist' in mode `w' (Permission denied)

Re: Why the hell do exceptions give error in the library rather than the user code?

2018-09-14 Thread Neia Neutuladh via Digitalmars-d
On Friday, 14 September 2018 at 14:34:36 UTC, Josphe Brigmo wrote: std.file.FileException@C:\D\dmd2\windows\bin\..\..\src\phobos\std\file.d(3153): It is very annoying when the only error info I have is pointing to code in a library which tells me absolutely nothing about where the error

Re: filtered imports

2018-09-13 Thread Neia Neutuladh via Digitalmars-d
On Thursday, 13 September 2018 at 11:58:40 UTC, rikki cattermole wrote: import std.stdio; import std.file; void chdir(R)(R path) { writeln("changing dir to ", path); std.file.chdir(path); } And if you don't want to write long qualified import names, just rename it: import sf =

<    1   2   3   4   >