Re: Release fluent-asserts 0.6.0

2017-07-07 Thread Jay Norwood via Digitalmars-d-announce

On Sunday, 2 July 2017 at 13:34:25 UTC, Szabo Bogdan wrote:


Any feedback is appreciated.

Thanks,
Bogdan


Hi,  if you're just looking for other ideas, you might want to 
look at adding capabilities like in the java hamcrest matchers.  
You might also want to support regular expression matches in the 
string matchers.


http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/Matchers.html

These were used in swtbot, which made a very nice testing 
environment for their swt gui widgets.  Swtbot added filtering 
for the context of the match as well.  You can get a feel for it 
in this article.  There is a DWT library translated from java 
swt, but this testing app wasn't ported.


http://www.vogella.com/tutorials/SWTBot/article.html








DIP 1007--"future symbol"--Has Been Accepted

2017-07-07 Thread Mike Parker via Digitalmars-d-announce
Congratulations to Mihails Strasuns, a.k.a. Dicebot, on the acceptance 
of his DIP 1007, '"future symbol" Compiler Concept'!


https://github.com/dlang/DIPs/blob/master/DIPs/DIP1007.md

Although the proposal recommended that the feature be implemented only 
internally for DRuntime initially, Walter felt that isn't necessary. So 
once implemented, the feature will be available for immediate use. 
Thanks are due to Sociomantic, particularly Leandro Lucarella, who 
answered Walter's questions on Sociomantic's usage of the feature in 
their code base.


In other DIP news, I'm tentatively planning to merge DIP 1011 and begin 
its preliminary review in the coming week. This is going to be the 
"extern(delegate)" proposal from Jonathan Marler. I invite everyone to 
participate in the draft review on the PR over the next few days.


https://github.com/dlang/DIPs/pull/74

Another DIP in the queue in need of a draft review is Nicholas Wilson's 
proposal to allow changing the default attributes (like @system vs. 
@safe, @nogc vs. 'uses GC'). This DIP follows on from a recent 
discussion here in the forums. The sooner we can get feedback on the PR, 
the sooner I'll be ready to merge it and begin the review process.


https://github.com/dlang/DIPs/pull/75

Finally, I find that DIP 1010, Timon Gehr's "static foreach", received 
no external input in the draft review, and no feedback during the 
preliminary review -- the discussion thread is empty! Either it was 
completely ignored or it's so well put together that it warrants no 
criticism. I'm inclined to believe that it's the latter. With that in 
mind, I'm going to push it on to the formal review without the normal 
two-week window for feedback. I'll make the announcement on Monday, then 
if there is no feedback by Wednesday that warrants keeping it open, I'll 
submit it to Walter and Andrei for judgement. So please read the DIP if 
you haven't already and consider over the weekend if you have anything 
to say about it. If so, then you can post it in the thread I'll open on 
Monday.


https://github.com/dlang/DIPs/blob/master/DIPs/DIP1010.md


Re: Go Your Own Way (Part One: The Stack)

2017-07-07 Thread Mike Parker via Digitalmars-d-announce

On Saturday, 8 July 2017 at 01:28:59 UTC, Walter Bright wrote:

On 7/7/2017 4:35 PM, Nicholas Wilson wrote:
It's an intrinsic in LDC. We can certainly drop the per 
platform and move to a per compiler definition instead.


It's already there under:

version (DigitalMars)


I read this as CRuntime_DigitalMars, which prompted a search that 
led me to a page at MSDN on _alloca, which gave me a compiler 
error when I prototyped it, which led to my prototyping alloca 
for CRuntime_Microsoft and finding success, which has now 
confirmed my worry that publishing without a review was a bad 
idea. I've updated the post. Thanks!


Re: Release candidates vibe.d 0.8.0-rc.6 and vibe-core 1.0.0-rc.4

2017-07-07 Thread Sönke Ludwig via Digitalmars-d-announce

There have been two more regression fixes:

- (De)serialization of self-referential types was broken (@safe related 
compile error)

- The .parentPath property of the new path types in vibe-core was broken

The release date is still scheduled for Monday.


Re: Go Your Own Way (Part One: The Stack)

2017-07-07 Thread Walter Bright via Digitalmars-d-announce

On 7/7/2017 4:35 PM, Nicholas Wilson wrote:
It's an intrinsic in LDC. We can certainly drop the per platform and move to a 
per compiler definition instead.


It's already there under:

version (DigitalMars)


Re: Go Your Own Way (Part One: The Stack)

2017-07-07 Thread H. S. Teoh via Digitalmars-d-announce
On Fri, Jul 07, 2017 at 07:12:28PM -0600, Jonathan M Davis via 
Digitalmars-d-announce wrote:
> On Friday, July 7, 2017 1:48:47 PM MDT Adam D. Ruppe via Digitalmars-d-
> announce wrote:
[...]
> > The implicit slice is one of what I see as D's design flaws and
> > brings up a number of problems. dip1000 and similar things might be
> > able to fix the problems without changing the feature, but I won't
> > be surprised if after a couple more years, we see that implicit
> > slice get deprecated.

I'm also against implicit slicing of static arrays. It's just too
dangerous, and also interacts poorly with template functions.


> The trick is convincing Walter. The last time I brought it up with
> him, he thought that improvements to @safe would fix the problem - and
> they will help - but it interacts badly with templated code, and I
> think that from a code clarity standpoint, the slicing needs to be
> explicit. So, I'm of the opinion that implicit slicing should simply
> be deprecated regardless of the state of @safe, but I don't know how
> possible it is to convince Walter of that. Fixing the @safe issues is
> at least a start though.
[...]

It's true that fixing @safe issues will at least reduce the problem
surface of implicit slicing. But it's like bandaid over a festering
wound; the problem is still there, it just lurks in more obscure corners
now.


T

-- 
If the comments and the code disagree, it's likely that *both* are wrong. -- 
Christopher


Re: Go Your Own Way (Part One: The Stack)

2017-07-07 Thread Jonathan M Davis via Digitalmars-d-announce
On Friday, July 7, 2017 1:48:47 PM MDT Adam D. Ruppe via Digitalmars-d-
announce wrote:
> I would add a note to the "static arrays are interchangeable with
> dynamic arrays" saying that you can... and probably should
> explicitly slice them with `[]`.
>
> The implicit slice is one of what I see as D's design flaws and
> brings up a number of problems. dip1000 and similar things might
> be able to fix the problems without changing the feature, but I
> won't be surprised if after a couple more years, we see that
> implicit slice get deprecated.

The trick is convincing Walter. The last time I brought it up with him, he
thought that improvements to @safe would fix the problem - and they will
help - but it interacts badly with templated code, and I think that from a
code clarity standpoint, the slicing needs to be explicit. So, I'm of the
opinion that implicit slicing should simply be deprecated regardless of the
state of @safe, but I don't know how possible it is to convince Walter of
that. Fixing the @safe issues is at least a start though.

- Jonathan M Davis



Re: Go Your Own Way (Part One: The Stack)

2017-07-07 Thread Nicholas Wilson via Digitalmars-d-announce

On Friday, 7 July 2017 at 22:42:08 UTC, Walter Bright wrote:

On 7/7/2017 1:33 PM, Steven Schveighoffer wrote:
Since it's an intrinsic (as confirmed by you), maybe we can 
just drop the version conditions? The compiler will always 
generate it, regardless of C lib, right? I'll do the PR if you 
agree (just want to make sure I understand your statements 
about it).


DMD will. I don't know about LDC or GDC.


It's an intrinsic in LDC. We can certainly drop the per platform 
and move to a per compiler definition instead.


Re: Go Your Own Way (Part One: The Stack)

2017-07-07 Thread Walter Bright via Digitalmars-d-announce

On 7/7/2017 1:33 PM, Steven Schveighoffer wrote:
Since it's an intrinsic (as confirmed by you), maybe we can just drop the 
version conditions? The compiler will always generate it, regardless of C lib, 
right? I'll do the PR if you agree (just want to make sure I understand your 
statements about it).


DMD will. I don't know about LDC or GDC.



Re: Go Your Own Way (Part One: The Stack)

2017-07-07 Thread Steven Schveighoffer via Digitalmars-d-announce

On 7/7/17 4:10 PM, Walter Bright wrote:

On 7/7/2017 12:38 PM, Steven Schveighoffer wrote:
Which would mean that the lack of alloca prototype on Windows is a 
straight up bug (the fact that you can just add the declaration and it 
works is pretty good proof).


It's in core.stdc.stdlib



Since it's an intrinsic (as confirmed by you), maybe we can just drop 
the version conditions? The compiler will always generate it, regardless 
of C lib, right? I'll do the PR if you agree (just want to make sure I 
understand your statements about it).


-Steve


Re: Go Your Own Way (Part One: The Stack)

2017-07-07 Thread Mike Wey via Digitalmars-d-announce

On 07-07-17 22:10, Walter Bright wrote:

On 7/7/2017 12:38 PM, Steven Schveighoffer wrote:
Which would mean that the lack of alloca prototype on Windows is a 
straight up bug (the fact that you can just add the declaration and it 
works is pretty good proof).


It's in core.stdc.stdlib


Only for version DigitalMars and GNU.

--
Mike Wey


Re: Go Your Own Way (Part One: The Stack)

2017-07-07 Thread Walter Bright via Digitalmars-d-announce

On 7/7/2017 12:38 PM, Steven Schveighoffer wrote:
Which would mean that the lack of alloca prototype on Windows is a straight up 
bug (the fact that you can just add the declaration and it works is pretty good 
proof).


It's in core.stdc.stdlib



Re: Go Your Own Way (Part One: The Stack)

2017-07-07 Thread Walter Bright via Digitalmars-d-announce

On 7/7/2017 12:36 PM, Steven Schveighoffer wrote:
I thought alloca was an intrinsic? Which means that the compiler generates 
inline code to add to the stack.


I would think it has to do this, since actually calling a function would 
generate a new stack frame.


Yes and yes.



Re: Go Your Own Way (Part One: The Stack)

2017-07-07 Thread Steven Schveighoffer via Digitalmars-d-announce

On 7/7/17 3:36 PM, Steven Schveighoffer wrote:


I thought alloca was an intrinsic? Which means that the compiler 
generates inline code to add to the stack.


Which would mean that the lack of alloca prototype on Windows is a 
straight up bug (the fact that you can just add the declaration and it 
works is pretty good proof).


-Steve


Re: Go Your Own Way (Part One: The Stack)

2017-07-07 Thread Steven Schveighoffer via Digitalmars-d-announce

On 7/7/17 8:59 AM, Mike Parker wrote:
This is my latest post in the GC series. I had promised the next one 
would look at non-GC allocation strategies, but as it got longer and 
longer I decided to break it up into two parts. This part covers stack 
allocations. The next one will deal with non-GC heap allocations.


If my luck holds out, we're about to see a flurry of guest posts and 
collaborations over the next few weeks. If that pans out, I expect to 
publish the part two in mid-late August.


The blog:
https://dlang.org/blog/2017/07/07/go-your-own-way-part-one-the-stack/

Reddit:
https://www.reddit.com/r/programming/comments/6ltfwx/go_your_own_way_part_one_of_two_on_nongc/ 



I thought alloca was an intrinsic? Which means that the compiler 
generates inline code to add to the stack.


I would think it has to do this, since actually calling a function would 
generate a new stack frame.


-Steve


Re: Go Your Own Way (Part One: The Stack)

2017-07-07 Thread Guillaume Piolat via Digitalmars-d-announce

On Friday, 7 July 2017 at 13:48:47 UTC, Adam D. Ruppe wrote:
I would add a note to the "static arrays are interchangeable 
with dynamic arrays" saying that you can... and probably should 
explicitly slice them with `[]`.


The implicit slice is one of what I see as D's design flaws and 
brings up a number of problems. dip1000 and similar things 
might be able to fix the problems without changing the feature, 
but I won't be surprised if after a couple more years, we see 
that implicit slice get deprecated.


+1 it only creates confusion


Re: Go Your Own Way (Part One: The Stack)

2017-07-07 Thread Adam D. Ruppe via Digitalmars-d-announce
I would add a note to the "static arrays are interchangeable with 
dynamic arrays" saying that you can... and probably should 
explicitly slice them with `[]`.


The implicit slice is one of what I see as D's design flaws and 
brings up a number of problems. dip1000 and similar things might 
be able to fix the problems without changing the feature, but I 
won't be surprised if after a couple more years, we see that 
implicit slice get deprecated.


Re: Go Your Own Way (Part One: The Stack)

2017-07-07 Thread via Digitalmars-d-announce

On Friday, 7 July 2017 at 12:59:44 UTC, Mike Parker wrote:
This is my latest post in the GC series. I had promised the 
next one would look at non-GC allocation strategies, but as it 
got longer and longer I decided to break it up into two parts. 
This part covers stack allocations. The next one will deal with 
non-GC heap allocations.


If my luck holds out, we're about to see a flurry of guest 
posts and collaborations over the next few weeks. If that pans 
out, I expect to publish the part two in mid-late August.


The blog:
https://dlang.org/blog/2017/07/07/go-your-own-way-part-one-the-stack/

Reddit:
https://www.reddit.com/r/programming/comments/6ltfwx/go_your_own_way_part_one_of_two_on_nongc/


Nicely written as usual, keep those posts coming :P

BTW, I noticed that the "Learn" button doesn't point to the DLang 
Tour, like it does on dlang.org, so I opened a PR to fix this: 
https://github.com/dlang/D-Blog-Theme/pull/21.


Go Your Own Way (Part One: The Stack)

2017-07-07 Thread Mike Parker via Digitalmars-d-announce
This is my latest post in the GC series. I had promised the next 
one would look at non-GC allocation strategies, but as it got 
longer and longer I decided to break it up into two parts. This 
part covers stack allocations. The next one will deal with non-GC 
heap allocations.


If my luck holds out, we're about to see a flurry of guest posts 
and collaborations over the next few weeks. If that pans out, I 
expect to publish the part two in mid-late August.


The blog:
https://dlang.org/blog/2017/07/07/go-your-own-way-part-one-the-stack/

Reddit:
https://www.reddit.com/r/programming/comments/6ltfwx/go_your_own_way_part_one_of_two_on_nongc/


Re: Work on ARM backend for DMD started

2017-07-07 Thread Temtaime via Digitalmars-d-announce
DMD is a piece of shit, and adding another one ARM backend with 
all those bugs and low performance instead of improving ldc is 
wasting efforts.

The only use of dmd is development because of compilation speed.
But some persons have "cerveau lent" and just cannot realise it.


Re: Beta 2.075.0-b2

2017-07-07 Thread Paolo Invernizzi via Digitalmars-d-announce

On Wednesday, 5 July 2017 at 17:59:16 UTC, Martin Nowak wrote:

Second beta for the 2.075.0 release.

Comes with a couple of more fixes for dmd, phobos, and dub:

https://github.com/dlang/dmd/compare/v2.075.0-b1...v2.075.0-b2 
https://github.com/dlang/phobos/compare/v2.075.0-b1...v2.075.0-b2 https://github.com/dlang/dub/compare/v1.4.0-beta.1...v1.4.0-beta.2


Downloads and changelog here:

http://dlang.org/download.html#dmd_beta 
http://dlang.org/changelog/2.075.0.html


Please report any bugs at https://issues.dlang.org.

- -Martin


Installed on macOS via brew...

  pinver$ /usr/local/Cellar/dmd/2.075.0-b2/bin/dmd --version
  DMD64 D Compiler v2.074.1

/Paolo


Re: Release candidates vibe.d 0.8.0-rc.1 and vibe-core 1.0.0-rc.1

2017-07-07 Thread Sönke Ludwig via Digitalmars-d-announce

Am 04.07.2017 um 12:43 schrieb Szabo Bogdan:

On Thursday, 22 June 2017 at 20:59:51 UTC, Sönke Ludwig wrote:

Am 22.06.2017 um 20:52 schrieb aberba:

[...]


Agreed, there are several places in there that can be improved or made 
more consistent. The HTTP package (including WebSockets) is the next 
big part that is up for a complete redesign, also (finally) including 
HTTP/2 support. Since I'm really busy with another project I can't 
state a reliable schedule for this, but I'll try to start in the near 
future and will also to try to involve interested people in the 
design/development process as early as that makes sense.


I can help... How can I contribute?


When the initial design sketch is done, I'll probably just directly put 
that up as a repository, so that everyone can comment and improve. I 
will get back to you once that is done, would be great to get more 
support. There will also be all different kinds of things to do, since 
basically almost everything will have to be rewritten one way or another.