Release Candidate 2.085.0 [was: Beta 2.085.0]

2019-02-26 Thread Martin Nowak via Digitalmars-d-announce

On Saturday, 16 February 2019 at 15:06:51 UTC, Martin Nowak wrote:
http://dlang.org/download.html#dmd_beta 
http://dlang.org/changelog/2.085.0.html


The release candidate is live now.


Re: The D Programming Language has been accepted as a GSoC 2019 organization

2019-02-26 Thread 12345swordy via Digitalmars-d-announce

On Tuesday, 26 February 2019 at 22:34:45 UTC, Seb wrote:

Hi all,

I have some very exciting news to share.

[...]


That is great news! What is not great news is that I am no longer 
a student and I couldn't attend to this even though I want to.


Re: The D Programming Language has been accepted as a GSoC 2019 organization

2019-02-26 Thread Andrei Alexandrescu via Digitalmars-d-announce

On 2/26/19 5:34 PM, Seb wrote:

Hi all,

I have some very exciting news to share.

The D Language Language got accepted as a Google Summer of Code 
organization!


A few of us were waiting for permission to announce all day :o). 
Congratulations to Mike, Seb, and all others who made our proposal 
successful.


Let's get in gear for a great summer. It's time for ideas!


The D Programming Language has been accepted as a GSoC 2019 organization

2019-02-26 Thread Seb via Digitalmars-d-announce

Hi all,

I have some very exciting news to share.

The D Language Language got accepted as a Google Summer of Code 
organization!


The official GSoC page provides a few initial pointers and 
details:


https://summerofcode.withgoogle.com/organizations/6103365956665344

Below, I will try to answer a few common questions:

What projects will be offered?
--

You can find a list of potential projects at the D wiki:

https://wiki.dlang.org/GSOC_2019_Ideas

However, students can, of course, come up with their own 
projects, too!


And @community: it's still possible to add more projects to this 
list.
You can also put them new/old ideas up for discussion in the 
"General" Newsgroup. Though, it would be great if you could use 
the "[gsoc]" tag, s.t. we can keep track:


https://forum.dlang.org/newpost/general?subject=%5Bgsoc%5D


I want to propose my own project. What should I do?
---

The list of proposed projects isn't final and we do encourage new 
project proposals as we want you to enjoy the GSoC and find a 
project that you care about.
A rough road-map to a successful submission for your own project 
would be:


1) Evaluate your project and its planned outcome: how can this 
project help the D community? (good examples: compiler, druntime 
standard library, dub, popular dub projects)


2) Discuss your idea with the D community (e.g. here in the 
General forum) [optional, but recommended]


3) Get in touch with the D organization admins for guidance 
[optional, but recommended]. For obvious reasons we can't tell 
you whether your project proposal would be accepted, but we can 
tell you whether your project domain works in general.


4) Prepare and submit your proposal on the GSoC website


What will you look at when judging applications?


A few rough points that we will look at (we will publish more on 
this):


- your proposed road-map (i.e. how likely is it for you to finish 
successfully?)
- your skill set in regards to your project (i.e. have you done 
anything in the problem domain you're applying for?)
- engagement in the community / experience with D (i.e. your 
prior contributions to D)

...

I highly recommend you to read this student guide as it contains 
very helpful advice on the GSoC:


http://write.flossmanuals.net/gsocstudentguide/what-is-google-summer-of-code


I'm new to D and would like to apply. Is this still possible?
-

Yes of course and we do encourage you to do so.
However, we recommend you to get involved with D prior to your 
proposal submission deadline in April.

Two good starting points are:

- https://tour.dlang.org/
- https://wiki.dlang.org/Get_involved

Bugzilla can be a bit daunting at first, but there's also the 
"bootcamp" label on Bugzilla:


https://issues.dlang.org/buglist.cgi?component=phobos=bootcamp%2C%20preapproved_type=anywords_id=225005=D_format=advanced=---

You can always ask for help and pointers to getting involved on 
the DForum, IRC or Slack.



Where can I ask questions?
--

- DForum 
(https://forum.dlang.org/newpost/general?subject=%5Bgsoc%5D)

- Slack (#gsoc channel)
- IRC (#d)
- Mail (gsoc [at] dlang [dot] rocks)


Happy hacking!


Re: Beta 2.085.0

2019-02-26 Thread Andre Pany via Digitalmars-d-announce

On Tuesday, 26 February 2019 at 08:09:00 UTC, Andre Pany wrote:

On Sunday, 24 February 2019 at 22:31:53 UTC, Martin Nowak wrote:

[...]


I just found this regression for linux and windows, starting 
with 2.084.1 and still

occurring in this second beta:

[...]


Issue created
https://issues.dlang.org/show_bug.cgi?id=19701


Re: sumtype 0.8.3

2019-02-26 Thread Paul Backus via Digitalmars-d-announce

On Tuesday, 26 February 2019 at 12:52:11 UTC, JN wrote:

On Monday, 25 February 2019 at 20:31:43 UTC, Paul Backus wrote:
SumType is a generic sum type for modern D. It is meant as an 
alternative to

`std.variant.Algebraic`.


Is it a better alternative? Seems like it from the description. 
If it's objectively better on all fronts, perhaps it should be 
considered for inclusion into Phobos, as a replacement for the 
existing Algebraic?


SumType isn't a drop-in replacement for Algebraic (e.g., it 
removes some unsafe methods like `peek`), so it would have be 
included in addition to Algebraic, rather than instead of it.


That said, if Walter, Andrei, and the rest of the Phobos team are 
ok with having two implementations of essentially the same thing 
in the standard library, I think SumType has reached a level of 
stability where I'd be comfortable submitting it for inclusion.


Re: sumtype 0.8.3

2019-02-26 Thread Simen Kjærås via Digitalmars-d-announce

On Tuesday, 26 February 2019 at 12:52:11 UTC, JN wrote:

On Monday, 25 February 2019 at 20:31:43 UTC, Paul Backus wrote:
SumType is a generic sum type for modern D. It is meant as an 
alternative to

`std.variant.Algebraic`.


Is it a better alternative? Seems like it from the description. 
If it's objectively better on all fronts, perhaps it should be 
considered for inclusion into Phobos, as a replacement for the 
existing Algebraic?


It's not a perfect superset of Algebraic and Variant in Phobos, 
so it's not a strictly better alternative. The feature that is 
missing is SumType can't hold arbitrary types, only the types 
specified in its template parameters. However, for the case where 
the set of possible types is limited, it's strictly better.


--
  Simen


Re: sumtype 0.8.3

2019-02-26 Thread JN via Digitalmars-d-announce

On Monday, 25 February 2019 at 20:31:43 UTC, Paul Backus wrote:
SumType is a generic sum type for modern D. It is meant as an 
alternative to

`std.variant.Algebraic`.


Is it a better alternative? Seems like it from the description. 
If it's objectively better on all fronts, perhaps it should be 
considered for inclusion into Phobos, as a replacement for the 
existing Algebraic?


Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-26 Thread Atila Neves via Digitalmars-d-announce

On Tuesday, 26 February 2019 at 03:56:27 UTC, Walter Bright wrote:

On 2/25/2019 7:45 AM, Atila Neves wrote:
I have no idea what people are talking about when they mention 
on this forum that D's const is useless. Nearly every function 
parameter in my code is `in`. Nearly every variable 
declaration uses `const` instead of `auto`, the main exception 
being when a function is constructing a value to return. Most 
member functions I write are const or inout. I use const in D 
as I do in C++: pretty much everywhere. Nearly every single 
time a function parameter in my code isn't const is when it's 
an input range.


I'm going to make an educated guess that you're experienced at 
FP programming!


Indeed.

Functional is my default in any language. The good thing about D 
is I can get my hands dirty when needed as opposed to jumping 
through hoops or forcing me to use recursion when it doesn't fit 
the problem (hello C++ metaprogramming).


I'd love it if functions were `@safe` and `pure` by default.


Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-26 Thread Walter Bright via Digitalmars-d-announce

On 2/26/2019 2:32 AM, Jacob Carlborg wrote:

What about the __mutable proposal [1]?

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



It hasn't been approved yet, and please start another thread if you want to 
discuss it.


Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-26 Thread Jacob Carlborg via Digitalmars-d-announce

On 2019-02-25 01:38, Walter Bright wrote:


D's const has teeth. Nothing can be modified through T.


What about the __mutable proposal [1]?

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

--
/Jacob Carlborg


Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-26 Thread Jacob Carlborg via Digitalmars-d-announce

On 2019-02-25 21:23, Andrei Alexandrescu wrote:


Jacob, are there amends you need to make to the DIP?


No, I'm talking about the process in general.

--
/Jacob Carlborg


Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-26 Thread Greatsam4sure via Digitalmars-d-announce

On Monday, 25 February 2019 at 02:29:40 UTC, Manu wrote:
On Sun, Feb 24, 2019 at 4:25 PM Walter Bright via 
Digitalmars-d-announce  
wrote:


Thanks for letting me know you're abandoning the rvalue ref 
DIP.


It's not an "rvalue ref" DIP (which I think has confused a lot 
of

people), it's an rvalue *by-ref* DIP.
In my head, an "rvalue ref" DIP is something completely 
different,

useful for implementing move semantics of mismatching types.

Are you talking about my DIP or that other thing?


I had held off
working on it because I didn't want to duplicate efforts; 
we're short-staffed

enough as it is.


'abandoning's a strong word, but I don't have motivation to 
work on it right now. Please, be my guest!


The worth of man is not measure by where he stand when all things 
are going well but where he stands in the time of face of 
challenge.


Your dip has face significant challenge. It is just a test on 
your ability to forge ahead and get what you believe done in the 
face of challenges.


I will really have problem in taking you serious if you just 
abandon the dip. Pls rewrite the dip and let it be 50-50% win for 
all of us




Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-26 Thread RazvanN via Digitalmars-d-announce

On Sunday, 24 February 2019 at 10:46:37 UTC, Mike Parker wrote:
Walter and Andrei have requested the Final Review round be 
dropped for DIP 1018, "The Copy Constructor", and have given it 
their formal approval. They consider copy constructors a 
critical feature for the language.


Walter provided feedback on Razvan's implementation. When it 
reached a state with which he was satisfied, he gave the green 
light for acceptance.


The DIP:
https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1018.md


The implementation:
https://github.com/dlang/dmd/pull/8688


Are there any other concerns regarding the copy constructor DIP? 
Although the debate about the value of const's transitivity is an 
interesting one, it is orthogonal to this proposal.


Regarding the mutability of the copy constructor source: it is 
not mandatory that the source is mutable; you can define it as 
const, it's just that it is not going to work with mutable 
objects that contain indirections. There is no workaround for 
this, and per the current language rules this is not a problem.


As for the *by ref* rvalue DIP, I suggest that the discussion 
should be moved in an other forum thread, as the discussion is 
hijacked from getting feedback for DIP 1018


Cheers,
RazvanN


Re: Beta 2.085.0

2019-02-26 Thread Andre Pany via Digitalmars-d-announce

On Sunday, 24 February 2019 at 22:31:53 UTC, Martin Nowak wrote:
On Saturday, 16 February 2019 at 15:06:51 UTC, Martin Nowak 
wrote:
Glad to announce the first beta for the 2.085.0 release, ♥ to 
the 49 contributors.


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


Second beta is live now.


I just found this regression for linux and windows, starting with 
2.084.1 and still

occurring in this second beta:

app.d
import std.string;
void main(){}

dmd -m64 -c -ofdlang-sample.o -unittest -Xfdocs.json 
-Df__dummy.html -Isource app.d && dmd -ofdlang-sample 
dlang-sample.o -m64


dlang-sample.o: In function 
`_D3std8typecons__T5TupleTaTaZQl6toHashMxFNaNbNiNfZm':

app.d:(.text._D3std8typecons__T5TupleTaTaZQl6toHashMxFNaNbNiNfZm[_D3std8typecons__T5TupleTaTaZQl6toHashMxFNaNbNiNfZm]+0x19):
 undefined reference to `_D6object__T6hashOfTxaZQlFNaNbNiNfKxaZm'
app.d:(.text._D3std8typecons__T5TupleTaTaZQl6toHashMxFNaNbNiNfZm[_D3std8typecons__T5TupleTaTaZQl6toHashMxFNaNbNiNfZm]+0x32):
 undefined reference to `_D6object__T6hashOfTxaZQlFNaNbNiNfKxaZm'
collect2: error: ld returned 1 exit status
Error: linker exited with status 1

I currently do not have access to Issues, will create an issue 
later.


Kind regards
André