Re: Blog Post: Beating std::visit Without Really Trying

2019-10-07 Thread Paolo Invernizzi via Digitalmars-d-announce

On Sunday, 6 October 2019 at 19:58:04 UTC, Walter Bright wrote:

On 10/6/2019 2:59 AM, Paolo Invernizzi wrote:
Well, so there's hope that _very little_ improvements will be 
merged, in a way or another? I mean, there's some sort of 
policy for things like that:


    https://github.com/dlang/phobos/pull/6730

Frankly speaking, the actual situation it's a little 
discouraging...


We want a much higher bar for merging things than historically. 
A smaller, higher quality library is preferable to a kitchen 
sink library.


The pull request I've shown is pretty simple:

- std.socket is ... well... not the best piece of code out there
- the `receive` method is usually in the _hot_ code path
- it's not marked @nogc, and actually it does not allocate

So:

- adding @nogc will break derived classes that redefines the 
method (I still regret that the language was not shifted towards 
"final by default", years ago, as clearly that would be a *great* 
mitigation over that kind of problems)


- adding another method to a class, marked @nogc, and (maybe) 
deprecating the previous method is seen as 'annoying', also if 
it's a _clear_ improvement over the actual situation (you can 
write _better_ code with that in place compared to the actual 
situation, I mean)


I'm on the same boat with you, regarding what you wrote, but ... 
I still don't understand the number printed on the bar level.


There's a number of recurring patterns of simple things to fix 
like the one above, with the same kind of problem to address. I 
humbly suggest the core team to just forge a general recipe for 
some of them, and stick with it, so that the number of the bar is 
less blurred. That scales, and encourage contribution.


So, what do you think about starting a first one bases on cases 
similar to the above?












Re: Blog Post: Beating std::visit Without Really Trying

2019-10-07 Thread Joseph Rushton Wakeling via Digitalmars-d-announce

On Monday, 7 October 2019 at 01:38:04 UTC, Paul Backus wrote:
Just to clarify: SumType isn't, and was never intended to be, a 
drop-in replacement for Algebraic. Their interfaces are similar 
enough that porting code from Algebraic to SumType shouldn't be 
too difficult, but even within the common subset, there are 
incompatibilities. For example, here's a post from an old 
sumtype announcement thread where I discuss the differences 
between SumType's `match` and Algebraic's `visit`:


https://forum.dlang.org/post/xipgrrfljdnyhrhnm...@forum.dlang.org


I don't follow. The visit and match template signatures are 
identical, and from what you describe the SumType match 
implementation should support the same handler choices as visit, 
while allowing extra/more flexible choices.


Where's the breaking change? Are there selections of handlers 
that work for visit and don't work with match?





Re: Blog Post: Beating std::visit Without Really Trying

2019-10-07 Thread Paul Backus via Digitalmars-d-announce
On Monday, 7 October 2019 at 08:07:01 UTC, Joseph Rushton 
Wakeling wrote:
Where's the breaking change? Are there selections of handlers 
that work for visit and don't work with match?


Yes.

https://run.dlang.io/is/UpaY2E


Re: Blog Post: Beating std::visit Without Really Trying

2019-10-07 Thread Arredondo via Digitalmars-d-announce

On Sunday, 6 October 2019 at 03:47:25 UTC, Seb wrote:
Phobos is amazing and stable, but exactly because of these 
attributes there isn't much active development happening.


I thought that the work on dip1000 and the current push for 
borrow semantics and other lifetime related issues that have 
certainly been receiving a lot of attention were partly motivated 
because Andrei could not write the containers library that he 
wanted to write, and that one of the first applications that 
those things would see is a proper containers library in Phobos.


Reloaded Vibes: Smart auto-reloading service and server for (web) development.

2019-10-07 Thread beyar-123--- via Digitalmars-d-announce

https://forum.dlang.org/post/nnwxjluqodqayihrd...@forum.dlang.org

On Friday, 12 July 2019 at 16:23:35 UTC, 0xEAB wrote:

On Thursday, 27 June 2019 at 15:50:43 UTC, BN26 wrote:

Amazing work! I was looking for something like this.

At the moment, I have to rerun dub after every change, it's a 
pain to develop with Vibe.d


Hey, nice to hear it's useful to you :)


Do you already have something similar in use?


No, I literally killed the process and rerun dub again, how have 
this not been fixed yet?

Iterative and incremental development is impossible with vibe.d.


Re: Reloaded Vibes: Smart auto-reloading service and server for (web) development.

2019-10-07 Thread H. S. Teoh via Digitalmars-d-announce
On Mon, Oct 07, 2019 at 10:21:08PM +, beyar-123--- via 
Digitalmars-d-announce wrote:
[...]
> > On Thursday, 27 June 2019 at 15:50:43 UTC, BN26 wrote:
> > > Amazing work! I was looking for something like this.
> > > 
> > > At the moment, I have to rerun dub after every change, it's a pain
> > > to develop with Vibe.d
[...]
> > > Do you already have something similar in use?
> 
> No, I literally killed the process and rerun dub again, how have this
> not been fixed yet?
> Iterative and incremental development is impossible with vibe.d.

Dub leaves a lot to be desired as a build system. I gave up using dub
for my vibe.d project a long time ago. Instead, I create a fake empty
dub project in a subdirectory whose sole purpose is to declare
dependency on vibe.d, then I run dub only once in that subdirectory when
I want to update vibe.d.  The rest of the time, I use my own build
system to do the actual build/link.

My turnaround time was significantly improved by doing this.


T

-- 
People demand freedom of speech to make up for the freedom of thought which 
they avoid. -- Soren Aabye Kierkegaard (1813-1855)


intel-intrinsics v1.2.0: Added GDC support, SSE3

2019-10-07 Thread Guillaume Piolat via Digitalmars-d-announce
`intel-intrinsics` is a DUB package for people interested in x86 
performance that want a portable set of intrinsics which works 
with all D compilers.


Available through DUB: 
http://code.dlang.org/packages/intel-intrinsics



*** Changelog of v1.2.0 ***

- SSE3 intrinsics were implemented.
- Added GDC x86/x86_64 support


See this table here to know in which case the intrinsics resort 
to a slow, emulated version: 
https://github.com/AuburnSounds/intel-intrinsics#supported-instructions-set


Re: intel-intrinsics v1.2.0: Added GDC support, SSE3

2019-10-07 Thread Iain Buclaw via Digitalmars-d-announce
On Tue, 8 Oct 2019 at 02:30, Guillaume Piolat via
Digitalmars-d-announce  wrote:
>
> `intel-intrinsics` is a DUB package for people interested in x86
> performance that want a portable set of intrinsics which works
> with all D compilers.
>
> Available through DUB:
> http://code.dlang.org/packages/intel-intrinsics
>
>
> *** Changelog of v1.2.0 ***
>
> - SSE3 intrinsics were implemented.
> - Added GDC x86/x86_64 support
>
>
> See this table here to know in which case the intrinsics resort
> to a slow, emulated version:
> https://github.com/AuburnSounds/intel-intrinsics#supported-instructions-set

Thanks.

-- 
Iain