Development Stage for new DIPs

2018-08-08 Thread Mike Parker via Digitalmars-d-announce
I would like to remind everyone to please read the procedures 
document regarding the development stage for a new DIP [1] before 
submitting one. DIPs *should not be developed in the PR queue*. 
Doing so has the potential to result in a long thread of comments 
on minor details before we're ready to begin the Draft review in 
the same thread.


New DIPs should be developed on a branch in your fork of the DIP 
repository and only submitted as a pull request when you are 
satisfied that the DIP is ready to begin the Draft Review. Think 
of it this way -- if it isn't in a state in which you would 
submit it to an editor as a first draft for editing, then it 
isn't ready for draft review.


[1] 
https://github.com/dlang/DIPs/blob/master/PROCEDURE.md#development-stage


DIP 1017--Add Bottom Type--Community Review Round 1 Begins

2018-08-08 Thread Mike Parker via Digitalmars-d-announce
The first round of Community Review for DIP 1017, "Add Bottom 
Type", has begun. To participate, please visit the review thread 
for the details:


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

*Please leave all feedback in the review thread rather than here!*

Thanks!


Re: sumtype 0.5.0

2018-08-08 Thread Paul Backus via Digitalmars-d-announce

On Thursday, 9 August 2018 at 00:11:22 UTC, Seb wrote:

On Thursday, 9 August 2018 at 00:07:05 UTC, Seb wrote:
(It uses the version from DUB and updates itself once daily, 
but somehow dub still lists 0.4.1 at the moment)


It looks like you didn't push the git tag to GitHub:

https://github.com/pbackus/sumtype/releases


One of these days, I'll learn. Should be there now.


Re: sumtype 0.5.0

2018-08-08 Thread Seb via Digitalmars-d-announce

On Thursday, 9 August 2018 at 00:07:05 UTC, Seb wrote:
(It uses the version from DUB and updates itself once daily, 
but somehow dub still lists 0.4.1 at the moment)


It looks like you didn't push the git tag to GitHub:

https://github.com/pbackus/sumtype/releases


Re: sumtype 0.5.0

2018-08-08 Thread Seb via Digitalmars-d-announce

On Wednesday, 8 August 2018 at 20:54:13 UTC, Paul Backus wrote:
SumType is a generic sum type for modern D. It is meant as an 
alternative to `std.variant.Algebraic`.


Features:
  - Pattern matching, including support for structural matching 
(*)

  - Self-referential types, using `This`
  - Works with `pure`, `@safe`, `@nogc`, and `immutable` (*)
  - Zero runtime overhead compared to hand-written C
- No heap allocation
- Does not rely on runtime type information (`TypeInfo`) (*)

Starred features (*) are those that are missing from 
`Algebraic`.


Code examples are available in the documentation (linked below).

New since the last announced version, 0.3.0:
  - Types with destructors and postblits are now handled 
correctly.
  - Unreachable handlers in `match` calls are now a 
compile-time error.
  - `match` handlers can now operate on the stored value by 
reference.
  - A new method, `tryMatch`, allows for non-exhaustive pattern 
matching.

  - Various small improvements to the documentation.

Documentation: https://pbackus.github.io/sumtype/sumtype.html
DUB: https://code.dlang.org/packages/sumtype
Github: https://github.com/pbackus/sumtype


That's a pretty cool library!
I added it to run.dlang.io, s.t. it's easy for people to play 
with it and share examples, e.g.


https://run.dlang.io/is/5znJXH

(It uses the version from DUB and updates itself once daily, but 
somehow dub still lists 0.4.1 at the moment)


Re: sumtype 0.5.0

2018-08-08 Thread Paul Backus via Digitalmars-d-announce

On Wednesday, 8 August 2018 at 21:57:07 UTC, vit wrote:

Nice,
but destructor SumType.~this() can call destroy on reference 
type like class:


Whoops. Good catch. I've pushed a fix, tagged as version 0.5.1.


Re: sumtype 0.5.0

2018-08-08 Thread vit via Digitalmars-d-announce

On Wednesday, 8 August 2018 at 20:54:13 UTC, Paul Backus wrote:
SumType is a generic sum type for modern D. It is meant as an 
alternative to `std.variant.Algebraic`.


Features:
  - Pattern matching, including support for structural matching 
(*)

  - Self-referential types, using `This`
  - Works with `pure`, `@safe`, `@nogc`, and `immutable` (*)
  - Zero runtime overhead compared to hand-written C
- No heap allocation
- Does not rely on runtime type information (`TypeInfo`) (*)

Starred features (*) are those that are missing from 
`Algebraic`.


Code examples are available in the documentation (linked below).

New since the last announced version, 0.3.0:
  - Types with destructors and postblits are now handled 
correctly.
  - Unreachable handlers in `match` calls are now a 
compile-time error.
  - `match` handlers can now operate on the stored value by 
reference.
  - A new method, `tryMatch`, allows for non-exhaustive pattern 
matching.

  - Various small improvements to the documentation.

Documentation: https://pbackus.github.io/sumtype/sumtype.html
DUB: https://code.dlang.org/packages/sumtype
Github: https://github.com/pbackus/sumtype


Nice,
but destructor SumType.~this() can call destroy on reference type 
like class:


bool destructed = false;
class C{
~this(){
destructed = true;
}
}
struct S{
~this(){
}

}
void main(){
auto c = new C;
{
auto st = SumType!(C, S)(c);
}
assert(destructed == true);
}


sumtype 0.5.0

2018-08-08 Thread Paul Backus via Digitalmars-d-announce
SumType is a generic sum type for modern D. It is meant as an 
alternative to `std.variant.Algebraic`.


Features:
  - Pattern matching, including support for structural matching 
(*)

  - Self-referential types, using `This`
  - Works with `pure`, `@safe`, `@nogc`, and `immutable` (*)
  - Zero runtime overhead compared to hand-written C
- No heap allocation
- Does not rely on runtime type information (`TypeInfo`) (*)

Starred features (*) are those that are missing from `Algebraic`.

Code examples are available in the documentation (linked below).

New since the last announced version, 0.3.0:
  - Types with destructors and postblits are now handled 
correctly.
  - Unreachable handlers in `match` calls are now a compile-time 
error.
  - `match` handlers can now operate on the stored value by 
reference.
  - A new method, `tryMatch`, allows for non-exhaustive pattern 
matching.

  - Various small improvements to the documentation.

Documentation: https://pbackus.github.io/sumtype/sumtype.html
DUB: https://code.dlang.org/packages/sumtype
Github: https://github.com/pbackus/sumtype


Re: Dub support was added to Meson

2018-08-08 Thread Atila Neves via Digitalmars-d-announce

On Wednesday, 8 August 2018 at 17:26:39 UTC, Mike Wey wrote:

On 07-08-18 22:33, Atila Neves wrote:
How does it track dependencies given that ninja needs 
functionality akin to gcc's to do that? Or does it always 
compile everything if any file changes?


It currently only tracks dependencies when using gdc, for dmd 
and ldc dmd pull 6961[1] would have to be merged so that 
support can be extended to the other compilers.


So when using ldc or dmd you will currently have to call 'ninja 
clean && ninja' to compile everything.


[1] https://github.com/dlang/dmd/pull/6961


Makes sense, thanks for the info.


Re: Dub support was added to Meson

2018-08-08 Thread Mike Wey via Digitalmars-d-announce

On 07-08-18 22:33, Atila Neves wrote:
How does it track dependencies given that ninja needs functionality akin 
to gcc's to do that? Or does it always compile everything if any file 
changes?


It currently only tracks dependencies when using gdc, for dmd and ldc 
dmd pull 6961[1] would have to be merged so that support can be extended 
to the other compilers.


So when using ldc or dmd you will currently have to call 'ninja clean && 
ninja' to compile everything.


[1] https://github.com/dlang/dmd/pull/6961

--
Mike Wey


Re: Seoul D Meetup - Aug 9 - BlockchainOS & Learn Teach Code Seoul

2018-08-08 Thread Mike Parker via Digitalmars-d-announce

On Thursday, 12 July 2018 at 14:46:15 UTC, Mike Parker wrote:
I'm very happy to announce the next Seoul D meetup on August 9 
at 7:00 pm. We're partnering with local company BlockchainOS 
and the Meetup group 'Learn Teach Code Seoul' for an 
interactive 'Introduction to D' presentation/tutorial followed 
by an hour of coding challenges. BlockchainOS is graciously 
hosting the event in their office building in Yeoksam dong.


If there are any other D programmers out there hiding under the 
kimchi pots, come on out and help us show the light to some 
potential future D community members!


https://www.meetup.com/Learn-Teach-Code-Seoul/events/252700823/


Just a reminder, this is still on. We've got several members of 
the 'Learn Teach Code Seoul' meetup group coming, as well as the 
CEO of BlockchainOS, possibly along with some of his employees. 
Mathias Lang will be there and hopefully so will Mike Franklin.


This is an introduction to D for newbies, but any other D users 
in the area are welcome to come along. We could use the extra 
hands to help people with the coding challenges.


D Boston Meetup - 8/22

2018-08-08 Thread Steven Schveighoffer via Digitalmars-d-announce

Hi all,

We are meeting again at the Capital One Cafe [1] on August 22nd at 6pm 
for a meetup to continue (start?) progress on the NLP library and to 
converse more about our favorite language. Sameer and Michael are going 
to be there, as well as myself.


If you are in the Boston area around that time and want to hang out, 
drop on by! Respond here or send me an email to let me know you are coming.


-Steve

[1] 799 Boylston St, Boston, MA 02116