Re: I'm the new package maintainer for D on ArchLinux

2017-08-10 Thread Dicebot via Digitalmars-d-announce

On Thursday, 10 August 2017 at 15:36:54 UTC, Wild wrote:

And of course congratulations for becoming a TU! :)
Thanks, and while I have you here, is there any reason why all 
the dtools programs have 'dtools-' as a prefix?


Some of them have very common names (like "detab") and I was 
concerned that it may eventually clash with binary name of some 
other totally unrelated utility from a different package. And for 
convenience more commonly used / uniquely named ones like rdmd 
also provide shorter symlink.


Re: I'm the new package maintainer for D on ArchLinux

2017-08-10 Thread Dicebot via Digitalmars-d-announce

On Thursday, 10 August 2017 at 14:42:43 UTC, Wild wrote:
On Thursday, 10 August 2017 at 14:26:41 UTC, Jacob Carlborg 
wrote:
That's great. Do you want to maintain the package for DStep as 
well as Dicebot did?


I could do that, but what I can see Dicebot still maintains it
https://aur.archlinux.org/packages/dstep/
But it could just be that he has forgot to orphan it.


Thanks for bringing my attention to it, I have disowned both it 
and dstep-git. Note though that you could take it over anyway if 
you intend to move it to [community] as a TU - contacting 
original author is only matter of politeness.


And of course congratulations for becoming a TU! :)


Re: Call for arms: Arch Linux D package maintenance

2017-02-02 Thread Dicebot via Digitalmars-d-announce

On Thursday, 2 February 2017 at 10:01:04 UTC, qznc wrote:
In another thread [0] Snap packages are discussed. What is the 
view of Arch? If Snap wins, there would be only one package to 
maintain for all distros.


[0] 
https://forum.dlang.org/post/mzklrdgeyymuwmtqz...@forum.dlang.org


There is snapd daemon available in Arch repositories but with 
zero support and guarantees for any actual snap packages. I am 
not aware of any discussions about in TU mail list either.


Re: Call for arms: Arch Linux D package maintenance

2017-02-02 Thread Dicebot via Digitalmars-d-announce

On Wednesday, 1 February 2017 at 18:32:48 UTC, Rory McGuire wrote:
I use arch and D every day. I'm willing to volunteer. I keep up 
to date with all releases and keep multiple dmd versions. If 
I'm maintaining the packages I'd use them (if I can still 
switch versions of dmd).


Are you familiar with the PKGBUILD system? Please ping me via 
pub...@dicebot.lv


Call for arms: Arch Linux D package maintenance

2017-02-01 Thread Dicebot via Digitalmars-d-announce
As I have previously announced
(http://forum.dlang.org/post/o6fbbu$1qli$1...@digitalmars.com), I am
stepping down from maintaining Arch Linux packages for D.

That means there are 3 possibilities:

- No one will adopt them and all packages will be moved to AUR
- Some existing Trusted User decided to adopt them
- Someone from D community decides to become Trusted User and adopts them

First option is definitely the worst one and I don't see any enthusiasm
regarding second option from existing TUs. Is there anyone willing to
volunteer for the option three?

I promise all the guidance and help in submitting TU application and
figuring out maintenance process but there does need to be a volunteer ;)



signature.asc
Description: OpenPGP digital signature


Re: Release D 2.073.0

2017-01-29 Thread Dicebot via Digitalmars-d-announce
On 01/30/2017 12:38 AM, Walter Bright wrote:
> ...

Please, don't waste your time. You mentioned being curious about what is
wrong with that PR - I have explained. Let's just stop here before you
write another 20 posts presuming that I only disagree with your
development methodology because I don't understand it.



signature.asc
Description: OpenPGP digital signature


Re: Release D 2.073.0

2017-01-29 Thread Dicebot via Digitalmars-d-announce

On Friday, 27 January 2017 at 19:12:37 UTC, Walter Bright wrote:

On 1/27/2017 3:12 AM, Dicebot wrote:

And also stuff like https://github.com/dlang/druntime/pull/1740


I'm curious what is wrong with that?


You have been pushing for premature merged of `return scope` 
under a premise that it will be hidden behind a switch and won't 
affect anyone yet. Now you rush to adjust druntime to use it and 
require the same from any druntime contributors.


Re: Release D 2.073.0

2017-01-27 Thread Dicebot via Digitalmars-d-announce
On 01/27/2017 01:29 PM, Nordlöw wrote:
> On Friday, 27 January 2017 at 11:12:22 UTC, Dicebot wrote:
>> And also stuff like https://github.com/dlang/druntime/pull/1740 - I
>> think the story behind `return scope` is the critical point for me. It
>> is worst technical disaster that has happened to compiler in years,
>> and I am going to blame Walter personally for it.
> 
> So what would the alternative be?

Alternative would be to implement new functionality like a responsible
developer - keep it in sync with specification document, design set of
acceptance tests and do all the development in a separate branch until
is verified to both have desired semantics and don't cause any breakage
in existing projects. And don't rush into forcing usage of half-done
feature inside standard library the very moment it got released.



signature.asc
Description: OpenPGP digital signature


Re: Release D 2.073.0

2017-01-27 Thread Dicebot via Digitalmars-d-announce
And also stuff like https://github.com/dlang/druntime/pull/1740 - 
I think the story behind `return scope` is the critical point for 
me. It is worst technical disaster that has happened to compiler 
in years, and I am going to blame Walter personally for it.


Re: Release D 2.073.0

2017-01-26 Thread Dicebot via Digitalmars-d-announce

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

Can I have my "I told you so" badge please?


Re: Pry v0.3.1 is out!

2017-01-15 Thread Dicebot via Digitalmars-d-announce
On Sunday, 15 January 2017 at 13:14:45 UTC, Dmitry Olshansky 
wrote:
I could have wasted time by creating nodes and assigning values 
in the map functions but if you just want the result of 
calculation it's all moot.


Thanks for explanation! This is indeed very promising and much in 
spirit of D selling point of zero-overhead convenience 
abstractions.


Re: Pry v0.3.1 is out!

2017-01-15 Thread Dicebot via Digitalmars-d-announce
Sounds intriguing!

On 01/15/2017 01:26 AM, Dmitry Olshansky wrote:
> - versatility, generating some goofy parse tree is not a goal, the goal
> is extraction of data the way the user specifies

Can you show an example of what you have in mind for this?




signature.asc
Description: OpenPGP digital signature


Re: DIP 1003: remove `body` as a keyword

2017-01-02 Thread Dicebot via Digitalmars-d-announce
On Saturday, 31 December 2016 at 01:14:23 UTC, Arun 
Chandrasekaran wrote:

On Saturday, 19 November 2016 at 21:16:15 UTC, Dicebot wrote:
DIP 1003 is merged to the queue and open for public informal 
feedback.


PR: https://github.com/dlang/DIPs/pull/48
Initial merged document: 
https://github.com/dlang/DIPs/blob/master/DIPs/DIP1003.md


If you want the change to be approved and have ideas how to 
improve it to better match on 
https://github.com/dlang/DIPs/blob/master/GUIDELINES.md and 
existing published reviews - please submit new PR with 
editorial and ping original author.


Bump, if that makes sense.


I have asked DIP author if he plans any last moment modifications 
and will try to schedule it for review in January.


Re: Beta D 2.072.2-b1

2016-12-27 Thread Dicebot via Digitalmars-d-announce
On Tuesday, 27 December 2016 at 14:24:11 UTC, Steven 
Schveighoffer wrote:
Missing from the changelog is the cycle detection deprecation 
path that I added here: 
https://github.com/dlang/druntime/pull/1720


This should give people more breathing room to remove detected 
cycles by next release.


My understanding is that there is still a lot of manual labor in 
changelog generation thus making separate PR to adjust 
https://github.com/dlang/dlang.org/blob/stable/changelog/2.072.2_pre.dd may help.


Re: New GDC binaries: 2.068.2, shared library support, multilib support & a new gdmd tool

2016-12-26 Thread Dicebot via Digitalmars-d-announce
After some tweaking and playing have finally uploaded Arch Linux
packages for GDC using 6.2.1 gcc base and
https://github.com/D-Programming-GDC/GDC/releases/tag/v2.068.2_gcc6

Now also includes new "libpghobos" package providing shared library only
(though I haven't tested this part).



signature.asc
Description: OpenPGP digital signature


Re: New GDC binaries: 2.068.2, shared library support, multilib support & a new gdmd tool

2016-12-26 Thread Dicebot via Digitalmars-d-announce
On 12/25/2016 09:41 PM, Johannes Pfau wrote:
> Happy holidays everybody,
> 
> I'm happy to finally announce the release of new GDC binaries at
> https://gdcproject.org/downloads . GDC is the GNU D Compiler, a D
> compiler using GCC as the compiler backend.

A lot of great stuff! Got few questions when trying to update Arch Linux
package though, could you please advice?

1) There is `gdc_include_dir` variable now, what is intended way to
override it to custom path? `gcc/configure
gdc_include_dir=/usr/include/dlang/gdc` doesn't seem to work

2) As far as I can see phobos is now built as shared library by default.
What flags affect it? I'd like to build either static one, or both at
the same time if possible.




signature.asc
Description: OpenPGP digital signature


Re: DIP1004: Inherited Constructors

2016-11-29 Thread Dicebot via Digitalmars-d-announce
On 11/29/2016 12:04 PM, Arafel wrote:
> I think I might be a bit late to the party, and I'm still quite new in
> D... but wouldn't a variadic template constructor work? The usual rules
> of templates would still let you override a constructor if needed.
> 
> ---
> class A {
> this() { }
> this(int a) { }
> }
> class B : A {
> // Here we inherit all of A's constructors.
> this(Args...)(Args args) {
> super(args);
> }
> this(string s) { }
> }
> void main() {
> B b1 = new B(42);
> B b2 = new B("foo");
> }
> ---
> 
> I've been playing with it, and the only problems I can see are with
> specialization and casting (i.e. B defines this(float), but you want to
> call A's this(int), the int will be promoted to float and B's version
> will be used). A way of disabling them would be needed, though...
> perhaps assert(0)?

Have just answered a similar question in a PR thread:
https://github.com/dlang/DIPs/pull/42#issuecomment-263562276



signature.asc
Description: OpenPGP digital signature


Re: DIP1004: Inherited Constructors

2016-11-29 Thread Dicebot via Digitalmars-d-announce
On 11/28/2016 04:57 AM, rikki cattermole wrote:
> On 28/11/2016 3:38 PM, Dicebot wrote:
>> DIP 1004 is merged to the queue and open for public informal feedback.
>>
>> PR: https://github.com/dlang/DIPs/pull/42
>>
>> Initial merged document:
>> https://github.com/dlang/DIPs/blob/master/DIPs/DIP1004.md
>>
>> If you want the change to be approved and have ideas how to improve it
>> to better match on
>> https://github.com/dlang/DIPs/blob/master/GUIDELINES.md and existing
>> published reviews - please submit new PR with editorial and ping
>> original author.
> 
> A few errors like this are in it:
> 
> class ParseException : Exception { }
> {

Would you mind a PR? :) I am afraid my eyes are too sloppy after
re-reading the text too many times.




signature.asc
Description: OpenPGP digital signature


DIP1004: Inherited Constructors

2016-11-27 Thread Dicebot via Digitalmars-d-announce
DIP 1004 is merged to the queue and open for public informal feedback.

PR: https://github.com/dlang/DIPs/pull/42

Initial merged document:
https://github.com/dlang/DIPs/blob/master/DIPs/DIP1004.md

If you want the change to be approved and have ideas how to improve it
to better match on
https://github.com/dlang/DIPs/blob/master/GUIDELINES.md and existing
published reviews - please submit new PR with editorial and ping
original author.



signature.asc
Description: OpenPGP digital signature


Re: DIP 1003: remove `body` as a keyword

2016-11-27 Thread Dicebot via Digitalmars-d-announce
On 11/24/2016 05:29 PM, WM.H wrote:
> On Saturday, 19 November 2016 at 21:16:15 UTC, Dicebot wrote:
>> DIP 1003 is merged to the queue and open for public informal feedback.
>>
>> PR: https://github.com/dlang/DIPs/pull/48
>> Initial merged document:
>> https://github.com/dlang/DIPs/blob/master/DIPs/DIP1003.md
>>
>> If you want the change to be approved and have ideas how to improve it
>> to better match on
>> https://github.com/dlang/DIPs/blob/master/GUIDELINES.md and existing
>> published reviews - please submit new PR with editorial and ping
>> original author.
> 
> This DIP fixes the problem for "body" but not for the other keywords.
> After all the problem may exist for other keywords. Was a new pragma
> considered ? For example an identifier alias.
> 
> pragma(idAlias, "body", "body_" )

AFAIU, the point of this DIP is that "body" is standing out from other
keywords being used only in one very specific context and being a very
common english word at the same time. Your proposal has a completely
different (and much more drastic) approach.



signature.asc
Description: OpenPGP digital signature


Re: DIP 1003: remove `body` as a keyword

2016-11-27 Thread Dicebot via Digitalmars-d-announce
On 11/21/2016 01:33 PM, Sönke Ludwig wrote:
> For this whole proposal to work out, though, I think the old syntax will
> have to stay supported without deprecations, because the amount of
> breakage (the deprecation path won't change that) will otherwise
> probably be huge. Making "body" optional + contextual seems to be the
> way to go.

Can you please elaborate on this? Deprecations don't break anything,
using -de flag for any stable project is a bug and misuse of compiler.
If we define deprecation term for contextual keyword to be several
years, the breakage will almost non-existent, much less than a regular
"bug fix breakage" from usual releases.




signature.asc
Description: OpenPGP digital signature


Re: Formal review of DIP1002

2016-11-19 Thread Dicebot via Digitalmars-d-announce
On 11/18/2016 06:09 PM, pineapple wrote:
> There should be no need for me to repeat the arguments against the DIP
> process already made by others. I will be submitting no more DIPs or
> engaging in the process in any way unless and until it is significantly
> changed.

There seems to be a recurring misconception that submitting a DIP is
somehow doing language developers a service. It is exactly other way
around - the whole DIP process is designed to help those who are willing
to commit hard and selfless work to get something into language. There
is hardy any lack of ideas about language improvements at any time.

I consider DIP process to fail when one of specific case happens: there
is someone willing to commit but that person doesn't get deserved
feedback. That was very clearly said in my explanations of the rationale
which got published on dlang blog and yet seems to come as surprise.



signature.asc
Description: OpenPGP digital signature


DIP 1003: remove `body` as a keyword

2016-11-19 Thread Dicebot via Digitalmars-d-announce
DIP 1003 is merged to the queue and open for public informal 
feedback.


PR: https://github.com/dlang/DIPs/pull/48
Initial merged document: 
https://github.com/dlang/DIPs/blob/master/DIPs/DIP1003.md


If you want the change to be approved and have ideas how to 
improve it to better match on 
https://github.com/dlang/DIPs/blob/master/GUIDELINES.md and 
existing published reviews - please submit new PR with editorial 
and ping original author.


Re: DIP document maintenance

2016-11-17 Thread Dicebot via Digitalmars-d-announce
On 11/17/2016 04:36 PM, Andrei Alexandrescu wrote:
> On 11/17/2016 09:16 AM, Dicebot wrote:
>> 2) It is a regular update. In that case revision number is simply git
>> history. For example DIP1002 is currently at revision 7 (git log
>> --pretty=oneline DIPs/DIP1002.md | wc -l).
>>
>> Same goes for update of reviews - everything is tracked in git history.
>> At any given point of time you simply throw away everything old and keep
>> only most recent versions.
> 
> OK, so we're just using git for versioning, which should work fine. The
> one potential issue I see with it is the version number is not
> indicative of how many review cycles have been passed. E.g. DIP1002 is
> already at revision 7, which is an irrelevant number to the casual
> reader. "What do you think of DIP2749?" "Which revision you mean?" "Well
> it's revision 38." "Would that be before or after the third review?" etc.

Hm, my understanding was that there are not supposed to be multiple
formal reviews. Either DIP is marked with "Information Requested" and
mentions informal checklist of improvements to be done, or it actually
undergoes final judgment and there is only way to "Approved" or
"Rejected" from there.

If you want to incorporate multiple iterations, some adjustments may
indeed be necessary.

> I'd like to have a simple tag a la DIP2749 v1 for the first review
> round, DIP2749 v2 for the second review round, and so on. So then people
> can refer to "DIP2749 v3" in casual conversation. Is this feasible?

Yes. Assuming you do want multiple review iterations support, I can
imagine something like this:

- new "review candidate #" field is added to the header
- it is set to 0 on initial merge and to 1 after incorporating initial
NG feedback
- it also references specific DIP version hash matching time of
incrementing the version
- changes to DIP are made in a regular manner. When author is done, rc #
is incremented and hash gets updated
- included reviews refer to specific rc #

If that sounds good, I'll make a PR to update README and ping you from
there.




signature.asc
Description: OpenPGP digital signature


Re: Formal review of DIP1002

2016-11-17 Thread Dicebot via Digitalmars-d-announce

On Thursday, 17 November 2016 at 15:26:21 UTC, John Colvin wrote:
Regardless of the outcome, I just want to commend whoever wrote 
the rejection text* on doing such a clear and comprehensive 
job. I'm sure it must be disappointing for a DIP author to have 
it rejected, but detailed, constructive criticism like this 
would - for me at least - make the experience worthwhile and 
encourage further contributions of higher quality.


* I see dicebot committed, but I'm presuming Walter &| Andrei 
had a lot of input and I think i detect recent exposure to the 
academic review process...


The text was sent to me by Andrei, though I presume Walter did 
take part in making the decision :)


Hopefully such high quality and detailed feedback will provide a 
much more clear picture about expectations from DIP content and 
overall chances for various kinds of proposals to be approved.


DIP document maintenance

2016-11-17 Thread Dicebot via Digitalmars-d-announce
On 11/17/2016 03:20 PM, Andrei Alexandrescu wrote:
> On 11/17/2016 06:37 AM, Dicebot wrote:
>> Disposition: REJECT. A proposal for a similar or identical feature would
>> need to be include qualitatively new motivation/evidence of usefulness.
>>
>> Please follow the link for the full review text / rationale:
>> https://github.com/dlang/DIPs/blob/master/DIPs/DIP1002.md#review
> 
> Thanks Dicebot for carrying the process through. I think we need a
> versioning mechanism for DIPs. In the general case we'll have the
> disposition "Changes Requested", which will prompt the DIP authors to
> revise the DIP. The DIP will keep its number but will receive a new
> revision (either a newer commit or, more likely, an entirely new
> document). That revision will receive a new, separate review etc. -- Andrei

Don't think I understand the process you have in mind. Right now there
are two possible cases for updating DIP:

1) It was rejected and someone wants to submit a drastically different
proposal on same topic. This has to come as brand new DIP document with
own number.

2) It is a regular update. In that case revision number is simply git
history. For example DIP1002 is currently at revision 7 (git log
--pretty=oneline DIPs/DIP1002.md | wc -l).

Same goes for update of reviews - everything is tracked in git history.
At any given point of time you simply throw away everything old and keep
only most recent versions.

Am I missing something in your requirements?



signature.asc
Description: OpenPGP digital signature


Formal review of DIP1002

2016-11-17 Thread Dicebot via Digitalmars-d-announce
Disposition: REJECT. A proposal for a similar or identical feature would
need to be include qualitatively new motivation/evidence of usefulness.

Please follow the link for the full review text / rationale:
https://github.com/dlang/DIPs/blob/master/DIPs/DIP1002.md#review



signature.asc
Description: OpenPGP digital signature


Formal review of DIP1001

2016-11-17 Thread Dicebot via Digitalmars-d-announce
Disposition: REJECT. A proposal for a similar or identical feature would
need to be include qualitatively new motivation/evidence of usefulness.

Please follow the link for the full review text / rationale:
https://github.com/dlang/DIPs/blob/master/DIPs/DIP1001.md#review



signature.asc
Description: OpenPGP digital signature


Re: Release D 2.072.0

2016-11-15 Thread Dicebot via Digitalmars-d-announce
On 11/11/2016 09:36 PM, Nick Sabalausky wrote:
> On 11/11/2016 08:30 AM, Dicebot wrote:
>> On Friday, 11 November 2016 at 13:21:40 UTC, Nick Sabalausky wrote:
>>> Run the new dmd. If it fails, either fix your code or go temporarily
>>> go back to the old dmd until you can fix your code.
>>
>> D will never be considered production ready as pong as this attiude
>> remaind. Your described scenario in practice works like this:
>>
>> - You decide to delay fix until you have time to investigate
> 
> I've gone through a lot of compiler upgrades on a lot of D projects, and
> in my experience, this "investigate and fix for the new dmd" has always
> been trivial (aside from one instance where Phobos's standard function
> deprecation policy wasn't followed).

Speaking of Sociomantic experience, practice has shown that any breaking
change that requires 5 min fix for any given project can easily take
from weeks to months (!) before all maintained interdependent projects
are updated. With deprecations it is not a problem at all because
everyone moves on using own schedule caring only about hard time limit.
With _any_ sort of immediate breakage it is pain because now upgrade
both becomes urgent and needs to be explicitly synced between all
developers.

It is simply another side of "nine women can't make a baby in one month"
thing. Best way to scale large teams is to split them so that amount of
people involved in any specific process is minimal, otherwise even
trivialities escalate exponentially under weight of communications. And
with software development "large" starts pretty small.

> Some things should certainly have a smooth transition path (like above,
> when replacing a Phobos function with a different one), but really, not
> everything needs to be.
> 
>> - Half of users of your library you (or your colleagues) complain that
>> they can't upgrade their projects because you areso slow
>> - You desperately find time to do required fix which proves bavkwards
>> incompatible
> 
> AFAICT, That's not the case with this particular cycle detection matter.

Yes, but this is mentality I am talking about. In vast majority of cases
providing smooth deprecation path is trivial - replacing `error` call
with `deprecation` call in DMD patch, marking symbol as deprecated
before removing in Phobos. In some of PRs I have found while checking
last breakage, amount of time spent on discussion if it is OK to make a
change was 10x more than amount of time that adding deprecations would
take. It is waste of everyone's time!

We need to establish attitude were doing deprecations is a no-brainer,
like providing unittests for new functionality already is. Not because
some weird corporate ass demands it but because it is simple and
benefits the whole dub ecosystem.



signature.asc
Description: OpenPGP digital signature


Re: Release D 2.072.0

2016-11-15 Thread Dicebot via Digitalmars-d-announce
On 11/12/2016 02:20 PM, Basile B. wrote:
> On Monday, 31 October 2016 at 01:27:08 UTC, Martin Nowak wrote:
>> Glad to announce D 2.072.0.
>>
>> http://dlang.org/download.html
>>
>> This is the release ships with the latest version of dub (v1.1.0), comes
>> with lots of phobos additions and native TLS on OSX.
>> See the changelog for more details.
>>
>> http://dlang.org/changelog/2.072.0.html
>>
>> -Martin
> 
> Sorry another regression:
> 
> https://issues.dlang.org/show_bug.cgi?id=16682
> 
> I don't know if it's a real regression, maybe the PR that breaks dfmt is
> legit but at least
> - you (you == dlang team as an entity) could start a deprecation period.
> - the community could detect that before.

Thank you for the report! Will add that to required reverts in a moment.

Both points you have mentioned indeed can and should be addressed.




signature.asc
Description: OpenPGP digital signature


Re: Release D 2.072.0

2016-11-11 Thread Dicebot via Digitalmars-d-announce
On 11/11/2016 03:46 PM, Steven Schveighoffer wrote:
>> ... or one can spend one extra hour to implement deprecation path and
>> the issue disappears completely.
> 
> There is a misunderstanding that the new cycle detection is an "upgrade"
> of some kind. It's a bug fix.

There is no difference between a bug fix and "upgrade" in context of
deprecation path expectations. It affects robustness of package
ecosystem in the same way.

> There is a path to use new DMD with your buggy code, just use
> --DRT-oncycle=ignore. It's just not the default.

Well, this is the reason why I haven't filed it as a regression. It is
bad, but being able to ignore detection if rt flag makes it tolerable.

I am still going to look into keeping both algorithms for this release
but don't view it as blocking regression.



signature.asc
Description: OpenPGP digital signature


Re: Release D 2.072.0

2016-11-11 Thread Dicebot via Digitalmars-d-announce
On Friday, 11 November 2016 at 13:21:40 UTC, Nick Sabalausky 
wrote:
Run the new dmd. If it fails, either fix your code or go 
temporarily go back to the old dmd until you can fix your code.


D will never be considered production ready as pong as this 
attiude remaind. Your described scenario in practice works like 
this:


- You decide to delay fix until you have time to investigate
- Half of users of your library you (or your colleagues) complain 
that they can't upgrade their projects because you areso slow
- You desperately find time to do required fix which proves 
bavkwards incompatible
- Now the other half of your users (colleagues) complain that 
your rush to upgrade forces them to switch to immature compiler


.. or one can spend one extra hour to implement deprecation path 
and the issue disappears completely.


Re: Link Time Optimization in LDC

2016-11-10 Thread Dicebot via Digitalmars-d-announce
On Thursday, 10 November 2016 at 16:20:33 UTC, Johan Engelen 
wrote:

Hi all,
 Yesterday I merged LTO capability into LDC.
Here a short article about it:
https://johanengelen.github.io/ldc/2016/11/10/Link-Time-Optimization-LDC.html

For the folks building LDC themselves: let me know your issues 
:)


cheers,
  Johan


Does that mean that cross-module/cross-package inlining with 
separate compilation now works?


Re: Release D 2.072.0

2016-11-10 Thread Dicebot via Digitalmars-d-announce
On 11/05/2016 06:04 AM, Soulsbane wrote:
> On Monday, 31 October 2016 at 01:27:08 UTC, Martin Nowak wrote:
>> Glad to announce D 2.072.0.
>>
>> http://dlang.org/changelog/2.072.0.html
>>
>> -Martin
> 
> I've run into a problem with code using ctRegex that fails to compile
> only in release build.

Can't reproduce:

$ cat sample.d
unittest
{
import std.regex;
static immutable TOC_LINE_PATTERN =
`#{1,}\s*(?P.*):\s*(?P.*)`;
auto linePattern = ctRegex!(TOC_LINE_PATTERN);
}

$ dmd-dev -release -O -inline -unittest -main -run sample.d

Can you provide more details?



signature.asc
Description: OpenPGP digital signature


Re: Release D 2.072.0

2016-11-10 Thread Dicebot via Digitalmars-d-announce
On Thursday, 10 November 2016 at 13:58:56 UTC, Steven 
Schveighoffer wrote:
This is not possible. Old behavior DID detect some cycles. The 
new algorithm detects ALL cycles, and handles them all in the 
same way. What you are asking is for cycles detected by old 
algorithm to fail, but ones that wouldn't have been detected to 
pass. Not to mention that the order of ctor execution is not 
guaranteed to be the same (i.e. some latent bug may be hiding 
there).


Only possibility is just to ignore ALL cycles, and print them 
if any are detected.



I presume I have to look for commits that implement
http://dlang.org/changelog/2.072.0.html#drt-oncycle to fixup 
this?


The PR for this was here: 
https://github.com/dlang/druntime/pull/1668



Thanks! I'll have to check the code first :)


Re: Release D 2.072.0

2016-11-10 Thread Dicebot via Digitalmars-d-announce
On 11/03/2016 05:51 PM, Steven Schveighoffer wrote:
> On 11/3/16 10:49 AM, Johan Engelen wrote:
>> On Wednesday, 2 November 2016 at 15:13:43 UTC, anonymous wrote:
>>> On Wednesday, 2 November 2016 at 15:08:26 UTC, anonymous wrote:

 I confirm, dmd 2.072 can't build dmd 2.071.2, same error, but boot
 since master straping works there's probably something that's been
 fixed in one or two of these ddmd modules, likely a static ctor...
>>>
>>> Maybe after this:
>>>
>>> https://github.com/dlang/dmd/commit/1d0ab8b9c136e46bf449c506ca25d2c8a784f7b9#diff-b4674e7b5d3a44178526afdefc9aa368
>>>
>>>
>>>
>>> ddmd.attribs was removed
>>>
>>> https://github.com/dlang/dmd/commit/1d0ab8b9c136e46bf449c506ca25d2c8a784f7b9#diff-b4674e7b5d3a44178526afdefc9aa368L15
>>>
>>>
>>>
>>> and it was also part of the cycle.
>>
>> Thanks for the detective work.
>> I wonder where the bug is: in 2.071 or in 2.072 :)
> 
> Any cycles that are "newly discovered" were already there. What was
> happening is that the runtime did not detect the cycle, and was
> arbitrarily choosing an order for initializing these modules.

It does not justify immediate breaking change. What should have been
done instead:

- Keep old behavior by default by default but print non-fatal runtime
message that cycles are detected.
- Provide options both to make cycle detection fatal and to suppress
message completely.
- Make fatal one the default one release later

I presume I have to look for commits that implement
http://dlang.org/changelog/2.072.0.html#drt-oncycle to fixup this?



signature.asc
Description: OpenPGP digital signature


Re: Release D 2.072.0

2016-11-09 Thread Dicebot via Digitalmars-d-announce
Sadly, because of overwhelming project breakage I have to revert Arch
Linux dmd package version back to 2.071.2 until 2.072.1 is out :(

Going to look into known regressions later this week, at least some of
them look easily fixable to become deprecations.



signature.asc
Description: OpenPGP digital signature


Re: Release D 2.072.0

2016-11-03 Thread Dicebot via Digitalmars-d-announce
On 10/31/2016 03:27 AM, Martin Nowak wrote:
> Glad to announce D 2.072.0.

NB: Current release notes are outdated and wrong about
`-transition=safe` flag. It was completely repurposed in stable branch
(https://github.com/dlang/dmd/pull/6183) but somehow changes to release
notes there do not propagate to released changelog.




signature.asc
Description: OpenPGP digital signature


Re: Battle-plan for CTFE

2016-10-31 Thread Dicebot via Digitalmars-d-announce
On 10/30/2016 11:19 PM, Stefan Koch wrote:
> Oh shoot!
> I did not enable the new call system :(
> This computed by the old interpreter.
> 
> The new engine fails :(

Stefan, would you mind creating a dedicated topic in main D newsgroup to
report your development progress? Bumping the thread in announce NG like
that is rather distracting, we should aim for posting only most
important/relevant info there.



signature.asc
Description: OpenPGP digital signature


Re: DStatsD - A fast, memory efficent, vibe.d compatible client for etsy's statsd.

2016-10-11 Thread Dicebot via Digitalmars-d-announce
On 10/11/2016 04:13 PM, Joakim wrote:
> On Monday, 10 October 2016 at 08:47:54 UTC, Robert burner Schadek wrote:
>> http://code.dlang.org/packages/dstatsd
>>
>> StatsD allows to collect statistics about any application by using
>> counters, gauges and more through UDP.
>>
>> Usage:
>>
>> auto s = new StatsD("127.0.0.1", 1234, ""); // connect to statsd server
>>
>> s(Counter("Foo")); // increment counter "Foo"
>> s.inc("Bar"); // increment counter "Foo"
>>
>> s(Counter("Args"), // send stats to Args, H, and timeA
>>   Counter("H", someIntValue),  // in one UDP message
>>   Timer("timeA", someTimeInMS)
>> );
>>
>> {
>>   auto a = ScopeTimer("args", s); // automatic time collection
>> }
> 
> Never heard about this either, I ignore node.js stuff.  I was just
> reading this interesting post on tracing/profiling a couple days ago: is
> it efficient enough to find some of these tail latency issues?

Stats aggregation usually has nothing to do with fine tuned performance
profiling - it is application defined way to monitor relevant metrics of
runtime behavior. For example, one can aggregate metrics for web app
request processing latencies to monitor if those stay within expected
margin - but if issue is spotted, it won't help much in debugging _why_
it has happened.



signature.asc
Description: OpenPGP digital signature


Re: Beta 2.072.0-b2

2016-10-10 Thread Dicebot via Digitalmars-d-announce

On Sunday, 9 October 2016 at 22:01:31 UTC, Martin Nowak wrote:

On Sunday, 9 October 2016 at 14:36:49 UTC, Dicebot wrote:

Which branch changelog content is generated from?


Stable, the changelog is also included in the docs that are in 
the packages.

I do merge stable back into master to publish them though.


I am confused in that case. What shall I do to replace 
http://dlang.org/changelog/2.072.0.html#dash_safe with my changes 
from https://github.com/dlang/dmd/blob/stable/changelog.dd ?


Re: Beta 2.072.0-b2

2016-10-09 Thread Dicebot via Digitalmars-d-announce

Which branch changelog content is generated from?


Re: Munich D Meetup

2016-09-26 Thread Dicebot via Digitalmars-d-announce

On Sunday, 25 September 2016 at 20:49:47 UTC, Stefan wrote:

On Tuesday, 2 August 2016 at 18:33:02 UTC, Stefan wrote:

Topic is "D's Gems: Ranges"
Speakers are Mario (Author of dunit and duml) and Dragos 
(Author of asynchronous).


We did the first Meetup. Roughly 20 people have been there, 
with very interesting questions during the whole Meetup. 
(Hopefully this will continue in such numbers!).



Wow, that is quite an impressive participation!


Re: Beta D 2.071.2-b3

2016-09-03 Thread Dicebot via Digitalmars-d-announce

On Saturday, 3 September 2016 at 14:40:37 UTC, Martin Nowak wrote:
On Wednesday, 31 August 2016 at 09:56:17 UTC, Johan Engelen 
wrote:
(I can only think of complicated stuff that requires pretty 
much whole-program analysis to prove validity, and in that 
case adding `private` doesn't help any more)


Yes, it does help. As private prevents usage outside of a 
module it allows to do some optimizations that required whole 
program analysis otherwise, e.g. variables and functions can 
get internal linkage, thus reducing loads/stores and indirect 
calls.


There are enough ways to leak access to private entity (alias, 
template argument, taking address, some compile-time 
introspection) to make such optimizations impossible without 
extensive program analysis.


DIP1001: DoExpression

2016-09-03 Thread Dicebot via Digitalmars-d-announce
http://forum.dlang.org/post/nqem7g$1hm6$1...@digitalmars.com



signature.asc
Description: OpenPGP digital signature


Re: Beta D 2.071.2-b3

2016-09-01 Thread Dicebot via Digitalmars-d-announce
On 08/31/2016 02:08 AM, Martin Nowak wrote:
> On Tuesday, 30 August 2016 at 21:58:05 UTC, Basile B. wrote:
>> I'm a bit sad to see that
>> https://issues.dlang.org/show_bug.cgi?id=15371 was completely ignored
>> to fix issue 15907. Another decision could have been to break the
>> visibility for the traits allMember, getMember, derivedMember and
>> getOverloads.
> 
> Well there was reasoning to choose that solution instead of the other
> (https://github.com/dlang/dmd/pull/6078) and the fact that private
> members aren't accessible (set/get) is a good indication that nobody
> needs this.
> Adding an unsafe facility to access private members is a separate
> problem, but please see the changelog for how to achieve this already by
> mixing in templates.

I think such change is not appropriate in a point release, not matter if
it is going to happen or not.



signature.asc
Description: OpenPGP digital signature


Re: The D Language Foundation is now a tax exempt non-profit organization

2016-08-30 Thread Dicebot via Digitalmars-d-announce
On 08/30/2016 05:25 PM, Andrei Alexandrescu wrote:
> Unless we have a sort of branch in other countries, I don't see what we
> can do here. -- Andrei

EU branch of D foundation would be interesting but I think it is much
premature to think about that :)



signature.asc
Description: OpenPGP digital signature


Re: [GSoC] Improvements for dstep

2016-08-28 Thread Dicebot via Digitalmars-d-announce
On 08/27/2016 10:23 PM, ciechowoj wrote:
> Hi.
> 
> I would like to publish a report of my work for this year GSoC. Over the
> last few months, I've been making improvements and fixing bugs for dstep.
> 
> You can check out the changes I've made by following this link:
> 
> https://github.com/ciechowoj/dstep/commits/master?author=ciechowoj
> 
> ...

I have been following dstep improvements ciechowoj did and I must say it
is a great job! The tool has become both smarter in terms of supported
features and more reliable in terms of C headers it is capable of
converting.

Keep rocking and good luck!



signature.asc
Description: OpenPGP digital signature


Re: On the future of DIP1000

2016-08-28 Thread Dicebot via Digitalmars-d-announce

On Saturday, 27 August 2016 at 20:54:02 UTC, Walter Bright wrote:

On 8/27/2016 9:04 AM, Dicebot wrote:
Please never reply to that person unless you are his other 
account. Not in an

announce threads at least.


If the post is reasonably professional, it's ok to. Abusive 
posts just get deleted.


There have never been a single professional or at least 
constructively fashioned post from that account and tolerating 
that harms D public image. I have learned not to argue about this 
but I am very unhappy that you not only allow but encourage both 
off-topic and flamebait derailing of _announcement_ threads.


Re: On the future of DIP1000

2016-08-27 Thread Dicebot via Digitalmars-d-announce

On Saturday, 27 August 2016 at 15:34:04 UTC, Anonymouse wrote:

...


Please never reply to that person unless you are his other 
account. Not in an announce threads at least.




Re: On the future of DIP1000

2016-08-27 Thread Dicebot via Digitalmars-d-announce
On Saturday, 27 August 2016 at 06:37:58 UTC, Andrej Mitrovic 
wrote:
On 8/21/16, Dicebot via Digitalmars-d-announce 
 wrote:

This week I had a tele-meeting with Andrei and Walter regarding
the fate
of DIP1000
(https://github.com/dlang/DIPs/blob/master/DIPs/DIP1000.md)


Trivia question: why is it named DIP 1000? We've had less than 
100 DIPs before https://github.com/dlang/DIPs was opened, the 
jump seems very arbitrary to me (and it makes it appear as if 
we had a thousand DIPs already to the outsiders)


To clearly disambugate all new DIPs from all old ones by the 
number only.


Re: On the future of DIP1000

2016-08-23 Thread Dicebot via Digitalmars-d-announce
On 08/22/2016 09:44 AM, Jacob Carlborg wrote:
> It would be nice to have the whole picture now, before implementing
> DIP1000. Then it's possible to review them together, making sure the end
> goal is actual possible to achieve. Now we just have to trust Andrei and
> Walter that all features will come together making the end goal
> possible. We've already seen in the past that some features don't play
> well together.

My understanding is that those are not supposed to be related in any
direct way and danger of @trusted destructor is inherent to DIP1000
design (it should be better clarified in document itself though, see
https://github.com/dlang/DIPs/pull/35)

> I'm also not a big fan that the DIP is approved right from the start.
> Then it's not a DIP, it's more of a FYI. It makes the whole process kind
> of pointless since Andrei and Walter can choose to ignore the feedback.

By its design definition DIP process is for approving communitty
proposals by Walter/Andrei thus there is no point in pretending they
can't ignore the feedback. Only reason it is even processed in the same
queue is so that developers can track all major proposed changes in one
place.

I would personally prefer to see more of a commitee approach for
validating such changes but that concept is far beyond available
resources and community engagement. If both language authors agree that
certain issue is urgent to solve than, in absence of formally written
counter-proposals, there is no other way but to move ahead.

Again, the DIP process is not for Walter or Andrei - it is for everyone
else wanting to get their attention and submit good quality technical
proposal. I hope authors of already submitted DIPs will improve them to
required content bar and we will see how the process actually work but
that is still to come.

Note that during the meeting I did go through the list of all comments
submitted through the community feedback to ensure that nothing was
simply missed or forgotten and every issue is acknowledged. But all the
decision making is 100% for Andrei/Walter in the end and I don't see how
it can be different with existing state of affairs.



signature.asc
Description: OpenPGP digital signature


Re: On the future of DIP1000

2016-08-23 Thread Dicebot via Digitalmars-d-announce
On 08/22/2016 12:46 AM, John Colvin wrote:
> On Sunday, 21 August 2016 at 20:01:27 UTC, Dicebot wrote:
>> - scope is @safe only
> 
> Why? I might have @system code that could still benefit from scope.

Because it can't provide expected guarantees within feature set allowed
by @system - it is too permissive for such simple system. Probably
actual scope semantics will remain in @system but it won't guarantee
anything.



signature.asc
Description: OpenPGP digital signature


On the future of DIP1000

2016-08-21 Thread Dicebot via Digitalmars-d-announce
This week I had a tele-meeting with Andrei and Walter regarding 
the fate
of DIP1000 
(https://github.com/dlang/DIPs/blob/master/DIPs/DIP1000.md)
and intented way to move forward with it. This is a short summary 
of the

meeting.

Approval of DIP1000
---

DIP1000 is going to be approved as the basis of the idea
but exact specification may change during implementation and as a 
result

of incorporating some ideas from feedback threads
(http://forum.dlang.org/thread/pqsiqmkxenrwxoruz...@forum.dlang.org and
http://forum.dlang.org/thread/rwxcfapvpfiqmfsui...@forum.dlang.org).

Core principles that are sure to stay at this point:
- scope is a storage class
- scope is non-transitive
- scope is @safe only
- responsibility of implementing complicated scope-using types is 
on

developer, compiler magic is intended to be minimal

Any changes in intended DIP1000 spec will be reflected in original
document 
(https://github.com/dlang/DIPs/blob/master/DIPs/DIP1000.md).


Implementation of DIP1000
-

Walter is currently working on implementing the support via
https://github.com/dlang/dmd/pull/5972, which will take some 
time. Once

it is more feature complete I'll contact Martin for possible
out-of-release preview compiler builds from that branch to try it 
out
easily. About that time we will start another feedback thread in 
the NG
with a more practical focus - featuring more code examples and 
design

idioms.

Life after DIP1000
--

It is acknowledged that DIP1000 itself does not allow to 
implemented
completely @safe reference counting, primarily because of an 
issue with
@trusted destructor and re-assignment. Intention is to follow up 
with

another proposal (not directly related) to address the issue from
another angle - but this will only become in focus after DIP1000 
is

finished.


Re: DIP1000: Scoped Pointers

2016-08-18 Thread Dicebot via Digitalmars-d-announce
On 08/11/2016 04:38 PM, Sönke Ludwig wrote:
> That will just leave one hole in conjunction with the @trusted
> destructor, which is (presumably) not easy to fix without much larger
> changes to the type system, as well as to how container types are built.
> It is still vulnerable to artificial shortening of the elements'
> lifetime, e.g. by using opAssign() or destroy():
> 
> @safe {
> RefCountedSlice!int s = ...;
> scope int* el;
> el = &s[0];
> s = RefCountedSlice.init;
> *el = 12; // oops
> }

I asked Walter about this in more details and right now plan is to
address it in a separate DIP that provides more integration between
reference counting and compiler. Within DIP1000 terms such destructor
must not be marked as @safe - essentially, it will only enable @safe
usage of stack allocated data in its initial form.

> A similar issue affects the library implementation of isolated memory
> that I did a while ago:
> 
> @safe {
> class C { int* x; }
> 
> // c is guaranteed to be only reachable through this variable
> Isolated!C c = makeIsolated!C();
> 
> // c.x is a @property that returns a specially wrapped reference to
> // the actual C.x field - with this DIP this is similar to a 'scope'
> // return, but acts transitively
> Scoped!(int*) x = c.x;
> 
> // one of the benefits of Isolated!T is that it allows @safe
> // conversion to immutable:
> immutable(C) ci = c.freeze();
> // c gets cleared by freeze() to disallow any further modifications
> 
> // but, oops, x is still there and can be used to modify the now
> // immutable contents of ci.x
> *x = 12;
> }
> 
> Disallowing the assignment of scope return references to local scope
> references (either by default, or using some form of additional
> inference/annotation) would solve this particular issue, but not the
> issue in general (the assignment/destruction could for example happen in
> a nested function call).

Note that using scope return in its most basic form will exactly prevent
the assigning of reference to a variable because it limits lifetime to
expression.




signature.asc
Description: OpenPGP digital signature


Re: DIP1000: Scoped Pointers

2016-08-17 Thread Dicebot via Digitalmars-d-announce
On 08/17/2016 04:01 AM, Chris Wright wrote:
> On Tue, 16 Aug 2016 18:55:40 +0000, Dicebot wrote:
>> You need to add one more level of indirection for things to start going
>> complicated.
> 
> Presumably scope is transitive, so things shouldn't get horribly complex.

It is not transitive and it is not a type qualifier.




signature.asc
Description: OpenPGP digital signature


Re: DIP1000: Scoped Pointers

2016-08-17 Thread Dicebot via Digitalmars-d-announce
On 08/17/2016 10:53 AM, Mike wrote:
> On Wednesday, 17 August 2016 at 07:17:24 UTC, Rory McGuire wrote:
>>
>>>   If DIP1000 is implemented, it will change that behavior, so the
>>> allocation will instead be on the GC heap, but the compiler will do some
>>> flow-control analysis to prevent escaping references.  Is that right?
>>>
>>> Mike
>>>
>>
>> Not correct, the class would still be on the stack so we can have
>> reference semantics during assignment etc, but the instance is on the
>> stack so its faster and the function the code is inside can optionally
>> be nogc.
>>
>> DIP1000 will just make the compiler check that a stack instance does
>> not escape its scope (though it doesn't cover all cases).
>>
>> struct Astruct {} // - on stack by default
>> class Aclass  {} // - on heap by default
>> void main() {
>> Astruct a = new Astruct; // override, now Astruct is on the heap
>> (because of "new")
>> Aclass c = new Aclass; // on the heap as per-usual
>> scope Aclass c1 = new Aclass; // override, now class is on the stack
>> (most obvious use: to make all references use the same instance)
>> }
> 
> Got it!  Thank you!  But it still appears that what's illustrated on the
> deprecations page is not being deprecated.
> 
> Mike

Yes, it will have to be updated - but I didn't want to adjust it before
DIP1000 spec is finalized. Rationale that was driving deprecation of
scope storage class is becoming obsolete with DIP1000 implemented but
not before.



signature.asc
Description: OpenPGP digital signature


Re: DIP1000: Scoped Pointers

2016-08-16 Thread Dicebot via Digitalmars-d-announce

On Tuesday, 16 August 2016 at 18:55:40 UTC, Dicebot wrote:

On Tuesday, 16 August 2016 at 18:25:42 UTC, Meta wrote:

What about this?

struct Rnd
{
int* state;
}

void test()
{
scope rnd = new Rnd();
Rnd rnd2 = *rnd;

saveGlobalState(rnd2);
}


Same as far as I understand, because "from a lifetime analysis 
viewpoint, a struct is considered a juxtaposition of its direct 
members" 
(https://github.com/dlang/DIPs/blob/master/DIPs/DIP1000.md#aggregates). You need to add one more level of indirection for things to start going complicated.


Ah no, sorry, I have missed that you allocate struct on heap. 
Yes, this is simplified problem case indeed. Intention is that 
such struct can be made @safe by making all pointer fields 
private and adding scope semantics in getter methods but it is 
hard to reason about details at this point.


Re: DIP1000: Scoped Pointers

2016-08-16 Thread Dicebot via Digitalmars-d-announce

On Tuesday, 16 August 2016 at 18:25:42 UTC, Meta wrote:

What about this?

struct Rnd
{
int* state;
}

void test()
{
scope rnd = new Rnd();
Rnd rnd2 = *rnd;

saveGlobalState(rnd2);
}


Same as far as I understand, because "from a lifetime analysis 
viewpoint, a struct is considered a juxtaposition of its direct 
members" 
(https://github.com/dlang/DIPs/blob/master/DIPs/DIP1000.md#aggregates). You need to add one more level of indirection for things to start going complicated.


Re: DIP1000: Scoped Pointers

2016-08-16 Thread Dicebot via Digitalmars-d-announce
On 08/16/2016 07:26 PM, Patrick Schluter wrote:
> What happens in that case ?
> 
> void test() {
> scope rnd  = new Rnd; // reference semantic and stack allocated
> Rnd rnd2;
>  rnd2 = rnd;
>  some_sneaky_function_that_saves_global_state(rnd);
> }
> 
> or is that not even possible ? (sorry I'm still a noob in D).

If `Rnd` is supposed to be a class, it won't compile because it would
mean escaping scope reference to non-scope variable (with DIP1000). If
it is a struct, it won't compile because you are trying to assign `Rnd*`
(pointer) to `Rnd` (value) :)



signature.asc
Description: OpenPGP digital signature


Re: DIP1000: Scoped Pointers

2016-08-15 Thread Dicebot via Digitalmars-d-announce
On 08/15/2016 04:54 PM, Rory McGuire via Digitalmars-d-announce wrote:
> okay nice, so that code would not compile but code such as:
> void test() {
> scope rnd  = new Rnd; // reference semantic and stack allocated
> auto rnd2 = rnd;
> some_sneaky_function_that_saves_global_state(rnd);
> }
> would still not be checked. And would crash inexplicably at the point
> the global was accessed?

some_sneaky_function_that_saves_global_state would have to be declared
as `some_sneaky_function_that_saves_global_state(scope Rnd rnd)` to be
allowed to use rnd as argument which prevents escaping to globals.

What would still be the problem is if `Rnd` contains reference to
another class internally (which gets manually destroyed when Rnd is
destroyed) and `some_sneaky_function_that_saves_global_state` saves it
instead - because by current design `scope` is a storage class and not
transitive.



signature.asc
Description: OpenPGP digital signature


Re: DIP1000: Scoped Pointers

2016-08-15 Thread Dicebot via Digitalmars-d-announce
On 08/15/2016 03:41 PM, Rory McGuire via Digitalmars-d-announce wrote:
> scope rnd  = new Rnd; // reference semantic and stack allocated
> auto rnd2 = rnd;
> 
> rnd.i = 2;
> assert(rnd2.i == 2);
> return rnd2;

Point is that that would become illegal if DIP1000 is implemented thus
giving scope class concept more justification. It would still have @safe
holes though because proposed `scope` does not work through many
indirection levels - but better than existing situation when nothing is
checked.



signature.asc
Description: OpenPGP digital signature


Re: DIP1000: Scoped Pointers

2016-08-15 Thread Dicebot via Digitalmars-d-announce

On Monday, 15 August 2016 at 07:19:00 UTC, lobo wrote:
When was it deprecated? I use it a lot and DMD 2.071.1 gives no 
warning.


It was planned for removal because it was very un-@safe (no 
escaping checks whatsoever) and as such was not better than 
library implementation. Quite likely with DIP1000 implemented 
there will be no point in deprecating it anymore.


DIP1000: Scoped Pointers

2016-08-10 Thread Dicebot via Digitalmars-d-announce
The first DIP has just landed into the new queue. It is a 
proposal from language authors and thus it bypasses usual 
nitpicking process and proceeds straight to requesting community 
(your!) feedback.


Essentially, it is an attempt to solve reference lifetime problem 
by extending implementation of `scope` keyword.


Proposal text: 
https://github.com/dlang/DIPs/blob/master/DIPs/DIP1000.md


Few notes:

- Please submit pull requests to adjust the markdown document if 
you want to propose any improvements (mentioning @WalterBright 
and @andralex for confirmation).
- The proposal refers to a number of other documents and it is 
recommended to become familiar at least briefly with all of them.
- At this point the question I'd personally suggest to be 
evaluated is "does this proposal enable enough useful designs?". 
A good check would be to try taking some of your projects and see 
if having DIP1000 approved and implemented could improve them.


Re: Dreams come true: Compiling and running linux apps on windows :)

2016-08-07 Thread Dicebot via Digitalmars-d-announce

On Sunday, 7 August 2016 at 03:06:27 UTC, Martin Nowak wrote:

On Saturday, 6 August 2016 at 17:34:14 UTC, Andre Pany wrote:

The build script is working fine:
curl -fsS https://dlang.org/install.sh | bash -s dmd


Good news, I'm really not that keen to write a powershell 
script.

What OS does it detect and download?


AFAIK embedded linux support is based on Ubuntu


Re: Codebuilder with line info insertion

2016-07-24 Thread Dicebot via Digitalmars-d-announce
How much of compile-time overhead does it add compared to naive 
string concatenation?


Re: Announcing new DIP handling process

2016-07-13 Thread Dicebot via Digitalmars-d-announce
I have added new "tips" section to the process readme
(https://github.com/dlang/DIPs#advices-for-writing-great-dips) to make
potential DIP authors less excited and more prepared to real work
awaiting ahead :)


Re: DIP: Tail call optimization

2016-07-11 Thread Dicebot via Digitalmars-d-announce

On Sunday, 10 July 2016 at 05:03:46 UTC, Dietrich Daroch wrote:

Hi everyone (=

I've just added a new proposal to add a new attribute to ensure 
TCO is applied.


The proposal is really simple, but I'm clueless on how to 
implement it and also interested on getting feedback on it.



The proposal it's ready for merge on the new [DIPs 
repo](https://github.com/dlang/DIPs/pull/6)


--
Dietrich


In the future I'd recommend to delay announcing DIP until it get 
to the point of being merged into the queue (I'd do it myself at 
that point). Right now there are quite some boring technical 
details to be fleshed out before it becomes a complete proposal - 
asking for community feedback is likely to be time-inefficient.


And sorry for some of the inadequate responses you got here. D 
language authors don't want to enforce any code of conduct or 
moderation in the newsgroup which means certain personas have to 
be simply ignored. In the end only thing that should matter is a 
good technical document to be merged into the queue.


Re: Announcing new DIP handling process

2016-07-09 Thread Dicebot via Digitalmars-d-announce
On 07/09/2016 09:11 PM, ZombineDev wrote:
> Can the new DIP process be used to evaluate library proposals? That way
> a high level design could be fleshed out and approved before the
> contributor goes too far with implementing a design which would be
> rejected.

It is quite hard. To reasonably evaluate library proposal one has to
have at least proof of concept implementation showing intended API. It
isn't easy to fit into abstract DIP format.

I can't advise much on this part because I have been trying to stay away
from Phobos affairs for a long time and don't know existing status quo
about it.


Announcing new DIP handling process

2016-07-09 Thread Dicebot via Digitalmars-d-announce
After quite some preliminary discussions and preparations, new D
Improvement Proposals handling process is finally happenning. Please
read description and explanation here:

https://github.com/dlang/DIPs

## Rationale

There are two main goals for going this way:

1) Ensure communication between language authors and DIP authors,
establish better sense of actually contributing as opposed to simply
throwing ideas into the black box.

2) Improve overall quality of DIP documents to the point where language
authors can reasonably review them without spending too much time on
trivialities.

Additional benefit I am hoping for is to have a centralized place to
subscribe to learn about all coming major changes coming to language for
those who can't keep up with NG regularly.

## Old DIPs

Right now https://github.com/dlang/DIPs repository contains archive
folder with already implemented proposals imported from wiki (please
tell me if there are any other already implemented DIPs that were not
marked as such in wiki).

All authors of existing DIPs who want to keep pursuing the idea will
have to re-submit them as a pull requests towards new repo. This is
required so that we can filter abandoned proposals and focus on
documents that have active authors backing them.

## DIP manager

I will act as a DIP manager for the time being. Please note that role of
DIP manager does not imply any decision power regarding DIP approval, it
remains an exclusive domain of language authors.


Re: First dmd nightly shipping with dub

2016-07-08 Thread Dicebot via Digitalmars-d-announce

On Friday, 8 July 2016 at 09:13:08 UTC, Martin Nowak wrote:
What would be the use-case for those? Using newer dub versions 
with an older compiler?


Or simply using dub with ldc/gdb without also installing dmd.


Re: Button: A fast, correct, and elegantly simple build system.

2016-06-20 Thread Dicebot via Digitalmars-d-announce

On Monday, 20 June 2016 at 02:46:13 UTC, Jason White wrote:
This actually sounds nice. Main problem that comes to my mind 
is that there is no cross-platform shell script. Even if it is 
list of plain unconditional commands there are always 
differences like normalized path form. Of course, one can 
always generate `build.d` as a shell script, but that would 
only work for D projects and Button is supposed to be a 
generic solution.


I'd make it so it could either produce a Bash or Batch script. 
Possibly also a PowerShell script because error handling in 
Batch is awful. That should cover any platform it might be 
needed on. Normalizing paths shouldn't be a problem either.


This should actually be pretty easy to implement.


Will plain sh script script also work for MacOS / BSD flavors? 
Committing just two scripts is fine but I wonder how it scales.


Re: Button: A fast, correct, and elegantly simple build system.

2016-06-19 Thread Dicebot via Digitalmars-d-announce

On Saturday, 18 June 2016 at 08:05:18 UTC, Jason White wrote:
I realize you might be playing devil's advocate a bit and I 
appreciate it.



Yeah, I personally quite like how Button looks and would totally 
consider it, probably with some tweaks of own taste. But not for 
most public projects for a reasons mentioned.


Let me propose another idea where maybe we can remove the extra 
dependency for new codebase collaborators but still have access 
to a full-blown build system: Add a sub-command to Button that 
produces a shell script to run the build. For example, `button 
shell -o build.sh`. Then just run `./build.sh` to build 
everything. I vaguely recall either Tup or Ninja having 
something like this.


This actually sounds nice. Main problem that comes to my mind is 
that there is no cross-platform shell script. Even if it is list 
of plain unconditional commands there are always differences like 
normalized path form. Of course, one can always generate 
`build.d` as a shell script, but that would only work for D 
projects and Button is supposed to be a generic solution.




Re: Button: A fast, correct, and elegantly simple build system.

2016-06-17 Thread Dicebot via Digitalmars-d-announce
On 06/17/2016 06:20 PM, H. S. Teoh via Digitalmars-d-announce wrote:
>> If you happen to be unlucky enough to work on a project so large you
>> need to watch the file system, then use the tup backend I guess.
> [...]
> 
> Yes, I'm pretty sure that describes a lot of software projects out there
> today. The scale of software these days is growing exponentially, and
> there's no sign of it slowing down.  Or maybe that's just an artifact of
> the field I work in? :-P

Server-side domain is definitely getting smaller beause micro-service
hype keeps growing (and that is one of hypes I do actually support btw).


Re: Button: A fast, correct, and elegantly simple build system.

2016-06-17 Thread Dicebot via Digitalmars-d-announce
However, I question the utility of even doing this in the first 
place. You miss out on the convenience of using the existing 
command line interface. And for what? Just so everything can be 
in D? Writing the same thing in Lua would be much prettier. I 
don't understand this dependency-phobia.


It comes from knowing that for most small to average size D 
projects you don't need a build _tool_ at all. If full clean 
build takes 2 seconds, installing extra tool to achieve the same 
thing one line shell script does is highly annoying.


Your reasoning about makefiles seems to be flavored by C++ 
realities. But my typical D makefile would look like something 
this:


build:
dmd -ofbinary `find ./src`

test:
dmd -unittest -main `find ./src`

deploy: build test
scp ./binary server:

That means that I usually care neither about correctness nor 
about speed, only about good cross-platform way to define 
pipelines. And for that fetching dedicated tool is simply too 
discouraging.


In my opinion that is why it is so hard to take over make place 
for any new tool - they all put too much attention into 
complicated projects but to get self-sustained network effect one 
has to prioritize small and simple projects. And ease of 
availability is most important there.


Re: LDC 1.0.0 has been released!

2016-06-08 Thread Dicebot via Digitalmars-d-announce
Was there anything changed regarding -od / -op / -oq behaviour? I 
am getting DCD build errors with new LDC because object files are 
emitted to a different place it expects.


Re: LDC 1.0.0 has been released!

2016-06-06 Thread Dicebot via Digitalmars-d-announce
NB: update of Arch package is delayed because of 
https://github.com/ldc-developers/ldc/issues/1544


Re: Button: A fast, correct, and elegantly simple build system.

2016-06-03 Thread Dicebot via Digitalmars-d-announce

On Wednesday, 1 June 2016 at 04:34:23 UTC, Jason White wrote:
Why is having dependencies so damaging for build systems? Does 
it really matter with a package manager like Dub? If there is 
another thread that answers these questions, please point me to 
it.


Rephrasing one famous advice, "every added tooling dependency in 
an open-source project reduces amount of potential contributors 
by half" :) Basically, one can expect that anyone working with D 
will have dmd/phobos and, hopefully, dub. No matter how cool 
Button is, if it actually needs to be installed in contributor 
system to build a project, it is very unlikely to be widely used.


That issue can be reduced by making Button itself trivially built 
from plain dmd/phobos/dub install and configuring the project to 
bootstrap it if not already present - but that only works if you 
don't also need to install bunch of additional tools like sqlite 
or make.


From that perspective, the best build system you could possibly 
have would look like this:


```
#!/usr/bin/rdmd

import std.build;

// define your build script as D code
```


Re: Button: A fast, correct, and elegantly simple build system.

2016-05-31 Thread Dicebot via Digitalmars-d-announce
Can it be built from just plain dmd/phobos install available? One of
major concernc behind discussion that resulted in Atila reggae effort is
that propagating additional third-party dependencies is very damaging
for build systems. Right now Button seems to fail rather hard on this
front (i.e. Lua for build description + uncertain amount of build
dependencies for Button itself).


Re: Release DUB 0.9.25, new logo and updated website design

2016-05-23 Thread Dicebot via Digitalmars-d-announce

On Monday, 23 May 2016 at 15:13:56 UTC, Russel Winder wrote:
My need is two write a Python program that queries the running 
Dub repository. So I am guessing this is an HTTP-based protocol.


I guess I will have to read the Dub code and deduce/infer/guess 
the necessary protocol. Not a problem, but it would have been 
easier for me not to have to do this but to have the API. Is 
there a repository with the beginnings of something that I 
might contribute to?


Here is the declaration of REST API : 
https://github.com/dlang/dub-registry/blob/master/source/dubregistry/api.d#L21-L39


For example: http://code.dlang.org/api/packages/dub/info



Re: To all DConf speakers: please upload slides!

2016-05-11 Thread Dicebot via Digitalmars-d-announce
On Wednesday, 11 May 2016 at 13:00:39 UTC, Vladimir Panteleev 
wrote:

On Wednesday, 11 May 2016 at 09:17:54 UTC, Dicebot wrote:
To do the editing of HD videos we need presentation slides 
which are currently scattered over different places. It would 
help a lot to have them all in github.com/dlang/dlang.org repo 
- please submit pull requests asap!


I think you mean the https://github.com/dlang/dconf.org repo :)

I have a related pull request:

https://github.com/dlang/dconf.org/pull/134


Correct and thanks! :)


Re: Looking for D developers, Saint-Petersburg

2016-05-11 Thread Dicebot via Digitalmars-d-announce

On Wednesday, 11 May 2016 at 09:40:43 UTC, Suliman wrote:

On Wednesday, 11 May 2016 at 09:23:13 UTC, Dicebot wrote:
FYI: хотя сама вакансия меня не интересует, могу помочь 
отдельными консультациями, если возникнет такая необходимость. 
Санкт-Петербург довольно близок от Риги.


А в Риге вакансии связанные с Ди есть?)


Насколько мне известно, нет. Знаю несколько маленьких компаний, 
которые экспериментируют с D, но не более того.


Кстати, ты сам оттуда или переехал? Просто в последнее время 
слышу, что в прибалтику куча ИТшников переезжает.


Я здесь родился.


Re: Looking for D developers, Saint-Petersburg

2016-05-11 Thread Dicebot via Digitalmars-d-announce
FYI: хотя сама вакансия меня не интересует, могу помочь 
отдельными консультациями, если возникнет такая необходимость. 
Санкт-Петербург довольно близок от Риги.


To all DConf speakers: please upload slides!

2016-05-11 Thread Dicebot via Digitalmars-d-announce
To do the editing of HD videos we need presentation slides which 
are currently scattered over different places. It would help a 
lot to have them all in github.com/dlang/dlang.org repo - please 
submit pull requests asap!


Re: Live streaming of DConf 2016: confirmed

2016-05-04 Thread Dicebot via Digitalmars-d-announce

On Wednesday, 4 May 2016 at 08:33:47 UTC, Joakim wrote:
There appears to be a problem with the sound on Ustream with 
Android, at least for me: there is none.  I've tried it on a 
Sony phone and a Samsung tablet, both with the HTML5 player in 
the browser and the Android app.  All other streams work, which 
suggests it's a problem with the Dconf stream.


My guess is that the Dconf stream is using an audio codec that 
Ustream doesn't support on Android, and it's silently failing, 
in more ways than one.  If anyone else can reproduce this and 
maybe try to fix it by changing the audio codec, if possible, 
that'd be great.


Have reported it to A/V team, will see if they can fix it timely.


Re: Proposed: start DConf days one hour later

2016-04-28 Thread Dicebot via Digitalmars-d-announce
On 04/28/2016 12:31 PM, Guillaume Chatelet wrote:
> But hey they'll be
> recorded right?

Yep.


Re: Live streaming of DConf 2016: confirmed

2016-04-26 Thread Dicebot via Digitalmars-d-announce

On Tuesday, 26 April 2016 at 14:01:56 UTC, Dmitry wrote:

On Thursday, 21 April 2016 at 17:24:43 UTC, Dicebot wrote:
Have just got a confirmation that there will both live stream 
and high quality recording for later publishing during DConf 
2016 @ Berlin - not being able to attend is not a reason to 
not participate! ;)


Any chance for subtitles?


For live stream - don't think so. For high quality recordings 
publishes later shouldn't be a problem.


Re: XDG-APP and D

2016-04-22 Thread Dicebot via Digitalmars-d-announce
On 04/22/2016 02:57 PM, John Colvin wrote:
> On Thursday, 21 April 2016 at 18:55:23 UTC, Gerald wrote:
>> For those not familiar, xdg-app is a Linux virtualization system
>> targeted at desktop apps, it's been under pretty heavy development and
>> is available for use in Gnome 3.20.
>>
>> Mathias Clausen recently wrote a blog entry about creating his first
>> xdg-app and the application he chose to play with was Terminix, a
>> terminal emulator, which is written in D. He had some D specific
>> challenges to deal with which may be interesting to others looking to
>> support xdg-app.
>>
>> You can read his blog entry here:
>>
>> https://blogs.gnome.org/mclasen/2016/04/15/my-first-xdg-app.
> 
> Can someone explain to me how xdg-app provides a significantly different
> experience to static linking (in a language like C or D)? I guess
> there's the old "what about libc?".

https://wiki.gnome.org/Projects/SandboxedApps explains it pretty well.
Think of it as immutable filesystem snapshot that gets used for
sandboxed app instead of real host filesystem. Not only all dependency
code is included but all file resources too,:

"A runtime provides a well-defined environment that an app can run in.
Examples would be "GNOME 3.14" or "KDE 5.6". A runtime can be thought of
as a /usr filesystem with fixed contents. When a bundled app gets run,
the runtime it needs gets mounted at /usr." (c) that link

It also includes facilities for limiting sandboxes app access to host:

"The xdg-app run command sets up an isolated environment before
exec()ing the application. Among other things, it

- mounts the files/ directory of the application under /app (readonly)
- mounts the files/ directory of the runtime under /usr (readonly)
- mounts the data/ directory of the application under /var (writable)
- if access to the host filesystem is required, it gets mounted at /
(writable)
- if access to the home directory is required, it gets mounted at its
usual place (writable)
- if access to neither the home directory or the host filesystem is
required, /var/home gets mounted in its place (writable)
- if the runtime has extension points, and matching runtimes are
installed, mount them (readonly)"

So in the end each app will bundle all its dependency and just work no
matter what the host is. Which is cool. But it will also bundle all its
dependencies and you'd better accept size of your total system
installation (and its RAM consumption).


Re: XDG-APP and D

2016-04-22 Thread Dicebot via Digitalmars-d-announce
On 04/21/2016 11:30 PM, Karabuta wrote:
> This whole sandbox apps seem interesting. Canonical also talking about
> snaps :)

Meh, I can see why this concept is tempting for desktop systems but it
makes me feel that 5 years from now I'll have to build my own
Linux-From-Scratch distro to preserve kind of user experience I
initially loved Linux for (minimal overhead, running same system on both
your tiny media server and power desktop). "A runtime can be thought of
as a /usr filesystem with fixed contents. When a bundled app gets run,
the runtime it needs gets mounted at /usr." :(


Live streaming of DConf 2016: confirmed

2016-04-21 Thread Dicebot via Digitalmars-d-announce
Have just got a confirmation that there will both live stream and 
high quality recording for later publishing during DConf 2016 @ 
Berlin - not being able to attend is not a reason to not 
participate! ;)


I will also forward any questions asked online to speakers (if 
time allows). To make sure your question gets noticed please 
submit it (when the time comes) either via Twitter using 
#askdconf hash tag or via official D IRC channel (#d @ 
irc.freenode.net), preferrably mentioning the same hash tag.


Only bit that is still decided upon is platform choice for 
primary stream source - will update this topic when it gets 
settled.


See you soon in Berlin!


Re: Command line utilities for tab-separated value files

2016-04-13 Thread Dicebot via Digitalmars-d-announce
On 04/13/2016 09:48 PM, Jon D wrote:
> Right. So, partly what I'm wondering is if during the normal dub
> fetch/run cycle there might be an opportunity to print a message the
> user with some info to help them add the tools to their path. I haven't
> used dub much, so I'll have to look into it more. But there should be
> some way to make it reasonably easy and clear. It'll probably be a few
> days before I can get to this, but I would like to get them in the
> package registry.

This is wrong direction. Users of those tools should not even ever need
to have dub installed or know about it existence - dub is strictly a
developer tool. Instead, whoever distributes the utils should use dub to
build them and use generated artifacts to prepare distribution package.


Re: Command line utilities for tab-separated value files

2016-04-13 Thread Dicebot via Digitalmars-d-announce

On Wednesday, 13 April 2016 at 17:21:58 UTC, Jon D wrote:
You don't need to put anything on path to run utils from dub 
packages. `dub run` will take care of setting necessary 
envionment (without messing with the system):


dub fetch package_with_apps
dub run package_with_apps:app1 --flags args


These are command line utilities, along the lines of unix 
'cut', 'grep', etc, intended to be used as part of unix 
pipeline. It'd be less convenient to be invoking them via dub. 
They really should be on the path themselves.


Sure, that would be beyond dub scope though. Making binary 
packages is independent of build system or source layout (and is 
highly platform-specific). The `dun run` feature is mostly 
helpful when you need to use one such tool as part of a build 
process for another dub package.


Re: Command line utilities for tab-separated value files

2016-04-13 Thread Dicebot via Digitalmars-d-announce

On Wednesday, 13 April 2016 at 16:34:16 UTC, Jon D wrote:
Thanks Rory, Puming. I'll look into this and see how best to 
make it fit. I'm realizing also there's one additional 
capability it'd be nice to have in dub for tools like this, 
which in an option to install the executables somewhere that 
can be easily be put on the path. Still, even without this 
there'd be benefit to having them fetched via dub.


You don't need to put anything on path to run utils from dub 
packages. `dub run` will take care of setting necessary 
envionment (without messing with the system):


dub fetch package_with_apps
dub run package_with_apps:app1 --flags args


Re: Release D 2.071.0

2016-04-11 Thread Dicebot via Digitalmars-d-announce

On Monday, 11 April 2016 at 19:20:50 UTC, Marco Leise wrote:

Am Thu, 07 Apr 2016 10:13:35 +
schrieb Dicebot :
It is second time git tag for DMD release refers to commit 
with VERSION file content which doesn't match the tag. May 
indicate something is wrong in release procedure.


Or maybe something is wrong with source based Linux 
distributions in this time and age. I don't know. But I'm glad 
that you fire proof the source bundles first, before I move my 
lazy ass to update DMD packages for Gentoo. I hope to start 
from a good, clean 2.071.0/2.071.1 tar ball. :D


:)

I must admit I took the easy path and simply added `echo $pkgver 
> ../VERSION` to package build script instead of making upstream 
PR.


Re: Release D 2.071.0

2016-04-07 Thread Dicebot via Digitalmars-d-announce

On Tuesday, 5 April 2016 at 22:43:05 UTC, Martin Nowak wrote:

Glad to announce D 2.071.0.

http://dlang.org/download.html

This release fixes many long-standing issues with imports and 
the module

system.
See the changelog for more details.

http://dlang.org/changelog/2.071.0.html

-Martin


It is second time git tag for DMD release refers to commit with 
VERSION file content which doesn't match the tag. May indicate 
something is wrong in release procedure.


Re: Blog article on new import changes

2016-03-29 Thread Dicebot via Digitalmars-d-announce
On Tuesday, 29 March 2016 at 15:25:27 UTC, Steven Schveighoffer 
wrote:
I anticipate 2.071.0 is going to cause a lot of deprecation 
messages and strange errors to occur, due to the fixes of very 
long-standing import bugs.


I wrote a blog post (actually my first ever) on this, let me 
know what you think (and please, any clarifications/errors, let 
me know):


http://www.schveiguy.com/blog/2016/03/import-changes-in-d-2-071/


Worth mentioning that -transition=checkimports may slow down 
compilation notably which is why it isn't the default.


Re: DConf 2016 announces programme, general registration opened thrugh April 22

2016-03-28 Thread Dicebot via Digitalmars-d-announce
On 03/29/2016 04:50 AM, Adam D. Ruppe wrote:
> I just realized today that a live stream is not going to be enjoyable
> for us who are still in the US.
> 
> Any chance that we can have a *scheduled* delay rebroadcast right when
> it ends? So basically starting at like 11am Eastern time, 8am Pacific.
> 
> Heck, we might even play it a third time for people on the other side of
> the world too, but I'm asking for myself so jut the ne is good.
> 
> 
> I want this coordinated and announced because then we can all be on
> together and have "live" chat without being up in the middle of the
> night to be live with the folks in Germany.

I am not sure this has much value. The main benefit of live stream is
that everyone can ask questions online and those will be forwarded to
speakers. Isn't it better to simply wait for recorded high quality
videos otherwise?

P.S. devs from Europe did indeed have to stay awake through the night to
watch previous dconfs ;)


Re: unit-threaded v0.6.3 - now even easier to use / opt-in

2016-02-29 Thread Dicebot via Digitalmars-d-announce
On 02/29/2016 02:00 PM, Sebastiaan Koppe wrote:
> On Monday, 29 February 2016 at 09:37:51 UTC, Atila Neves wrote:
>> http://code.dlang.org/packages/unit-threaded
>>
>> Enjoy!
>>
>> Atila
> 
> Really nice.
> 
> Wow, didn't know dub could build and run a dependency.

Note: only if it has a configuration with an `application` target defined.

It is effectively a way to make tools from dub registry usable from
other dub projects without messing with system-wide state.


Re: Qt's MOC getting replicated in D for Calypso

2016-02-22 Thread Dicebot via Digitalmars-d-announce
On 02/22/2016 12:20 PM, Dicebot wrote:
> The very reason why Calypso doesn't work with C++ so well is also the
> reason why you won't be able to generate bindings easily - it calls C++
> code directly without creating intermediate D interface in any form.

Typo: "very reason why Calypso DOES work with C++ so well"



Re: Qt's MOC getting replicated in D for Calypso

2016-02-22 Thread Dicebot via Digitalmars-d-announce
On 02/22/2016 01:30 AM, bachmeier wrote:
> On Sunday, 21 February 2016 at 22:23:10 UTC, Kagamin wrote:
>> On Sunday, 21 February 2016 at 17:21:51 UTC, Brad Roberts wrote:
>>> Is there anything preventing Calypso from turning into a code and
>>> interface generator?  Making it an application that is part of the
>>> build rather than a plug in to ldc would make it available to both
>>> dmd and gdc users, no?
>>
>> That's DStep: https://github.com/jacob-carlborg/dstep
> 
> I don't think that works for C++, and it's not complete.

The very reason why Calypso doesn't work with C++ so well is also the
reason why you won't be able to generate bindings easily - it calls C++
code directly without creating intermediate D interface in any form.


  1   2   3   4   5   6   >