Re: DConf 2017 Hackathon report [OT]

2017-05-12 Thread Iain Buclaw via Digitalmars-d
On 12 May 2017 at 14:45, David Nadlinger via Digitalmars-d
 wrote:
> On Thursday, 11 May 2017 at 21:37:45 UTC, Iain Buclaw wrote:
>>
>> This is not a problem that needs to be solved for GDC.
>
>
> It's not a problem that needs to be solved *in* GDC, but it has to be
> tackled *for* (packaging) GDC, as you need to have a bootstrap compiler
> available. Hence, building a C++-based compiler is less complex than a
> D-based compiler – that is, if you don't want to depend on a pre-existing D
> compiler, but are fine with using a pre-existing C++ compiler, which is what
> the LDC snap packages currently does.
>

I've spoken to the author.  I'm of the opinion that this is a design
choice, not something that should be considered an inherent
complexity.

Iain.



Re: DConf 2017 Hackathon report [OT]

2017-05-12 Thread David Nadlinger via Digitalmars-d

On Thursday, 11 May 2017 at 21:37:45 UTC, Iain Buclaw wrote:

This is not a problem that needs to be solved for GDC.


It's not a problem that needs to be solved *in* GDC, but it has 
to be tackled *for* (packaging) GDC, as you need to have a 
bootstrap compiler available. Hence, building a C++-based 
compiler is less complex than a D-based compiler – that is, if 
you don't want to depend on a pre-existing D compiler, but are 
fine with using a pre-existing C++ compiler, which is what the 
LDC snap packages currently does.


 — David


Re: DConf 2017 Hackathon report

2017-05-12 Thread Jacob Carlborg via Digitalmars-d

On 2017-05-12 13:57, rikki cattermole wrote:


I've never used the variable support in dub, its fairly recent.
Yeah two dashes, my bad.

idgen I don't think right now is setup for the argument, but its either
that or find another solution cross platform to change directories.


I think I have it working now. $PACKAGE_DIR seems to work and do what I 
want it to do. Thanks for the help.


--
/Jacob Carlborg


Re: DConf 2017 Hackathon report

2017-05-12 Thread Nicholas Wilson via Digitalmars-d

On Friday, 12 May 2017 at 11:45:45 UTC, Jacob Carlborg wrote:

On 2017-05-12 13:29, rikki cattermole wrote:


May as well, it is a separate artifact from the build process.


I get:

Invalid variable: dmd_PACKAGE_DIR

And I'm not sure about the syntax. Is that supposed to be two 
dashes? And I should add an argument to idgen?


Yes. No, idgen just runs in the cwd any writes to files in the 
cwd.
If you're having it as a sub package you may want to change idgen 
to specify a path.


Re: DConf 2017 Hackathon report

2017-05-12 Thread rikki cattermole via Digitalmars-d

On 12/05/2017 12:45 PM, Jacob Carlborg wrote:

On 2017-05-12 13:29, rikki cattermole wrote:


May as well, it is a separate artifact from the build process.


I get:

Invalid variable: dmd_PACKAGE_DIR

And I'm not sure about the syntax. Is that supposed to be two dashes?
And I should add an argument to idgen?


I've never used the variable support in dub, its fairly recent.
Yeah two dashes, my bad.

idgen I don't think right now is setup for the argument, but its either 
that or find another solution cross platform to change directories.




Re: DConf 2017 Hackathon report

2017-05-12 Thread Jacob Carlborg via Digitalmars-d

On 2017-05-12 13:29, rikki cattermole wrote:


May as well, it is a separate artifact from the build process.


I get:

Invalid variable: dmd_PACKAGE_DIR

And I'm not sure about the syntax. Is that supposed to be two dashes? 
And I should add an argument to idgen?


--
/Jacob Carlborg


Re: DConf 2017 Hackathon report

2017-05-12 Thread rikki cattermole via Digitalmars-d

On 12/05/2017 12:27 PM, Jacob Carlborg wrote:

On 2017-05-12 10:59, rikki cattermole wrote:


Another way:

preBuildCommands: dub run ddmd:idgen - $ddmd_PACKAGE_DIR

With idgen taking in the location to the root.
Most importantly it is not platform specific ;)


Hmm, so idgen should be a subpackage?


May as well, it is a separate artifact from the build process.



Re: DConf 2017 Hackathon report

2017-05-12 Thread Jacob Carlborg via Digitalmars-d

On 2017-05-12 10:59, rikki cattermole wrote:


Another way:

preBuildCommands: dub run ddmd:idgen - $ddmd_PACKAGE_DIR

With idgen taking in the location to the root.
Most importantly it is not platform specific ;)


Hmm, so idgen should be a subpackage?

--
/Jacob Carlborg


Re: DConf 2017 Hackathon report

2017-05-12 Thread rikki cattermole via Digitalmars-d

On 12/05/2017 9:51 AM, Jacob Carlborg wrote:

On 2017-05-09 06:35, Ali Çehreli wrote:

Please list what we've achieved during the hackathon, including what is
started but is likely to be finished in the coming days or months.

For me:

- Finished updating "Programming in D" to 2.074.0 (the HTML is now up to
date but I could not get to the still manual work of preparing the
ebooks)

- Contributed to the logo and branding discussions

- Opened two bugs

- Ate German cookies :)

Ali



A bit late to the party but I created a Dub file for DMD to be able to
use the lexer and parser as a library [1]. Although I did run into some
problems with Dub [2], which I'm not sure how to solve.

[1] https://github.com/dlang/dmd/pull/6771
[2]
http://forum.rejectedsoftware.com/groups/rejectedsoftware.dub/thread/15871/


Another way:

preBuildCommands: dub run ddmd:idgen - $ddmd_PACKAGE_DIR

With idgen taking in the location to the root.
Most importantly it is not platform specific ;)


Re: DConf 2017 Hackathon report

2017-05-12 Thread Jacob Carlborg via Digitalmars-d

On 2017-05-09 06:35, Ali Çehreli wrote:

Please list what we've achieved during the hackathon, including what is
started but is likely to be finished in the coming days or months.

For me:

- Finished updating "Programming in D" to 2.074.0 (the HTML is now up to
date but I could not get to the still manual work of preparing the ebooks)

- Contributed to the logo and branding discussions

- Opened two bugs

- Ate German cookies :)

Ali



A bit late to the party but I created a Dub file for DMD to be able to 
use the lexer and parser as a library [1]. Although I did run into some 
problems with Dub [2], which I'm not sure how to solve.


[1] https://github.com/dlang/dmd/pull/6771
[2] 
http://forum.rejectedsoftware.com/groups/rejectedsoftware.dub/thread/15871/


--
/Jacob Carlborg


Re: DConf 2017 Hackathon report [OT]

2017-05-11 Thread Iain Buclaw via Digitalmars-d
On 11 May 2017 at 23:19, David Nadlinger via Digitalmars-d
 wrote:
> On Thursday, 11 May 2017 at 21:14:16 UTC, Iain Buclaw wrote:
>>
>> Oh, do you have to do the multi-stage build yourself?  I don't.
>
>
> So you intend to keep a copy of the (old) bootstrap compiler sources in-tree
> for all future D-based GDC versions (if/when you start requiring D)? We
> could do that just as well, but it seems a bit pointless. — David

I do not intend to.  Which is why switching to D-based GDC will be a
no-op.  It is at this point that you've lost me, there is no added
complexity building a self-hosted compiler within GCC's build system.
C++ is self-hosted, Ada is self-hosted, an acquaintance of mine even
wrote a self-hosted ALGOL60 frontend to GCC.  This is not a problem
that needs to be solved for GDC.

Iain.



Re: DConf 2017 Hackathon report

2017-05-11 Thread Bastiaan Veelo via Digitalmars-d

On Tuesday, 9 May 2017 at 04:35:40 UTC, Ali Çehreli wrote:

- Contributed to the logo and branding discussions


Me too. And:

- Discussed ways to move forward with Laeeth and Andrei, and 
Daniel and Stefan.


- Discussed an issue in std.experimental.logger with Robert.

- Worked on translation of Extended Pascal snippets to D. It took 
rather long retrieving them from my workstation at home, but 
after that I got valuable help from 3-4 seniors in my direct 
vicinity, finding ways to emulate EP constructs. Nice!


Bastiaan.


Re: DConf 2017 Hackathon report [OT]

2017-05-11 Thread David Nadlinger via Digitalmars-d

On Thursday, 11 May 2017 at 21:14:16 UTC, Iain Buclaw wrote:

Oh, do you have to do the multi-stage build yourself?  I don't.


So you intend to keep a copy of the (old) bootstrap compiler 
sources in-tree for all future D-based GDC versions (if/when you 
start requiring D)? We could do that just as well, but it seems a 
bit pointless. — David


Re: DConf 2017 Hackathon report [OT]

2017-05-11 Thread Iain Buclaw via Digitalmars-d
On 11 May 2017 at 23:06, David Nadlinger via Digitalmars-d
 wrote:
> On Thursday, 11 May 2017 at 20:54:45 UTC, Iain Buclaw wrote:
>>
>> My rebuttal still stands.  Switching build from C++ to D should be a one
>> line change, if it isn't then you have a problems with your build process.
>
>
> How does snap requiring more than a one-line change for a multi-stage build
> imply that anybody's build process is problematic? — David

Oh, do you have to do the multi-stage build yourself?  I don't. :-)

Iain.



Re: DConf 2017 Hackathon report [OT]

2017-05-11 Thread David Nadlinger via Digitalmars-d

On Thursday, 11 May 2017 at 20:54:45 UTC, Iain Buclaw wrote:
My rebuttal still stands.  Switching build from C++ to D should 
be a one line change, if it isn't then you have a problems with 
your build process.


How does snap requiring more than a one-line change for a 
multi-stage build imply that anybody's build process is 
problematic? — David


Re: DConf 2017 Hackathon report

2017-05-11 Thread Iain Buclaw via Digitalmars-d
On 11 May 2017 at 22:24, David Nadlinger via Digitalmars-d
 wrote:
> On Thursday, 11 May 2017 at 17:56:00 UTC, Iain Buclaw wrote:
>>
>> I can only infer that you are saying that using a D project means it's
>> more difficult to get working with snap.  To which I will insert an
>> obligatory "Woah!", and "I expect you to know better" rebuttal.
>>
>> ...
>>
>> Woah, I expect you to know better.
>
>
> Incorrect. My (implied) statement was that a dependency on D makes the build
> process more complex *if that project is a D compiler, and you don't want to
> depend on another one in build-packages*.
>
>  — David

My rebuttal still stands.  Switching build from C++ to D should be a
one line change, if it isn't then you have a problems with your build
process.



Re: DConf 2017 Hackathon report

2017-05-11 Thread David Nadlinger via Digitalmars-d

On Thursday, 11 May 2017 at 17:56:00 UTC, Iain Buclaw wrote:
I can only infer that you are saying that using a D project 
means it's more difficult to get working with snap.  To which I 
will insert an obligatory "Woah!", and "I expect you to know 
better" rebuttal.


...

Woah, I expect you to know better.


Incorrect. My (implied) statement was that a dependency on D 
makes the build process more complex *if that project is a D 
compiler, and you don't want to depend on another one in 
build-packages*.


 — David


Re: DConf 2017 Hackathon report

2017-05-11 Thread Iain Buclaw via Digitalmars-d
On 9 May 2017 at 06:35, Ali Çehreli via Digitalmars-d
 wrote:
> Please list what we've achieved during the hackathon, including what is
> started but is likely to be finished in the coming days or months.
>

I was frankly a zombie all Sunday, apart from helping Joe setting up
the best snap package in the world, I spent the morning rebuilding my
toolchain for GCC/GDC-8.  After spending some time away from my
laptop, then came back to discover it had died on battery.

At least I managed to remove D compiler support for SH-5.  That was a
notable productive task. :-)



Re: DConf 2017 Hackathon report

2017-05-11 Thread Iain Buclaw via Digitalmars-d
On 10 May 2017 at 22:04, David Nadlinger via Digitalmars-d
 wrote:
> On Wednesday, 10 May 2017 at 19:46:01 UTC, Joseph Rushton Wakeling wrote:
>>
>> Ironically, given that I'd always been worried this would be the most
>> finnicky compiler snap to create, it's actually the simplest package
>> definition out of all the Big 3 ;-)
>
>
> Without even having seen your snap file, I can confidently say that this is
> just due to the idiosyncrasies of the snap environment, though.
>
> Oh wait, no, GDC is still stuck on an ancient C++-based frontend. Not too
> surprising, then. ;P
>
>  — David

I can only infer that you are saying that using a D project means it's
more difficult to get working with snap.  To which I will insert an
obligatory "Woah!", and "I expect you to know better" rebuttal.

...

Woah, I expect you to know better.

Iain.



Re: DConf 2017 Hackathon report

2017-05-10 Thread David Nadlinger via Digitalmars-d
On Wednesday, 10 May 2017 at 19:46:01 UTC, Joseph Rushton 
Wakeling wrote:
Ironically, given that I'd always been worried this would be 
the most finnicky compiler snap to create, it's actually the 
simplest package definition out of all the Big 3 ;-)


Without even having seen your snap file, I can confidently say 
that this is just due to the idiosyncrasies of the snap 
environment, though.


Oh wait, no, GDC is still stuck on an ancient C++-based frontend. 
Not too surprising, then. ;P


 — David


Re: DConf 2017 Hackathon report

2017-05-10 Thread Joseph Rushton Wakeling via Digitalmars-d

On Tuesday, 9 May 2017 at 04:35:40 UTC, Ali Çehreli wrote:
Please list what we've achieved during the hackathon, including 
what is started but is likely to be finished in the coming days 
or months.


Created a working snap package definition for GDC.  I'm 
coordinating with Iain on how to get this into the snap store 
most effectively (having spent a fair bit of the hackathon 
pestering him with questions about the GDC build procedure:-).


Ironically, given that I'd always been worried this would be the 
most finnicky compiler snap to create, it's actually the simplest 
package definition out of all the Big 3 ;-)


I also had a play with using the new `scope return` etc. 
functionality to prototype a safe design for random algorithms 
that wrap a pointer to an RNG.  That's probably going to take a 
while longer to put together, as I've run into some issues that I 
really need to reduce to a very simple test case.


Re: DConf 2017 Hackathon report

2017-05-10 Thread Adrian Matoga via Digitalmars-d
On Tuesday, 9 May 2017 at 13:19:12 UTC, Steven Schveighoffer 
wrote:


But it was very awesome to be able to go around and find the 
people to discuss a PR/idea without going through a forum 
thread. I think there's a psychological barrier that happens 
when you post a complete argument, and then your counterpart 
forms an interpretation in their mind of what the argument 
means, forms their complete counter argument, and neither side 
really understands what the other is saying or willing to do. 
Doing it in person allows so much more interaction -- you can 
cut off early any misinterpretations. It's also harder to be 
nasty in person :)


+1!
For the same reasons, it's also a lot easier for people who don't 
use English as their 1st language to express their ideas as one 
doesn't need to spend time carefully looking up the meaning of 
words to make sure the "complete argument" will be understood as 
intended. :)







Re: DConf 2017 Hackathon report

2017-05-10 Thread Adrian Matoga via Digitalmars-d

On Tuesday, 9 May 2017 at 04:35:40 UTC, Ali Çehreli wrote:
Please list what we've achieved during the hackathon, including 
what is started but is likely to be finished in the coming days 
or months.


For me:

- Finished updating "Programming in D" to 2.074.0 (the HTML is 
now up to date but I could not get to the still manual work of 
preparing the ebooks)


- Contributed to the logo and branding discussions

- Opened two bugs

- Ate German cookies :)

Ali


I:

1. Started a PR adding -Xcc switch to LDC [1].

2. Discussed a solution to [2] and [3] with Sönke, implementation 
is in progress.


3. Briefly went through sources of Stefan's CTFE implementation. 
To me it was also a good quick lesson about part of DMD internals 
I didn't know yet, and I hope I'll be able to review his code 
from time to time and motivate him.


4. Got a ton of inspiration and motivation.

[1] https://github.com/ldc-developers/ldc/pull/2104
[2] https://github.com/dlang/dub/issues/628
[3] https://github.com/dlang/dub/issues/228



Re: DConf 2017 Hackathon report

2017-05-10 Thread Joakim via Digitalmars-d

On Tuesday, 9 May 2017 at 17:50:06 UTC, ANtlord wrote:

On Tuesday, 9 May 2017 at 04:35:40 UTC, Ali Çehreli wrote:
Please list what we've achieved during the hackathon, 
including what is started but is likely to be finished in the 
coming days or months.


For me:

- Finished updating "Programming in D" to 2.074.0 (the HTML is 
now up to date but I could not get to the still manual work of 
preparing the ebooks)


- Contributed to the logo and branding discussions

- Opened two bugs

- Ate German cookies :)

Ali


Is there some news about compiling dmd as library?


There was a talk about this, one of the interns is working on it:

http://dconf.org/2017/talks/nitu.html

No idea when it'll be done.


Re: DConf 2017 Hackathon report

2017-05-10 Thread Atila Neves via Digitalmars-d

On Wednesday, 10 May 2017 at 11:02:50 UTC, Stefan Koch wrote:

On Wednesday, 10 May 2017 at 10:55:09 UTC, Atila Neves wrote:


 I felt like a wizard afterwards for modifying the compiler, 
which is a nice bonus.



Nice, I usually feel confused after modifying the compiler.


Now if only I could get the autotester to be green...


Just think about how much more wizardly you will feel after it 
is green.


It turns out I'd stupidly pushed branched off of my other branch 
instead of master. It's green. :)


Atila, official wizard



Re: DConf 2017 Hackathon report

2017-05-10 Thread Stefan Koch via Digitalmars-d

On Wednesday, 10 May 2017 at 10:55:09 UTC, Atila Neves wrote:


 I felt like a wizard afterwards for modifying the compiler, 
which is a nice bonus.



Nice, I usually feel confused after modifying the compiler.


Now if only I could get the autotester to be green...


Just think about how much more wizardly you will feel after it is 
green.


Re: DConf 2017 Hackathon report

2017-05-10 Thread Atila Neves via Digitalmars-d

On Tuesday, 9 May 2017 at 04:35:40 UTC, Ali Çehreli wrote:
Please list what we've achieved during the hackathon, including 
what is started but is likely to be finished in the coming days 
or months.


For me:

- Finished updating "Programming in D" to 2.074.0 (the HTML is 
now up to date but I could not get to the still manual work of 
preparing the ebooks)


- Contributed to the logo and branding discussions

- Opened two bugs

- Ate German cookies :)

Ali


I submitted a PR for Phobos and 2 for dmd, the latter of which 
were my first. I felt like a wizard afterwards for modifying the 
compiler, which is a nice bonus. Now if only I could get the 
autotester to be green...



Atila


Re: DConf 2017 Hackathon report

2017-05-09 Thread ANtlord via Digitalmars-d

On Tuesday, 9 May 2017 at 04:35:40 UTC, Ali Çehreli wrote:
Please list what we've achieved during the hackathon, including 
what is started but is likely to be finished in the coming days 
or months.


For me:

- Finished updating "Programming in D" to 2.074.0 (the HTML is 
now up to date but I could not get to the still manual work of 
preparing the ebooks)


- Contributed to the logo and branding discussions

- Opened two bugs

- Ate German cookies :)

Ali


Is there some news about compiling dmd as library?


Re: DConf 2017 Hackathon report

2017-05-09 Thread Nemanja Boric via Digitalmars-d

On Tuesday, 9 May 2017 at 16:14:57 UTC, Nemanja Boric wrote:

On Tuesday, 9 May 2017 at 04:35:40 UTC, Ali Çehreli wrote:
Please list what we've achieved during the hackathon, 
including what is started but is likely to be finished in the 
coming days or months.


For me:

- Finished updating "Programming in D" to 2.074.0 (the HTML is 
now up to date but I could not get to the still manual work of 
preparing the ebooks)


- Contributed to the logo and branding discussions

- Opened two bugs

- Ate German cookies :)

Ali


I've fixed the FreeBSD-Current exception handling issue, so
that exception handling is now working there as well (I also 
suspect
that it was broken pretty much on all libundwind 64bit systems, 
just worked by accident, since the optimizer didn't try too 
hard.


It's something I wanted to do for a long time, but there's 
never time,

so having a day dedicated to it was pretty helpful!

https://issues.dlang.org/show_bug.cgi?id=16856

It was pretty cool finding Jonathan who filed the bug in the 
same room, then
chasing Walter to talk about it, after hearing all war stories, 
including,

but not limited to, blue meteors.


Oh, also working with Martin and chasing him around the rooms to 
get
my druntime PR for fiber stack overflow protection 
(https://github.com/dlang/druntime/pull/1698)
merged after months and months is also worth mentioning, although 
it didn't happen during the hackaton :-)


Re: DConf 2017 Hackathon report

2017-05-09 Thread Nemanja Boric via Digitalmars-d

On Tuesday, 9 May 2017 at 04:35:40 UTC, Ali Çehreli wrote:
Please list what we've achieved during the hackathon, including 
what is started but is likely to be finished in the coming days 
or months.


For me:

- Finished updating "Programming in D" to 2.074.0 (the HTML is 
now up to date but I could not get to the still manual work of 
preparing the ebooks)


- Contributed to the logo and branding discussions

- Opened two bugs

- Ate German cookies :)

Ali


I've fixed the FreeBSD-Current exception handling issue, so
that exception handling is now working there as well (I also 
suspect
that it was broken pretty much on all libundwind 64bit systems, 
just worked by accident, since the optimizer didn't try too hard.


It's something I wanted to do for a long time, but there's never 
time,

so having a day dedicated to it was pretty helpful!

https://issues.dlang.org/show_bug.cgi?id=16856

It was pretty cool finding Jonathan who filed the bug in the same 
room, then
chasing Walter to talk about it, after hearing all war stories, 
including,

but not limited to, blue meteors.


Re: DConf 2017 Hackathon report

2017-05-09 Thread Steven Schveighoffer via Digitalmars-d

On 5/9/17 9:19 AM, Steven Schveighoffer wrote:

Aaaand, I'm not questioning whether the PR I made is sound, due to the
way template-instantiated static ctors work. I'll have to rethink how it
works.


*now* questioning...

-Steve


Re: DConf 2017 Hackathon report

2017-05-09 Thread Steven Schveighoffer via Digitalmars-d

On 5/9/17 12:35 AM, Ali Çehreli wrote:

Please list what we've achieved during the hackathon, including what is
started but is likely to be finished in the coming days or months.

For me:

- Finished updating "Programming in D" to 2.074.0 (the HTML is now up to
date but I could not get to the still manual work of preparing the ebooks)


Nice!

For me:

- Don't want to exactly steal Jonathan's thunder, but during the 
conference (before the hackathon actually) he split (and I helped get 
approval for splitting) std.datetime into a package. That still needs 
some severe TLC on making the docs read better, but it should be viable. 
And now github can show diffs for the smaller files :)


- Merged a simple PR I had from April.

- Provided a bit of guidance to people on druntime internals.

- Created my first DMD PR (to make it so unittest imports are not 
counted for cycle detection).


And that's about it. That last one took a lot of effort, as I was 
dealing with an apparent bug in the BitArray type, thought I was losing 
my mind :)


Aaaand, I'm not questioning whether the PR I made is sound, due to the 
way template-instantiated static ctors work. I'll have to rethink how it 
works.


But it was very awesome to be able to go around and find the people to 
discuss a PR/idea without going through a forum thread. I think there's 
a psychological barrier that happens when you post a complete argument, 
and then your counterpart forms an interpretation in their mind of what 
the argument means, forms their complete counter argument, and neither 
side really understands what the other is saying or willing to do. Doing 
it in person allows so much more interaction -- you can cut off early 
any misinterpretations. It's also harder to be nasty in person :)


-Steve