Beta 2.082.0

2018-10-17 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Glad to announce the first beta for the 2.083.0 release, ♥ to the 48
contributors for this release.

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

As usual please report any bugs at https://issues.dlang.org

- 

Highlights:

BetterC build option in dub -
https://dlang.org/changelog/2.083.0.html#betterC_build_option
CppRuntime_* version identifiers -
https://dlang.org/changelog/2.083.0.html#cppVersions
New isZeroInit trait - https://dlang.org/changelog/2.083.0.html#isZeroIn
it
DUB_PACKAGE_VERSION environment variable -
https://dlang.org/changelog/2.083.0.html#env_var_package_version

- -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAlvHJ7oACgkQsnOBFhK7
GTndcg//dverePD9V8DIyVuemqho4Hrt2mKVfIr3p6W3osQuv2Ul9fr2yqdtzoif
3oecvjV7NFlW72v1v/Vli8aIItQ8ak60/aD2bSzrLPy9pnnjeC7NvctdA2snjQef
s1klZP/fLzr3QE39rLiFgQwhZIhkIgvFQai79lB2uMwIFE/lp1yn/34UMrxesEPS
ubcGufOYkUvmqwbdz0Pn71WqwNXjXf2zeZ5u8yOgF8+E/7HZNt3TFGmv6rL1VxFW
mch+SsrAul+iT3E6vs05MrRpZSNbL2bESOxcULflF+XYiRp8f6uf3FKeZ1YBqmSc
nvDDkVbkGHIfw4SZGJ7IPsno6MBSC588hrkHg1SV1LkalHqvCRk0g2HFcJ4B86nl
M5QeobeaJmb2rpugLichZ+MRQMbyzNkY41mc9jJ73hq4l2Q4KLCXDzb+JCYhcyIF
Yjvrq7mQPwkbfjQl0t5JwW1/cONTVKEEM+Kv5dgkzDUewuodMbkfV0zApkf+Z/tZ
0nxLx5rmNxCKqbMqjbd6G0SnsCmoqdZjgG57g5SM1Nqg3Xwvmi/mAr0Chgb3xgAU
A4WAtTxCu097gmXKNKAdLDAMXD2HD5DNqLei/NhSomYE16bumeTvUI6mBKxcVsKs
ISp3yThoLGY9d13AsqzrZNA60c1Hfqotuh2H9XUnJDxfSnPA8Uw=
=Pyed
-END PGP SIGNATURE-


Release D 2.082.1

2018-10-11 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Glad to announce D 2.082.1.

http://dlang.org/download.html

This point release fixes a few issues over 2.082.1, see the changelog
for more details.

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

- -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAlu/1nsACgkQsnOBFhK7
GTnjkRAApPjGrvTsFsgW4RxLNUgjQUjcsxgfUXdaeWyEjjRiAEvCv+GCYn7tTT74
+Am3GHX7B07lZ3KYmbC3Wad4rB5/6Q0TyVP4JxDmUuU/msqw1yu2yf3xIglLivAW
D+KOkXrrpT0ptT5HlrEv6AOqQSCMCwvBGb4ePZldhqBxqnLBURsvEBBJ6HxUroa2
CjwBbAIbdWDZoR2eqJinWvuadh836Lzxq01X7pttNOZfhhCvppOqkY4JILgubMY5
9wVFRZWhL47nihyAYXMoa5/fhX16hRWzadEVmb4KM+2aVqCQC8CIA/Yvb0BKlZ/c
BZ6XX0qXpHhal0N18QsXdfvYMiSKXnVEOzfb/bTbuSPlVcimU84EX360GlAQNJsT
7XWwTABc0X1mEuNk2b0mBMEWuz+rYQklpWa/CQ15X0Ye2gu7oLO06g82lIndpR0c
9YwNYyjKQJXSf0OZaBcyNTptl0k0o7E7J7RLfUAR5SMOWzXjjf6vyTk/68Dkns/+
2e2mAINMZgeD/cu5BrfoqsM3PPauoQbhh6JaA7tnBhqe0A6OgJoWJjnl17hvwPKA
sv5AskWp0JdTKYBYgQZxXS5JBr5VCgdAE9rAPyZXyS/y6N+3yOgWVu5Z6UdaTTl9
V0agzRHm8YZPnLbgId9PjWBLA4Kc9ng0xAHXQrWwMR4FPZ98yY8=
=cVOc
-END PGP SIGNATURE-


Re: Beta 2.082.1

2018-10-11 Thread Martin Nowak via Digitalmars-d-announce

On Saturday, 6 October 2018 at 18:12:43 UTC, Andre Pany wrote:
As far as I understand you have access to this server only. Can 
you check what is causing the issue?


See https://dlang.slack.com/archives/C4DN1H6LA/p1536909712000100 
for more info.
I'm about to rebuild the nightlies infrastructure based on a 
buildkite worker, so that release binary building becomes 
somewhat more transparent (and reliable).
The new nightlies binaries will be uploaded to 
downloads.dlang.org/nightlies just as all the other binaries.


Beta 2.082.1

2018-10-06 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

First beta for the 2.082.1 patch release.

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

Please report any bugs at https://issues.dlang.org

- - -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAlu407AACgkQsnOBFhK7
GTkZCg//UGO8x/KOWRCzB0BrUfeE2uB1GRNoU/lLFN54wo46Vf/Hh1W4BVO+02N6
asZmWSb3yP3lnoxN+vmmpeO5X2/Z6S79Kk6bzaacD9cSPDN51O/9SL8Rvb0zKOGs
LZI9gippdV23BaW/y+9wqpJ/aIX5jK5Nfvtx4dybRCMthQSX0hEcaKesEls97Teg
dYEqvprmHNmv9bzA3BInhKBTx/sknFrYdRUf44FhYpa1rpzgzoyluw+I7iazFxpY
oc0jLkafhO0r3hi9i6+VQssGu0FAO0mzRRsM/RfFYqTdnexbRzF3e0U2D/kwMBlR
VV+mdEBtxrHfaeDPPFRwVTlbXCQDyMVHMPwxXUO6Q5TBBQRTJ8lahx/y3pW+9fNX
XGpLfKMLpVjyPDbGxkVjuEl6xsosB0qzldYz1QwSVLIfDGwe3Dmd7mHNjilmVnKQ
CDbEaEP8r6dOaW9dCEmIXR9iZ3ZLv270/anzfQYRqgUgvNPgvHjEKOTpq0TTRLpR
/tSbIbYg3sCaJpObnRJCxDFJb5NcBApQwiM04l6swLlFnbR2vs06SF8BJlOGrwco
AuE0PqlY9hcJXgAs442Reh8sy3QINByUcWp6/wK95MerHW6/5XAY8L302E+u+87S
yXYIY+L2sMkisfbRYKOQM2UUa9PDh5xSoL6r2i9UPa5qATg9R98=
=P2JK
-END PGP SIGNATURE-


Re: Release D 2.082.0

2018-09-04 Thread Martin Nowak via Digitalmars-d-announce
On Tuesday, 4 September 2018 at 03:56:25 UTC, Shigeki Karita 
wrote:

Is there any workaround to avoid this?


Please file a regression under https://issues.dlang.org/.
One workaround for now would be to initialize the variable at 
runtime, e.g.


```d
static double d;
shared static this() { d = exp(-1.0); }
```


Re: Release D 2.082.0

2018-09-03 Thread Martin Nowak via Digitalmars-d-announce

On Sunday, 2 September 2018 at 15:51:37 UTC, lurker wrote:
if i remember correctly (5.), it wants a different/other 
version of the tool chain.
never the less, i'll continue using c# and not install (1.) 
again, since in earlier versions of D i eventually had to 
deinstall VS2017 and then reinstall it fresh. too much work.

btw, 1. was the only plugin i had.


Maybe check your environment variables for leftover entries from 
previous installations. Without a more concrete bug report it's 
hard to help you though, try https://issues.dlang.org/.
Also there is some initial work on an alternative toolchain based 
on lld and mingw import libs to avoid the heavy VS installation.


Re: Release D 2.082.0

2018-09-03 Thread Martin Nowak via Digitalmars-d-announce

On Sunday, 2 September 2018 at 22:04:11 UTC, Mike Franklin wrote:
I guess we should keep an eye on this for the next releases, 
could you

take care of this Mike?


Take care of what exactly?  What specifically needs to be done?


Testing Windows installation of at least the first beta and the 
actual release for whether Windows Defender et.al. try to scare 
away people.


Re: LDC 1.11.0

2018-09-02 Thread Martin Nowak via Digitalmars-d-announce
On 08/18/2018 06:47 PM, kinke wrote:
> Glad to announce LDC 1.11:
> 
> * Rudimentary support for compiling & linking directly to WebAssembly.
> See the dedicated Wiki page [1] for how to get started.

Nice one!

> [1] https://wiki.dlang.org/Generating_WebAssembly_with_LDC



Re: Copr repository providing dmd and dub for Fedora, EPEL and Mageia

2018-09-02 Thread Martin Nowak via Digitalmars-d-announce
On 08/31/2018 09:49 PM, Laurent Tréguier wrote:
> I actually used dmd until very recently, and still use dmd on Mageia and
> EPEL. I switched to ldc because of weird linker errors on Fedora 29, but
> since it's still in development I have no idea if this is the problem
> comes from dmd or Fedora.
> I might go back to using dmd if it turns out to work again.

We definitely want to switch the official dmd binaries to ldc or gdc at
some point as well. Would be great to do a somewhat concerted switch
with all the external packagers.


Re: Release D 2.082.0

2018-09-02 Thread Martin Nowak via Digitalmars-d-announce
On 09/02/2018 03:16 AM, Mike Franklin wrote:
> On Sunday, 2 September 2018 at 01:05:10 UTC, Martin Nowak wrote:
>> Glad to announce D 2.082.0.
> 
> The Windows installer gave me no warning messages this time.  Thanks,
> everyone.

Seems like they knew most artifacts within the installer by now,
scanning for the submitted binary was a lot faster than last time.
I guess we should keep an eye on this for the next releases, could you
take care of this Mike?


Release D 2.082.0

2018-09-01 Thread Martin Nowak via Digitalmars-d-announce
Glad to announce D 2.082.0.

This release comes with more efficient update functions for associative
arrays, unsafe code in debug blocks, UDAs for function parameters, an
improved dependency resolution and avoidance of online update checks for
dub, and signed Windows binaries.

http://dlang.org/download.html
http://dlang.org/changelog/2.082.0.html

-Martin


Re: Copr repository providing dmd and dub for Fedora, EPEL and Mageia

2018-08-31 Thread Martin Nowak via Digitalmars-d-announce

On Friday, 31 August 2018 at 18:44:23 UTC, Laurent Tréguier wrote:

The repo is used just like any other Copr repo:


sudo dnf copr enable tcg/devel
sudo dnf install dmd dub


Since Copr also allows building packages for EPEL and Mageia, 
I'm launching builds for them as well.


[1] https://copr.fedorainfracloud.org/coprs/tcg/devel/


Nice one.

I see that you're using ldc as bootstrap/host compiler. While 
that will result in faster binaries (in particular useful for 
dmd), the official binaries releases are still built with dmd for 
now. Just worth noting as it might lead to specific bugs not 
present in the official binaries.


Release Candidate 2.082.0

2018-08-29 Thread Martin Nowak via Digitalmars-d-announce

On Friday, 17 August 2018 at 20:01:32 UTC, Martin Nowak wrote:
Glad to announce the first beta for the 2.082.0 release, ♥ to 
the 47 contributors for this release.


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


As usual please report any bugs at https://issues.dlang.org


Release candidate available for download now.

Website will be updated soon, seems like Digger hasn't yet picked 
up https://github.com/dlang/dlang.org/pull/2458.


Re: Release Candidate 2.082.0

2018-08-29 Thread Martin Nowak via Digitalmars-d-announce

On Wednesday, 29 August 2018 at 23:31:37 UTC, Martin Nowak wrote:
Website will be updated soon, seems like Digger hasn't yet 
picked up https://github.com/dlang/dlang.org/pull/2458.


You can download binaries directly from 
http://downloads.dlang.org/pre-releases/2.x/2.082.0/ until that 
is fixed.


Re: Beta 2.082.0

2018-08-24 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

On 08/17/2018 10:01 PM, Martin Nowak wrote:
> Glad to announce the first beta for the 2.082.0 release, ♥ to the 
> 47 contributors for this release.
> 
> http://dlang.org/download.html#dmd_beta 
> http://dlang.org/changelog/2.082.0.html
> 
> As usual please report any bugs at https://issues.dlang.org

Second Beta live now.
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAluAW24ACgkQsnOBFhK7
GTn/Dg/8Daattu9zLZL8C7KdEjuMZnJoJk+SeXsFdbDHa3Y1mndRuu+Fq/m1xSCp
gbBcnVedD64N4iLfSP2rvJusbcVR9s7F+Q2YqcYPsa7AKNTjTUMgrqCD71DbFx1l
Zq+HEnOmdS5ZabcHVl9zt29w91Y4uGQXWhKKmxq9l1YCmR4Y7dIW2xYNmNfjuNFQ
c5yQk/+UrLyxQmpiR1g+E/NChUJYwG8fhYFtUDHChSksvCxqZkgUUyONM+oV9g5J
fJ04S0xUSVhf2m++q8TaHBw3NexG0oI/Rs78yLY31l/9BRU6bvgZEd0QBBSyUWRK
c8vx+SvxsGnzgK1N+xOupug1IWHg1fN/nUMmNYm5F2dyHAp0oeW8G/OqAT8DtHYp
xD/Tam+vHaPPq/jl1POPECz2hMtT+yd2wRsL/+2WrO6FiE5l7LayVCmAsLtqqHjn
UplpjhObmt/VstvgaFzobI5+C0EzbJJUwe+S+ErhVFcazud6fjb3SOnwA3cSuJXt
rHi9Jzbwrk+T15JjKF1LZf/+r99Awi9igSRAA3Qa+Qx/CXCu845vyTG0Uodqx65E
2QTS4IItdrR6sNL44w38JJdhfle8O6xFgSX6wLSbJ7GTGVNclTaIMuHi+lW/6ai2
XdmJg/eHoXWzWW0WGq5peb5MeT4OkqGWKe1JhICU+DU5WP7Wmt8=
=BLdX
-END PGP SIGNATURE-


Re: D kernel for Jupyter notebook

2018-08-20 Thread Martin Nowak via Digitalmars-d-announce
On 08/20/2018 02:14 AM, Shigeki Karita wrote:
> On Sunday, 19 August 2018 at 20:33:45 UTC, Laeeth Isharc wrote:
>> Proof of concept works, but it requires some further development to be
>> useful to do work in.
>>
>> [...]
> 
> Great. I have tried DUB integration. It seems to work.
> https://github.com/ShigekiKarita/grain/blob/master/example/repl.d

Looks very interesting, though not quite ready for full drepl integration.
https://github.com/dlang-community/drepl/issues/4#issuecomment-414331125


Re: Beta 2.082.0

2018-08-18 Thread Martin Nowak via Digitalmars-d-announce
On 08/18/2018 10:39 AM, Radu wrote:
> On Saturday, 18 August 2018 at 08:30:31 UTC, Mike Franklin wrote:
>> On Saturday, 18 August 2018 at 08:22:54 UTC, Mike Franklin wrote:
>>
>>> It's a little old, but from what I'm reading we need "reputation"
>>> with Microsoft or an EV certificate, or publish on the Windows Store.

Let's please try to avoid getting into more of this nonsense.

I understand that common Windows users have a very different thread
model than linux developers, hence the crappy Anti-Virus rootkits.
I'd expect the Windows dev audience we're targeting with D to be a bit
more capable than common Windows users though.
OTOH company policies for Windows devs might require UAC and disallow
installing untrusted stuff.

>> I'm also reading that once the executable has been downloaded a number
>> of times from different IP addresses, it will be registered as safe in
>> Microsoft's database.  Maybe we just need to wait for more people to
>> download it and run it.
>>
>> Mike
> 
> Yes, it needs to build up reputation trough multiple downloads and
> installations. This can take up to a week.

Beta is 2 weeks sounds fine then. So please download and install the
beta, sth. you should always do ;).

Fortunately Microsoft has finally bumped their max filesize on the
Binary submit form from 20 to 200 MiB
(https://www.microsoft.com/en-us/wdsi/filesubmission).

I just submitted the beta installer using my private Microsoft account
(https://www.microsoft.com/en-us/wdsi/submission/9180949d-7efd-403f-b7e2-66e334e3e37e).

Would be good to know exactly the recognized "Detection name" Windows
Defender found (see
https://go.microsoft.com/fwlink/?linkid=849601#detection-history).

In case this helps we can look at automating this using a dlang.org
specific account.

-Martin


Re: Beta 2.082.0

2018-08-18 Thread Martin Nowak via Digitalmars-d-announce

On Friday, 17 August 2018 at 22:08:16 UTC, Mike Franklin wrote:

On Friday, 17 August 2018 at 20:01:32 UTC, Martin Nowak wrote:

Glad to announce the first beta for the 2.082.0 release


According to https://issues.dlang.org/show_bug.cgi?id=18786 
VirusTotal used to report a virus for the installer.  This beta 
is now reporting clean:  
https://www.virustotal.com/#/file/dabf7c3b10ecb70025789c775756bee39bb401d7ef31f5a9131ff8760450fcab/detection


Windows Defender also reports it as clean.


Good to hear that paying the certificate ransom helped making 
peace with the blackmailers ;).


Re: Beta 2.082.0

2018-08-18 Thread Martin Nowak via Digitalmars-d-announce

On Friday, 17 August 2018 at 22:01:29 UTC, Mike Franklin wrote:

On Friday, 17 August 2018 at 20:01:32 UTC, Martin Nowak wrote:


Windows installer and binaries are now code-signed -
https://dlang.org/changelog/2.082.0.html#signed_windows_binaries


Was this beta installer supposed to be signed?  Because it 
doesn't seem to be.


Yes it is signed and I actually checked it on Windows 7.
What makes it appear to be unsigned on your system.




Beta 2.082.0

2018-08-17 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Glad to announce the first beta for the 2.082.0 release, ♥ to the 47
contributors for this release.

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

As usual please report any bugs at https://issues.dlang.org

- 

Highlights:

Additional functions for associative arrays -
https://dlang.org/changelog/2.082.0.html#require_update
Unsafe code can now be used in debug blocks -
https://dlang.org/changelog/2.082.0.html#debug-unsafe
UDAs on function arguments are now supported -
https://dlang.org/changelog/2.082.0.html#uda-function-arguments
Dependency resolution has been reimplemented using a recursive
algorithm -
https://dlang.org/changelog/2.082.0.html#recursive_dependecy_resolution
The regular upgrade check has been removed -
https://dlang.org/changelog/2.082.0.html#upgrade_check
Windows installer and binaries are now code-signed -
https://dlang.org/changelog/2.082.0.html#signed_windows_binaries

- -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAlt3KZYACgkQsnOBFhK7
GTlirg/+PU3JKNVNkfZSjKuNBbx1yak1R9XXlXih9gXLl2SZhbwl0V4X6tA9srGe
QkdmqcSTpXEcJkTl1NXddtDOgT3aGSyx4MXxEaKCD7xmlx3s4RhipyFxeZ713ULW
3hYSazpDaumK0AXB6A/BP7SXIAkLxBkfnK1qkJoEZABVpv0lKfBJRoW3MzDoXXU+
47LuHnJdNHZZKni96R7Lc81hyZcy+FzE1rdr2qPt6YMrDUc6AhKIJVCcMZqpcztb
QTQsuKUzWoAHNDUGaxuWqDZN/iDg/0/SmnrDQhqAURDluVaDHX/ASGHR/Zhhj637
thefBWKhc/qx37sZoJrUSaZ0GbL8I/2257r574OKZ/vxZ5+ED+0Qy/OPHNHlThd6
GGMPZ1MgjxYZ30DE1WX8nW2bXhPJ1UkMmhiOLMw5jjxVFoJwXqMMyCgXZUM/8Htm
MhRwM8SssRnlnfPkEbI8wNHMK/ZVzvNrUpmPhfkPs8w/nSyHN/uB6vjdo8ihsEi7
N8tpvDt+AXE1VN96z9DPP6CG08d3taDaitjC8p7ohCdgmw9+UMe7JENY+gtFWiqn
p4ePOEZSo6dXPdKelCEEEmzBWL9LjVK7SdYMmuSyOQtl0I1AC9nH1E09k8KgUzz7
ld5DilHGS+2EjcaowI9s/pAqxMtdxG5BaJnCuACmvXOMaUvmj+0=
=Fu0R
-END PGP SIGNATURE-


Windows dev anyone? [was: Re: Signed DMD binaries]

2018-08-17 Thread Martin Nowak via Digitalmars-d
On 08/17/2018 01:24 AM, Mike Franklin wrote:
> On Thursday, 16 August 2018 at 17:06:27 UTC, Martin Nowak wrote:
> 
>> A review would be helpful.
> 
> It looks fine to me, though, that's not saying much.  If you need
> someone to test something, contact me on Slack.
> 
>> And more Windows dev-volunteers for upcoming features.
> 
> To do what exactly?

Well from my point of view the most important outstanding Windows tasks are:

- help to test, debug, and fix the experimental lld/mingw toolchain
  (https://dlang.org/changelog/2.079.0.html#lld_mingw)

  Once this is ready for production use it would simplify the Windows
installation and allowed us to drop optlink and OMF.

- help Benjamin Thaut with the export feature

  This is intended to cover dllimport/dllexport, but in a single keyword
without macros (more info https://dconf.org/2016/talks/thaut.html).
  It's a necessity for full DLL support on Windows and we also want to
use explicitly exported symbols to speed up Posix binaries (by avoiding
PLT indirections).

- get a 64-bit VC dmd.exe into the release

  64-bit builds should be fully CI-integrated (mostly already done via
AppVeyor AFAIK).
  Integrate build script/makefile with existing Windows release build
(https://github.com/dlang/installer/blob/f7ee5aeab79a800317d875b5ee2e34ec2ad8803c/create_dmd_release/build_all.d#L41-L43,
and
https://github.com/dlang/installer/blob/f7ee5aeab79a800317d875b5ee2e34ec2ad8803c/create_dmd_release/create_dmd_release.d#L444).

I'd be happy to add anyone remotely interested in Windows-support to our
#Windows channel on slack (https://dlang.slack.com/messages/C6D5FEJ78).
It's unfortunately fairly quiet atm.

-Martin


Re: Signed DMD binaries

2018-08-16 Thread Martin Nowak via Digitalmars-d
On 08/16/2018 04:13 PM, Andrei Alexandrescu wrote:
> On 8/15/18 7:44 PM, Manu wrote:
>> Indeed, it's the installer that's in critical need of being signed...
>> but all the binaries are worth signing if that's convenient.
>> But the installer is definitely priority #1!:)
>
> Any chance we could delegate some of the effort of working on this to
> you?
>
> Are other Windows users interested in helping?
>
> Martin has spent a fair amount of time dealing with this, and he's not
> a Windows expert. We could definitely use some help here.
>
A review would be helpful.

https://github.com/dlang/installer/pull/339

And more Windows dev-volunteers for upcoming features.



Release D 2.081.2

2018-08-12 Thread Martin Nowak via Digitalmars-d-announce
Glad to announce D 2.081.2.

http://dlang.org/download.html

This point release fixes a few issues over 2.081.2, see the changelog
for more details.

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

-Martin


Beta 2.081.2

2018-08-07 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

First beta for the 2.081.2 patch release.

Comes with a handful of fixes.

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

Please report any bugs at https://issues.dlang.org

- -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAltpdIkACgkQsnOBFhK7
GTnSPQ//UhZ3KuFiLAQF5oLWlL5+YBYXTCQwGvw7jG91v/kZA5hRkA3zYVyueu00
eEm0WhRkdqzfW6G+KCNGlKettMJCDXkJgM7JOkHeAX3Eq08wP1GjSUE4/5BcNG6g
QFdLVXe3P1pLDvkPr0jtfuZgkC1Z5CbnZDbhpYFbZzmXWEaYmtew1MZl+/HWz0jv
3R35eSDPSuoscW9bb+F56T3SbGas3jXie2MnJqXI4JSGw4zhBrm0bmbyR6eeeHfu
WOP4i9cknEEE/lOXBsbVnqClGuV7P/R6TPskPzSM1greyi7DYu4tjOdm3Mr3Nxqo
bI6zZuo07aaeoHdKAtd/eT9s1awFAcLmiiNKTEtxhC3OmFmcpyKte66zgu7hFrrY
pWOBztH2bn7YbSfe57aBzEaMEdk+0Me7lhotQxZyw8Bjrr5RexwbeCyi/D0wsXA8
9yLVfAy1kIEVD/8DFL1CzzdnAV/HxKzlmJC97esUkTBgV2y6pbOhG2ZLXNfEkB8F
Nn6xGAXZgInOSgtGfpzx8oMzHLY4kFkL5GtiwwbHmCg5Z0Ke4AdwdioE7uW6D1sg
W4gKw1jjVzOVEkwYfJd0oysmsB2wTqjqB3CVci8PU2WSlMbXzFyoINx7YUGgtgNU
ND8LvmIdM8fdV+/XoWME9jFepCsvpgZgPuGSW8NoDeu37L4TNAg=
=x5O4
-END PGP SIGNATURE-


Release D 2.081.1

2018-07-10 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Glad to announce D 2.081.1.

http://dlang.org/download.html

This point release fixes a few issues over 2.081.0, see the changelog
for more details.

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

- -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAltFLvMACgkQsnOBFhK7
GTlb/w/8DNJIjsnkXHXDt/FxmS9Z9TF/rnkkjhIpGMBXiXVwPISWP5SsIsFea+Is
5ZLaV0ryqW3c3YMiNQ0b7joUtIOJeOif5Qii/aTzp8zFdCaMQu1H+9SXZ8S9cTii
klNlfBVoYv69jD6hgh36xaiU5RBLKCN9QqN8s7iInexNJUthcfVo3l1Alm9HElze
GY6/1CG3A7p5uDkMmpXLwStsYQ2vE7bF3NSEcELeSt635axMgyI3lTQBA2NaKXbE
D7sUecLfknz9Al0RqUUe+VnXUesz7/tZcxWTohIzSytcjhlJJf/ytLlVbqNbe9AP
+o0jLTnERwPXWnJoh57BSsQNQAFaT0ooQbei+xCFiZLXUTTX91ZlWm4MzdKpoF2f
dKXU8F64ZWViTADOMx/x9+aJ54ahGSF4Yksl6AB7kpikolb/cYOouiYNfYaH5mPH
XEJD+YNCLKUy4JuO9DprBoJdCeMNrpmzhdUuWals9lwGbcm8AgLzEgZd2ISOULVg
O13TF+WQUH83vKphE8PBpEbKROo93pZw57AekIcFb9U1v93FwKWNzO7EkBt/Hw54
jPFQZ55zd2MWAmvHXmrzzslJ1q41Rwtpb1cBnYC0AyMj6um+Js0B0SukelVwK8Bt
MOL+4xFVyyVVLOJOLAkJjQctk0/lCwfhxgC0vRwps3l1xYVO4ng=
=/y7c
-END PGP SIGNATURE-


Beta 2.081.1

2018-07-07 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

First beta for the 2.081.1 patch release.

Mostly to fix vibe.d builds with 2.081.

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

Please report any bugs at https://issues.dlang.org

- - -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAltAr/kACgkQsnOBFhK7
GTnEZg//fXQrc61YQluvS0hcbhLluGLdCbplzBjwAhKsMbfJuKP0j8sT60ZdqL+D
BEP14B9StCOTxJpYYh5IG9j8PfozEiRmjtnyipkfCgbr/L5RB7lyNFS16ZzpruZO
fvdWz0SW/2BxqiG8mlpOMvrEt0SiDJPmW5jyM5uv4Yr8IYhNI6rpJ/AdYq5N8HM8
H6CuV5SIqKl6xYSzH6BkKcPfJ99/+zvLJPIciSDSiolfg1MlCSFSb4wllnBS2/FC
4YifJd1sVliEltVlBgFHNSAa8v0Pd5KBqcZuk8KO641jn5ru4ADqdfixUcTICm5i
xzw8kQJH0QwWJD/73rreQ5b3BCUuX7Eal9dNGUyAcoLlmpakCUyA8573AB3uLmpv
ROZIoGLr//5qXNjapnb2ApBO1ZG0apUE3SmKVhKkCKoLM3SPsTZeIgk96j8exrha
i+iyNhsOZtnE52Jlcn4v1jUMoP0jIiZY6E4upRjaXL03zlFGoHKo04ujuUOjmW0H
nvgqwW+hOB59R+fATV6HkW+3d/79shvbgL7X/tBz/3JPW9Dv0gw9AdFUxA2rlZ3f
RnfNggFg6tay85p+5I7c13w6oqnHkbhujkvtU5a3QXhx7dZ1j12JADg/H1cXj0+k
MyVgPcxpdQ0kNqJBt5lHYwM6iufX71KnA61WOhXB4/Alg12ESIA=
=p82H
-END PGP SIGNATURE-


Re: Release D 2.081.0

2018-07-04 Thread Martin Nowak via Digitalmars-d-announce
On 07/04/2018 12:03 PM, Martin Nowak wrote:
> Glad to announce D 2.081.0.
> 
> This release comes with...

Improved C++ compatibility
(https://dlang.org/changelog/2.081.0.html#extern_cpp_overhaul)

DIP1009 - Expression-Based Contract Syntax
(https://dlang.org/changelog/2.081.0.html#expression-based_contract_syntax)

Lazy TypeInfo generation for interfaces and classes
(https://dlang.org/changelog/2.081.0.html#min_runtime_classes)

File names and line numbers for OSX stacktraces
(https://dlang.org/changelog/2.081.0.html#backtrace_debug_info_macos)

Custom local package repositories for dub
(https://dlang.org/changelog/2.081.0.html#customCachePaths)


> http://dlang.org/download.html 
> http://dlang.org/changelog/2.081.0.html
> 
> -Martin
> 



Release D 2.081.0

2018-07-04 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Glad to announce D 2.081.0.

This release comes with...

http://dlang.org/download.html
http://dlang.org/changelog/2.081.0.html

- -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAls8m4QACgkQsnOBFhK7
GTnB8xAAuEYsoJZOSef8XLuVY9Jzr6zLEzQvei8jbybtCC8UlsNQjE2vrvCIEbQ8
+YRgiQC9c0ivnmz/qSX2bnUjqnQwNpRCBOh5kF/eqWs9PqE6hLJ1nXbBg5ndksvh
WmIjvFf2pU6/su1zE/CRJhYDL6cLOiMJp3sPFc1eci4oVVrBi1jvOA+yoszvxFvC
l1CbtXarUKLmWa6ogY4IvZOnvR01lotSfmzYhF4U/wozUxrJD5mYhtOTz3Uf1Qr1
6Pu7BQl0PYh9BcqCPGg0G2ctQ48WVdLdEGfjUMTYsdVaWXGqGLEcl1cV4tRIRrgH
kUVRqLlDNO8jKZbBYpnwxjrxsfzBVJ0JALGltFxlCXzOAJzFprugC5k9flijxEGH
cC+A+WQ6wMpym1zzO51dvduFFUu8fNSAV2sefEm6McnujbHubx4tfZDainTkYU/D
AAyzZiP6JHntRrRHdTy0zT6/WK4UxLID36fBJZKH0YAT3vPe5NzwoUZ4iTISWeLw
i4QxAn8GQw0/E+DM5S9KsB5Wi8osKQPuEiu5nUTKMZQUuuWjVWf2JdEnVTY9HGoG
mCtK/GT2B8QUPurkTwuRK55uEPJAyVL12fzBk05mxR8kjWD5ETARRez4+V5htZxU
hK6vT+ciiiDf4AvzkYf/1pSHYRQcbUfIaNnW3X+RO2M7SerBoJw=
=z+2F
-END PGP SIGNATURE-


Release Candidate 2.081.0 [was: Re: Beta 2.081.0]

2018-06-28 Thread Martin Nowak via Digitalmars-d-announce
On 06/17/2018 06:42 AM, Martin Nowak wrote:

First release candidate for the 2.081.0 release is out now.

> http://dlang.org/download.html#dmd_beta
> http://dlang.org/changelog/2.081.0.html
> 
> As usual please report any bugs at https://issues.dlang.org

-Martin


Re: Beta 2.081.0

2018-06-26 Thread Martin Nowak via Digitalmars-d-announce
On 06/17/2018 06:42 AM, Martin Nowak wrote:
> Glad to announce the first beta for the 2.081.0 release, ♥ to the 52
> contributors for this release.

Second Beta live now.


Re: iopipe v0.1.0 - now with Windows support!

2018-06-16 Thread Martin Nowak via Digitalmars-d-announce
On 06/10/2018 10:10 PM, Steven Schveighoffer wrote:
> Note that the new io library also supports sockets, which IODev did not
> have support for, AND has a pluggable driver system, so you could
> potentially use fiber-based async io without rebuilding. It just makes a
> lot of sense for D to have a standard low-level io library that
> everything can use without having to kludge together multiple types of
> io libraries.

Note that the WIP std.io library is fully @nogc @safe, so it's a bit
edgy on using latest features. Soon want to move to use DIP10008 instead
of preallocated exceptions.
With that and @nogc in the Driver interface¹ it's still to be seen
whether we can adapt this well with vibe.d or need to adjust the
low-level design.

-Martin

¹: https://martinnowak.github.io/io/std/io/driver/Driver.html


Beta 2.081.0

2018-06-16 Thread Martin Nowak via Digitalmars-d-announce
Glad to announce the first beta for the 2.081.0 release, ♥ to the 52
contributors for this release.

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

As usual please report any bugs at https://issues.dlang.org



Highlights:

https://dlang.org/changelog/2.081.0.html#expression-based_contract_syntax
https://dlang.org/changelog/2.081.0.html#min_runtime_classes
https://dlang.org/changelog/2.081.0.html#backtrace_debug_info_macos
https://dlang.org/changelog/2.081.0.html#customCachePaths

-Martin



Release D 2.080.1

2018-06-08 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Glad to announce D 2.080.1.

http://dlang.org/download.html

This point release fixes a few issues over 2.080.1, see the changelog
for more details.

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

- -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAlsavbkACgkQsnOBFhK7
GTmq4A//WI66WmZbvZT50ewKXj3Ge6kUrnj9bTJQxey8ZpD5o13m7I0JRO6S1rjp
IVXEqnoz3OXiOdUiB4ClPApy/fSOOstxRLuRv9/7fGJam7ziN3ZsXceUoLgMXSn2
em1OQlCIn74XL/tOTaaZpTns1NTUHFqfslDYKldzg+0xCenQ/PwB4kI1FRVXBwaw
DLRDg+DWbxCQxNnfCq2YUSIKa6ROoAtMMPYjc31bj6AFLh3U2to+23XT9IsDAAdw
ElstqeQR6LjgTLJPYGiuI9HU7KWsgVtTyUFw21Sd6jptDdqFmI0y1/IIDfWRVOpz
d78PzFeCkKlvFFqQDaYNG0h7A9ei8Sm85evXG5bOcCm4R58eClB8AT71sOir1Xzj
AUUgLGSyfMhjXHy+XbooDsV8Ibb4YgRgLwC+Ov5XuUP/6y/ajzWSu4PtOCqigAip
UZQIeECj9NArq4OjJ/q/kbfyfX+fcyybKYeTCb9J3n68Ro1UVFRl1EWq3lXKGYt4
HE4KtGDLIwF91YnTDMcDF1BgfICJA+ZKcCUPL6iSK2tMXGF23fkwmm9tRVfLrLSo
cN+kOTqRSf4mRbn8Ef4b7u4noAfQ9JB+e/McefIRJXaMuaYyfz4eErTX8Svzhwzi
lJ6WgyKvO3mE2sYc9jLPD5egM6LYadr34fY8tkn3EI6NsfwmZVY=
=B9zW
-END PGP SIGNATURE-


Re: SmartRef: The Smart Pointer In D

2018-06-08 Thread Martin Nowak via Digitalmars-d-announce

On Friday, 13 January 2017 at 16:50:37 UTC, Dsby wrote:

I will write more test before the frist release.
And the docs is null.
It on github: https://github.com/huntlabs/SmartRef


I hope you know https://code.dlang.org/packages/automem.


Re: Beta 2.080.1

2018-06-04 Thread Martin Nowak via Digitalmars-d-announce
On 06/04/2018 02:25 PM, MrSmith wrote:
> Is [1] included in that release?
> [1] https://issues.dlang.org/show_bug.cgi?id=18821

Thanks for the reminder :), the fix was merged into master instead of
stable.
Just picked it over.
We usually avoid cherry-picking as it leads to unnecessary merge conflicts.


Beta 2.080.1

2018-06-04 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

First beta for the 2.080.1 patch release.

Comes with a handful of fixes.

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

Please report any bugs at https://issues.dlang.org

- -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAlsVJfgACgkQsnOBFhK7
GTkr5Q//Se1gg7PfPoywWLdBkiO7sSqaZf0BFsCXFbaB8tnXaS0IZ7xyHej2Lun8
VNnWi1kPBXKBt6JLpcBU63u1Gl6IuBDVjPG4wJArb6QrzL73bL2DgBfASm+ZnzWb
VzxUJTmlaCIw6FsXAMEMy4L7p+VDHRN4zWBLgh24r2aEuJ5jacUyWRZG3L5MStAT
3QkOCjYpVsGg6QPklfJHbRI0zFv8qZKGP+ab1vOegfObkrcqF1g5y2e+Bigla8MJ
llhvJWBtmDJYklhDXZN3oOL66c2JykScHa9qArKb45Xk6wtSdCJGDhbpY2wrLHcc
4SnOd6ZxPQ0M0ON/bL5Fm7BNebT2QQZWTdasHVXMsokV9uW9FKX/BA1VOsuJvvb9
/mmaY1MUAb1S4y1+RoY6nfN9G8RH9S5vujV9F4kWjnH0J3rc66lPMfOnOU1Wckup
APaXg2L10sZaQ4Z+a4Gh5a5synWkUJB09q4jBKb90gTUsiN6Erp4GCAZ6PKRbkJ1
Z6jK8yAgrstCi7ctg0QYrH6EGBqigAP13itbBKfOmB0DH010oNY1i9GB9vc1zvSM
jpdoCYX1pe4ljeMZXZDiTyGTM5g4TklBsdvwC5PTuvvFKNvU4K8RKg6Zy4FqHq0R
bEl63PWSmE3hrMBjrk41qxw/NEs5UgtkPYBl1aWv49+EfIhXMyA=
=W/Qn
-END PGP SIGNATURE-


Re: Release D 2.080.0

2018-05-02 Thread Martin Nowak via Digitalmars-d-announce

On Wednesday, 2 May 2018 at 07:10:49 UTC, Manu wrote:

OMG, CTFE ^^!
Best release ever!


Yes, I am also really glad we can finally prefill tables with log 
and exp computations.




Release D 2.080.0

2018-05-01 Thread Martin Nowak via Digitalmars-d-announce
Glad to announce D 2.080.0.

This release comes with CTFE support for log, exp and a couple of more
math functions. There is also a new isReturnOnStack trait, an apply
function for Nullable, and static method support for Objective-C classes.

http://dlang.org/download.html
http://dlang.org/changelog/2.080.0.html

-Martin



signature.asc
Description: OpenPGP digital signature


2.080.0-rc.1 [was: Beta 2.080.0]

2018-04-27 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Release candidate available now.

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

- -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAlrjYAYACgkQsnOBFhK7
GTmNww//eLu1TR1n2p0GKt/vQJsfOrHLyXLWLtQatcUPh2MUS4aJ3j1lB8CnWkca
U+uwCY5aOoGXJw45o2TAS44yrnlFrykUjYCfPzQVu3ynT/P/DxRnESjZgrZr13Zn
z7giOWOEt2m26mAjd8yqClYRw4yEZFBgic0WvHeZCwtsYz/2iGvpOXGEOw9iuZcH
JvV9WgKXBJSbL4AlTj1Uy2y8WRhT6LzXDRQMF5tF80ZbEQXGvggB5UVuGl4Kwmbk
40dfaQsoXhBX4FoxiTTZ5sOjmHAnyXT7VFAYj8rQE6G+FhbQ3mHtZu101xC/qzx/
9Zd6CbgWEIoxBm4ADTQ7XsZBP1x1T1x9hGmF3LQG3lMDBSJH2Cj7/HSnrpCamM6J
HUU8y0a40k3Nx5TsWJuZ6T2Jdz8+UsWiO7vmLCzW861y5uNEQocTblNpwetEwcEL
Aa2TVQF30cdmDMKh+hytQGV4/OBH4RWZjJSH/WhNwbiRKDuES0qKwL9e93X55vRJ
IA7CtFHp+WLC+0DRvEs0GFtkVqFmIETPKhLMKEy5RsKUvfhuHIRpOdKT0vWQBQ1m
vm3QKJtnye8M/JL8wLfZzFLbMIuUMjiwij8TixEOUCAkDm7IxsyIaViXdI1L9dUt
pFhzCS/cheq/cgQ7S8h8U8KcBB7dr+PYM15fgJAepXqEolUH9Fw=
=haox
-END PGP SIGNATURE-


Re: Beta 2.080.0

2018-04-27 Thread Martin Nowak via Digitalmars-d-announce
On 04/23/2018 02:53 PM, Chris M. wrote:
> Under https://dlang.org/changelog/2.080.0.html#rwm-shared-error
> 
> It should be core.atomic.atomicOp instead of atomic.atomicOp.core

Thanks, code that needs fixing is here
https://github.com/dlang/dmd/blob/05647c02bdc906157d26f737d70c7696bf6e09ed/changelog/rwm-shared-error.dd#L10.


Re: DIP 1013: The Deprecation Process -- Community Review Round 1

2018-04-26 Thread Martin Nowak via Digitalmars-d

On Tuesday, 24 April 2018 at 17:02:50 UTC, Jonathan M Davis wrote:
Honestly, I'd hate to have major releases be that infrequent. 
It can already be annoying enough when something that doesn't 
get added doesn't end up being released for a two or three 
months, depending on the timing. The slower the turnaround 
time, the longer it is before we can take advantage of any 
improvements. If we were going to do fewer releases, I'd much 
rather see us do less with minor releases than spread out major 
releases more.


Please read all the info, in particular semver.org. I'd argue for 
strictly non-breaking backwards-compatible additions in minor 
releases, which should (could) be most phobos additions.


Not breaking anything with an addition is of course a 
double-edged sword. Still it would give us a cleaner distinction 
where deprecations et.al. are only to be expected every 6 months 
with a major release, while bi-monthly minor releases remained 
fully backwards compatible.
This seems to hit a better balance between regularly releasing 
new stuff and causing update churn. In particular since 
deprecations are on a much longer schedule, it makes sense to 
batch them anyhow.


TL;DR same rate of improvements, less frequent rate of 
deprecations and required code changes


Re: DIP 1013: The Deprecation Process -- Community Review Round 1

2018-04-24 Thread Martin Nowak via Digitalmars-d

On Monday, 2 April 2018 at 07:05:45 UTC, Mike Parker wrote:

DIP 1013 is titled "The Deprecation Process".

https://github.com/dlang/DIPs/blob/d8f6bfa1810c9774bd7d3b3dc6a7a6776ed5e17e/DIPs/DIP1013.md


It's good to have this formalized as relying on authoritative 
review on a per-case basis doesn't scale.


- I'd urge you to make this process as simple as possible, and 
plan for managing and automation.


  Right now it involves several steps over ~2 years requiring 
updates to separate repos.
  In particular for language changes that require specialized 
compiler changes,
  such changes cannot be easily done by anyone but the original 
author.
  Similarily for library changes we're mostly relying on a single 
person to manage deprecations.


- It seems that the language features section does not yet 
mention https://dlang.org/spec/spec.html updates.
  
https://github.com/dlang/DIPs/blob/d8f6bfa1810c9774bd7d3b3dc6a7a6776ed5e17e/DIPs/DIP1013.md#language-features




Re: DIP 1013: The Deprecation Process -- Community Review Round 1

2018-04-24 Thread Martin Nowak via Digitalmars-d
On Wednesday, 18 April 2018 at 12:40:44 UTC, Jonathan M Davis 
wrote:
2. Somewhere, it should state that the goal is for the typical 
deprecation cycle for a symbol to last approximately two years 
and that the number of releases was picked on the assumption 
that we would have approximately 5 - 6 major releases a year. 
So, if at some point in the future, the typical number of 
releases in a year changes for whatever reason, the number of 
releases of the deprecation cycle should then be adjusted so 
that the deprecation cycle stays approximately two years long.


At the moment we have a clear bi-monthly release cycle (1st of 
every odd month).


In the long-run I'd like to transition to one major releases 
every 6 months and strictly non-breaking, non-deprecating point 
releases every 2 months. So far there wasn't much interest in the 
necessary development adjustments though.

https://forum.dlang.org/thread/drcekmxvfszpwifbu...@forum.dlang.org


Beta 2.080.0

2018-04-17 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Glad to announce the first beta for the 2.080.0 release, ♥ to the 65
contributors for this release.

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

As usual please report any bugs at https://issues.dlang.org

- 

Highlights:

https://dlang.org/changelog/2.080.0.html#fix5227
https://dlang.org/changelog/2.080.0.html#isReturnOnStack
https://dlang.org/changelog/2.080.0.html#objc_class_methods
https://dlang.org/changelog/2.080.0.html#std-typecons-nullable-apply

- -Martin

-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAlrWNI0ACgkQsnOBFhK7
GTmhoxAAtEX73TOcmKCV5ygM1HaeXPk0M6hhVOsRgQEhwopK/KFrcPme3KYeQ59j
2SICDIAnj662TRZkPRO4cwNOLHGGUwnTqUfu/TjEj90yqB1IU9/CV76J3CbgFF2A
xEPCVsZWBKH3FyJQIut4iKl9ep9aa9SLGd+Zm/cMEWmOsS2ZuE2dlJdGMjKxCGLu
5GeYAk5FBcAQyLmSnpGu3u4A8tIryy5YTCI+p8J5kuaqxhpNgR+HzYfWAwh1Vn4y
5RUKKfPQX9j86sbBXFNknKrPEKmwUwOz0XQPqDCgogj51U0CHoi2VL1b+M9WryUg
wsHmn71Al7ru+tR+yh38rKOl2RROtdRogAHIWGgAq2bWxDPCQvGaHJqTRuzIXIVn
5h0IVky0Z86Y2cG9DQT7tctYIEZralsUCvnSqQcvSIeAif+0ouAfmJ5D2p0pU5kf
DEcFpeS1C492X/OWa8qX+pgA/6LJg7PAOuDR2L2dJGpXZeucq+LWL1synFw1SZ/k
XwSlsOcyGaIupNksV8PZevFVg+ZAKYhYK9GzGncNcYAfwSR4umBWNnueI9jaLHAk
seylXnR7+H3SdAi+bYDPqjASvzTFThsE7wQTtdwe3ufQ1SzHv+sRDDT7ijybPGuN
vEjq6p1lxET7DDWzQ3GI6Uzlecq8ygBPY+pPkiWoF1mDlH5NDwc=
=rneL
-END PGP SIGNATURE-


Release D 2.079.1

2018-04-14 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Glad to announce D 2.079.1.

http://dlang.org/download.html

This point release fixes a regression with regex captures and a few
other issues over 2.079.0, see the changelog for more details.

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

- -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAlrSpIYACgkQsnOBFhK7
GTlocA//dx5hsL0obS6olInItCI50t2hd+eYFB8Z6jMkOq4+y9fmOeUiSO/vjyjf
66V9G0muCgxM4a1YUA+Qi0NviqtdSWOu03SRoBm7zQLKQeqBrN5vaN7X/x2CRLoZ
E9PkPuCw0yQP96If0Ct44oaaR4ZEQVvUfKYW7dqpUmbJrvv5VBPtkFFDI0JmmCSj
GLu1X31yg/DfT8V5cAsCwfBYczUMFHQIPLgJKDEQaMNCn/0iUGGbUd48kTZX14VE
hqn94tBC56SErLs1oPQ51IAEM/AQrDYHi4LUs79hBV8/tGaggquw7Jxc+8IMkRvS
dAhJCYjVu4YT2xtC3RukqB4Q/h4L0RvjaDfNnJG/Gg1Z4v9mNBHdNVqrXlZ85F2q
lXLWkDor4rEjTJVhoKqyhL48uYxfCouFUEo8Sc/RHjy+rC4uI3pG4zEKUFWAW/km
sAnDwuBrCPjE8l+pKPPTHRTL/3jrnrYruB9Mp2ufv6jGKBH3HRr1SQRt3SmAS3Hd
7H7mh38lzBFNTjUCUfXZZFB3zMnQ6suy2Q7/XW6COw1GvHcWILQ2VydtMRzn5lKo
HNfADsVYi4kEnLiXDYrlmy2UBPOQM9oChg3aM8ck/ae3QELARV/rIVb8eyyXYroe
j47K6GrGpK/uH1Xu+93K1UrP3mCM0HDdrxEghnZ9PafHfttoEX0=
=yS84
-END PGP SIGNATURE-


Re: dub 2.079.1-beta.1 test failures on Mac OSX 10.13.5 Beta

2018-04-14 Thread Martin Nowak via Digitalmars-d-announce
On 04/15/2018 12:32 AM, Thomas Mader wrote:
> On Saturday, 7 April 2018 at 18:39:12 UTC, Martin Nowak wrote:
>> First beta for the 2.079.1 patch release.
>>
>> Comes with a handful of fixes.
>>
>> http://dlang.org/download.html#dmd_beta
>> http://dlang.org/changelog/2.079.1.html
>>
>> Please report any bugs at https://issues.dlang.org
>>
>> - -Martin
> 
> Running the dub tests on Mac OSX 10.13.5 Beta via the Nix package
> manager doesn't work. I tried it two times. The overflow seems strange.

Does the dub beta work for you though? Have you tried the official binary?
Dub's CI tests were so far targeted at linux and might have some issues
with OS dependent differences.
On other platform's we've only been running unit-tests, but not the
integration test-suite.

-Martin


Re: Homebrew dmd betas

2018-04-11 Thread Martin Nowak via Digitalmars-d-announce

On Tuesday, 10 April 2018 at 08:46:55 UTC, John Colvin wrote:

Available now on homebrew :)


Thanks

I try to keep homebrew up to date with the latest betas, but 
the stats show that almost no-one ever downloads them, despite 
reasonable numbers getting the stable version. See for example 
https://github.com/Homebrew/homebrew-core/pull/24348#issuecomment-367021918 .


I will continue to keep adding the betas for my own use anyway, 
but please, PLEASE, install the betas and test them, it's so 
simple, just `brew upgrade dmd --devel`.


You can then switch freely between the beta and the stable 
versions with `brew switch dmd 2.079.0`, `brew switch dmd 
2.079.1-beta.1`.


And for all other supported platforms but Windows, just use

curl -fsS https://dlang.org/install.sh | bash -s dmd-beta

to unpack the beta to ~/dlang, and

source ~/dlang/dmd-2.079.1-beta.1/activate

to use the beta compiler.


Beta 2.079.1

2018-04-07 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

First beta for the 2.079.1 patch release.

Comes with a handful of fixes.

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

Please report any bugs at https://issues.dlang.org

- -Martin


-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAlrJEEoACgkQsnOBFhK7
GTk4xQ/+Ma++WcDt2dCJlmoPYE7gwBVBe2gvrJStx9/7Ef0xtmHyVeo3sbKSXIAG
lhdW7cq+ZR6qvpxmMRu3FIRDFLXBtoFHJLAGOC8dwLv8r1naHheZMcEgRS1ryGnp
ae3T+6Qg7TiALTAC4iy2BcBsUw1DR7JFdj+SNx+5mB9OtKS92hWOf1WtudOayQoV
3NEbGp/Wj0NCVhbkgAn9gDonpMRzV/hYXIJFFm9mHrLIDUL2f3ekdX3mhR4dcKQq
cg75FAL2lEe9wsMlkJVYv+wDMAZXe331wLx68xSr/O2PbrohHLPiHA0t79Ith3kP
2eFXjmQ6VoUSXQgiwDrBjadm6KgXUYYjBKKxWWZIdyua+O+hd9kx6BEC/PypZBCq
DHeZ1loNrI1f+d9Dnif0DFB5mXFBtaJ5XlWEdRf7ss+Xo2VYT/ak8LpKnqkob2Tv
FHctFy4KWIR0Z+Plql990t/RtaTKXDKYW+fW0fw4oKGbG+PBvEzvMxj2wREAtqX5
laCd8hE/g8M5qlv6oWOux7dTzDrkOmPYnepeSkK2aelWO0MV2FAH0hEPRf37QXwq
ir9AA0cxiS5Vv3tM0KBi8XA9u6BlvoOzRXIZpAHAINRUYRjiCvB76bAQhH4O4lh4
UQ9oqa0XWDJ7xs7FuaRldTT7TFAEWn/UtTF5kOOc18G+zKnlQOo=
=7ay/
-END PGP SIGNATURE-


Re: D-dll support: testers needed round 2

2018-03-21 Thread Martin Nowak via Digitalmars-d

On Friday, 9 February 2018 at 20:34:33 UTC, Benjamin Thaut wrote:
My work on dll support for D continues. There is another 
iteration I need help testing with.


Getting started tutorial: 
http://stuff.benjamin-thaut.de/D/getting_started.html
The DIP can again found be here: 
https://github.com/Ingrater/DIPs/blob/ReviveDIP45/DIPs/DIP45.md
The DIP is not up to date. The tutorial is more recent. If the 
DIP and the tutorial contradict each other trust the tutorial. 
Its still useful to read the dip for context, especially as how 
to use "export" in code.


Glad to see some progress.
Given that the goal of DIP45 was seemless DLL support given just 
export annotations, the need for explicit -import module lists 
indeed requires an explanation. Looks like a classical 
dllexport/-import scheme now.


Re: D-dll support: testers needed round 2

2018-03-21 Thread Martin Nowak via Digitalmars-d
On Saturday, 10 February 2018 at 02:24:58 UTC, rikki cattermole 
wrote:
-import switch makes me a little concerned, what exactly is it 
changing that makes it required?


I remember that we figured out that the MS Linker can optimize 
away the indirection when linking statically, so the paragraph 
seems a bit alarming 
https://github.com/Ingrater/DIPs/blob/ReviveDIP45/DIPs/DIP45.md#-useshared-compiler-flag.




Re: Release D 2.079.0

2018-03-08 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 5 March 2018 at 15:16:14 UTC, Atila Neves wrote:
Is is just me or did this release just break the latest 
non-beta vibe.d? Is the Jenkins build testing the dub packages 
on master instead of the latest tag?


Also this offer still stands
https://forum.dlang.org/post/drcekmxvfszpwifbu...@forum.dlang.org





Re: LDC 1.8.0

2018-03-08 Thread Martin Nowak via Digitalmars-d-announce

On Sunday, 4 March 2018 at 22:37:21 UTC, kinke wrote:

Hi everyone,

on behalf of the LDC team, I'm glad to announce LDC 1.8. The 
highlights of this version in a nutshell:


* Based on D 2.078.3.


Thanks for the efforts.


Re: State of D 2018 Survey

2018-03-08 Thread Martin Nowak via Digitalmars-d-announce

On Sunday, 4 March 2018 at 21:12:30 UTC, Kagamin wrote:
D just doesn't follow semver. If it did, we would have D79 now, 
nothing else even comes close to this. And I suspect it won't 
adopt semver because major number would be so ridiculously high 
and will advertize something else.


https://forum.dlang.org/post/drcekmxvfszpwifbu...@forum.dlang.org>



dub project/library scaffolding/blueprint/template [was: Re: Bootstrap D template]

2018-03-08 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 29 January 2018 at 11:04:19 UTC, Seb wrote:

Just giving this a different title as I'm having troubles finding 
this topic.

https://github.com/wilzbach/d-bootstrap



Re: Profiling after exit()

2018-03-06 Thread Martin Nowak via Digitalmars-d-learn

On Thursday, 27 July 2017 at 15:16:35 UTC, Eugene Wissner wrote:

Are there profilers that work well with dmd? valgrind? OProfile?


Yes, any sampling profiler works fine, e.g. perf on linux, Intel 
VTune/AMD CodeXL on Windows.
Those directly monitor CPU performance counters and have a 
negligible performance overhead compared with dmd's instrumenting 
profiler, also they don't require rebuilding of binaries.


Re: Release D 2.079.0

2018-03-06 Thread Martin Nowak via Digitalmars-d-announce

On Tuesday, 6 March 2018 at 05:22:58 UTC, Void-995 wrote:
Can somebody explain how [0] is more safe than array.ptr? 
Just want to understand why second statement isn't allowed in 
safe anymore.


[0] is runtime bounds-checked
array.ptr is unchecked and might return an out-of-bounds pointer 
(to the first element)


Re: Release D 2.079.0

2018-03-06 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 5 March 2018 at 16:18:11 UTC, Chris M. wrote:
Good stuff. Still bothers me that we had to special case "throw 
new Exception();" in order to make it nogc. I can't think of 
any better ways right now


Implementing EH for values (instead of class references) would 
have been a lot more complex.



but I wish it was more explicit.


Initially people always want more explicitness for new, not yet 
too well known, features, while later opting for terser syntax 
for commonly used things.
Exceptions are supposed to be rare and deleting them directly 
after being catched seemed like a reasonable enough default to go 
with the specialization.

After all it solves a huge problem, error handling in @nogc code.
Maybe we'll find a better/cleaner solution when more of the 
language has been transitioned to @safe @nogc.


Re: Release D 2.079.0

2018-03-06 Thread Martin Nowak via Digitalmars-d-announce

On Tuesday, 6 March 2018 at 11:10:49 UTC, Atila Neves wrote:
The problem with that is I was waiting for 2.079.0 since it 
fixes a bug that prevented me from upgrading to any of the 
2.078.x releases on Windows.


I think 2.078 would make an excellent starting point for a LTS 
because of the important fixes that only made it to 2.079. If 
anyone is interested to backport fixes and maintain such a 
source-branch, please contact me.


Re: Release D 2.079.0

2018-03-06 Thread Martin Nowak via Digitalmars-d-announce
On Tuesday, 6 March 2018 at 12:21:41 UTC, Steven Schveighoffer 
wrote:
That being said, I'm wondering if it wouldn't be better to have 
std.experimental be in its own repository.


Just showing that phobos is not the right place to develop 
modules/packages, also mir.
IMO std.experimental provides little benefit over dub, but comes 
with many downsides.


This allows selection of the dependency on std.experimental 
separate from phobos.


You cannot link against diamond dependencies of different 
versions though, so we'd have to exclude it from libphobos and 
put it separately.


It still would be an "official" dlang package, and might even 
be included in the distribution (the latest version anyway), 
and docs included on the website.


Not sure why inclusion in distribution is often mentioned as such 
a thing.
It's trivial and common to have separate libraries/dependencies 
in every language with a healthy ecosystem.


But if needed, you could have your dub package depend on a 
prior version.


http://code.dlang.org/packages/stdx-allocator ;)



Re: Article: Why Const Sucks

2018-03-06 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 5 March 2018 at 17:38:52 UTC, H. S. Teoh wrote:

struct Container {
auto opSlice() const {
static struct Result {
private Container impl;
private int n; // internal mutable state
@property bool empty() { ... }
... // rest of range API
}
return Result(this);
}
}


That's definitely a know problem with ranges that hasn't yet been 
solved.

The known workaround is to implement Range and ConstRange.
This idiom could prolly be encapsulated in a safe and generic 
template type to avoid boilerplate.

If we had some covariant mechansim to implement sth. similar to

struct Range(T) if (is(T InoutT == inout))
{
inout(InoutT) opIndex(size_t i) inout;
}

that would be ideal, but that isn't exactly trivial.
I think we had a better issue for this topic, but here is one 
ticket asking for this feat.
[9983 – inout type can not be used as a parameter for structure 
template](https://issues.dlang.org/show_bug.cgi?id=9983)


Re: Article: Why Const Sucks

2018-03-06 Thread Martin Nowak via Digitalmars-d-announce

On Tuesday, 6 March 2018 at 18:17:58 UTC, Jonathan M Davis wrote:
I'm not actually convinced that killing auto-decoding is really 
much better.


I don't think the problem is auto-decoding in string range 
adapters, but repeated validation.

https://issues.dlang.org/show_bug.cgi?id=14519#c32
If you know that sth. works on code units just use 
.representation.


There is the related annoyance when the user of a function 
presumably knows to only deal with ASCII strings but algorithms 
fail, e.g. splitter.popBack or binary search. This one is tricky 
because broken unicode support is often rooted in ignoring it's 
existence.


Re: DIP 1006 - Preliminary Review Round 1

2018-03-03 Thread Martin Nowak via Digitalmars-d
On Sunday, 26 November 2017 at 11:59:28 UTC, Joseph Rushton 
Wakeling wrote:
One suggestion: replace -release=assert with -release=body, so 
in the above, you would have:


-release=body,in,out,invariant


Doesn't really work that way, we can disable assertions, in 
contracts, out contracts, and invariants. But not assertions in 
some contexts while leaving them enabled in other contexts. At 
least not without modifying all related codegen and introducing 
context queries (e.g. think mixin templates).


FWIW -release=assert,in,out,invariant fits out needs well enough.
Just the use-case that someone wants to disable asserts in 
functions but still wants to use contracts, required to use a 
replacement for assert in contracts and invariants.


Re: DIP 1006 - Preliminary Review Round 1

2018-03-03 Thread Martin Nowak via Digitalmars-d

On Wednesday, 12 April 2017 at 11:25:09 UTC, Mike Parker wrote:
DIP 1006 is titled "Providing more selective control over 
contracts".


Possible implementation https://github.com/dlang/dmd/pull/7980 FYI


Re: Release D 2.079.0

2018-03-03 Thread Martin Nowak via Digitalmars-d-announce
On 03/03/2018 01:05 PM, Mike Parker wrote:
> The blog:
> https://dlang.org/blog/2018/03/03/dmd-2-079-0-released/

Could you please add a big visible "experimental" to the lld-link
toolchain. It still has a lot of bugs and isn't ready for primetime.


Re: Documentation for any* dub package, any version

2018-03-03 Thread Martin Nowak via Digitalmars-d-announce
On 03/03/2018 04:01 AM, Adam D. Ruppe wrote:
> full-text search over a select group of packages (notably including
> Phobos) with a pretty fast response... just it eats ~1.5 GB to keep two
> copies of its database in memory in order to give those fast responses
> concurrently. The instance I have opened up to dub has a 1 GB limit
> right now...

Why would you need to have that in RAM instead of leaving it to the db
cache layer?

> But if the patreon thing takes off, I can afford to throw more memory at
> it, and/or I could prolly optimize that search database too, so it will
> come.

Where are you hosting?
https://www.hetzner.de/cloud has fairly affordable KVMs

>> https://forum.dlang.org/post/tkcndtapfypabsncx...@forum.dlang.org
> 
> Yeah, that's not a bad solution, though what's nice about my solution is
> the author doesn't actually have to do anything... the user just goes to
> the docs and they appear!

That's a fallacy. If one doesn't have to do anything, it means it's more
likely that nothing is done. Adding useful documentation is one of the
most important tasks when writing a library and I'd expect any library
with basic quality standards to take care of that.
Good docs and CI are good indicators for the quality and usability of a
project.

-Martin


Re: Documentation for any* dub package, any version

2018-03-02 Thread Martin Nowak via Digitalmars-d-announce
On 02/26/2018 03:59 PM, Adam D. Ruppe wrote:
> http://dplug.dpldocs.info/v6.0.22/dplug.html
> 
> 6.0.22 of the dplug package.

Cool stuff Adam, thx. Was thinking about this for a while myself.
A central doc provider could have some benefit, e.g. searching across
different libraries.

Compared to how difficult it is to run such a service reliably and over
a long time, it is fairly easy to setup automatic docs on gh-pages for a
dub package.
https://forum.dlang.org/post/tkcndtapfypabsncx...@forum.dlang.org
https://github.com/wilzbach/d-bootstrap#i-want-to-have-nice-documentation-for-my-project

I maintain a blueprint repo that exemplifies how to integrate CI testing
with coverage and docs.
https://github.com/MartinNowak/bloom
https://code.dlang.org/packages/bloom

-Martin


Release D 2.079.0

2018-03-02 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Glad to announce D 2.079.0.

This release comes with experimental `@nogc` exception throwing
(-dip1008), a lazily initialized GC, better support for minimal
runtimes, and an experimental Windows toolchain based on the lld
linker and MinGW import libraries. See the changelog for more details.

Thanks to everyone involved in this 
https://dlang.org/changelog/2.079.0.html#contributors.

http://dlang.org/download.html
http://dlang.org/changelog/2.079.0.html

- -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAlqZ/1wACgkQsnOBFhK7
GTkF4hAAqIT7eDN5TpG3WwVQEWNtv1Z2P3/2j75TOq5UA+R93y0mzyrCvaGPhmnc
81DakDAsvf73Ed+Yr3xcVEuL6Uy9M3vCMOXT+maeOz7Ux+wQItUBvVs2CmMom9TU
7somFnXZ9+4rIlNePh2bIshleWaBmfbwxCla1FheY+geoQvsKuky9qOv3GJEK9dJ
RDM3Hc70m+88aKDxZ/4HtA0mctR49nwJxDg6OKS4A2V6QxiDN0e0TWxRoH/xCCZG
mnhvrYG2nhSEDVVehqJePm7p6dhsfBOv+8FtiaboRB72OB2D4Jl4PVJV61neihfj
uxJWY6gIGn2JIiav0wr0SsXy1bM58GvJ71e7YLdYjez5+IQ57ydaVMATRGoPgWi2
nvgkn+/izcHUiXm6srcJvkXMLcmUn3tpFyhZv/YC681Sulfe5UfxTDVPWFQn7AM6
etm7XbF74EpelWo0UUX/2pppxNpjkKcxjnmli8pR0eKL4LOTtZ3CJOnsiw/jUoyo
7XekHL1cFBD8r6txHEwkpVdokEeNNxvZoB0dZ07mJGGgr5fwWVA++W3Xkho1hAcm
+AgAAkmM7E2ZkH2vrz4jgO6N57L/LXoz8UsV8p2xqVKz2iWKi1C+UjKXFn/0wx9J
FqT3zQ791PeaEbBX+AgqTw4BQMjvbsxlENkZc8uKwJvLIdJRSuQ=
=4XFa
-END PGP SIGNATURE-


Re: Beta 2.079.0

2018-03-02 Thread Martin Nowak via Digitalmars-d-announce
On 02/28/2018 11:48 AM, Patrick Schluter wrote:
> Just for information. DWT doesn't build with 2.079 because of overloads
> not allowed . I'm not good enough to do something about it but only
> wanted to make people aware of it. I also opened an issue at the dwt
> project.

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


2.079.0-rc.1 [Re: Beta 2.079.0]

2018-02-27 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Release candidate available now.

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

- -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAlqV4EgACgkQsnOBFhK7
GTmxyQ/9HSNmHvegTkIwheEcoHOMyn5s2QvK/8O1k07zfzLa6Bzhu55zEXlQGj1V
GDEl6YwGmzOcEF19XJnh/QOFMeNQJfwErfCjE2pJecN5aSeN87NapARzp1IZLXZw
avGJtlIPALpImYc7sg02syCRkg7399Bei5eAmgxsnbf0p5hx645brkL5v8Ko0stp
+PkGFM3ycAcxXq5iWcyxoIm1zgRKxzlP1xpJi1FIm9vMvT30nFmcF6vNz/IItMhv
bCSDaMU7GVsoRqD6SM9vnzCusbUJZpI6TkH0r+nlAMaU5UI8v9jG9+xQldxKiGhi
ScJY8kxMs4Bl2OS8ZTKqjgzJecejOuiRiseXgrQxRFWjyRVEOhZhh67q9HdgztCy
pc4OwRbwQEI3OR2jyNgbGqyc6eEQenvI4viQEjEONxAYR61hqDCUsWH7/K17z1Uu
4EmybgSiKowqvxF8Q6R7ZfsisAPzs3miSVjZ7pNSldQnrddUsisbfDYfHdexH9Aw
wPWp6OHsLjPRxihxCo8ThVSOjFgXh2+pu9Bzrj+QOa5pmha/hUfsRg6SfoRBsNnm
FopQXDDG4EuaTt64hvw5Phtm9AuUxzuD/49B98EN/YoosfmPFpuecXUX1FDHw33E
Vi467utwlLk5mbG5OBaBrpkpnFExyUn5vb1Ts6S+cCVVSbp58Po=
=nY5p
-END PGP SIGNATURE-


2.079.0-beta.2 [Re: Beta 2.079.0]

2018-02-24 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 19 February 2018 at 10:49:03 UTC, Martin Nowak wrote:
http://dlang.org/download.html#dmd_beta 
http://dlang.org/changelog/2.079.0.html


Second beta is published now. The website build server has some 
issues, so the website update is still stuck for a while.


You can see a changelog preview here
  
http://dtest.dlang.io/artifact/website-e5f8ee1211cb48bf97e0502f958179f8c82c9b35-ea6717f0f487cd7258756895d14da33f/web/changelog/2.079.0.html

until it will be updated on
  http://dlang.org/changelog/2.079.0.html
.

Downloads can be found under
  http://downloads.dlang.org/pre-releases/2.x/2.079.0/
until they are linked on
  http://dlang.org/download.html#dmd_beta
.

Changes:

https://github.com/dlang/dmd/compare/v2.079.0-beta.1...v2.079.0-beta.2
https://github.com/dlang/druntime/compare/v2.079.0-beta.1...v2.079.0-beta.2
https://github.com/dlang/phobos/compare/v2.079.0-beta.1...v2.079.0-beta.2
https://github.com/dlang/installer/compare/v2.079.0-beta.1...v2.079.0-beta.2
https://github.com/dlang/tools/compare/v2.079.0-beta.1...v2.079.0-beta.2
https://github.com/dlang/dlang.org/compare/v2.079.0-beta.1...v2.079.0-beta.2
https://github.com/dlang/dub/compare/v1.8.0-beta.1...v1.8.0-beta.2



Re: d.godbolt.org now supports DMD

2018-02-24 Thread Martin Nowak via Digitalmars-d-announce

On Friday, 23 February 2018 at 18:11:58 UTC, Seb wrote:

https://godbolt.org/g/EQCTNy

[1] https://github.com/mattgodbolt/compiler-explorer/issues/306


Great news, bad code ;).


Re: lld-link.exe [in: Re: Beta 2.079.0]

2018-02-23 Thread Martin Nowak via Digitalmars-d-announce

On Friday, 23 February 2018 at 18:13:01 UTC, Martin Nowak wrote:

On Monday, 19 February 2018 at 20:17:05 UTC, Andre Pany wrote:

You also need to install VC++ 2015 redistributable to run 
lld-link.exe.


The x86 one btw.

Also [18510 – [Beta 2.079] lld-link.exe fails to open obj file in 
subpath](https://issues.dlang.org/show_bug.cgi?id=18510) so it 
doesn't work with dub and likely fails for more complex 
applications.


lld-link.exe [in: Re: Beta 2.079.0]

2018-02-23 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 19 February 2018 at 20:17:05 UTC, Andre Pany wrote:

You also need to install VC++ 2015 redistributable to run 
lld-link.exe. Let's see if we can lift that requirement until the 
release.
[18509 – [Beta 2.079] lld-link.exe needs 
msvcp140.dll](https://issues.dlang.org/show_bug.cgi?id=18509)


Re: Beta 2.079.0

2018-02-23 Thread Martin Nowak via Digitalmars-d-announce

On Friday, 23 February 2018 at 11:57:05 UTC, Martin Nowak wrote:
But certainly anything in that direction requires time and 
research, which I don't have for that topic.


Also new syntax would likely be met with strong resistance due to 
the amount of induced churn.


Re: Beta 2.079.0

2018-02-23 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 19 February 2018 at 15:58:57 UTC, Joakim wrote:
17. Allow multiple selective imports from different modules in 
a single import statement


Let me hopefully conclude this discussion :).

We have an existing ambiguity in the language since at least dmd 
1.0. This is unfortunate but seems costly to remove and minor in 
impact (after learning this behavior).


import trees, fruits : apple, birds;

A newcomer to D could rightfully conclude that comma is a module 
separator and the following is the correct syntax to import 
multiple symbols.


import std.stdio, std.conv : to, std.conv : parse;

Embracing that existing ambiguity to support multi-module 
selective imports wasn't well received, partly because it 
amplifies the ambiguity and partly because multi-module imports 
are frowned upon.


On the plus side, we've understood that the actual wish for that 
syntax arised from scripting and example contexts, which might be 
better addressed by 
https://dlang.org/changelog/2.079.0.html#std-experimental-scripting, lazy import resolution by the compiler or a library, or automatic imports (https://github.com/CyberShadow/AutoFix).


Furthermore there remain various ideas that would avoid the 
original ambiguity. Whether such changes are worthwhile is up for 
discussion and would benefit from someone taking the lead.


I still think that local imports are nice for being explicit and 
toolable but have the downside of being brittle.
Something like bash style expansion could help to hit a sweet 
spot IMHO.


import std.{algorithm : {find, findSplit}, stdio : writeln};
import std.experimental.allocator.building_blocks.{free_list, 
region};


But certainly anything in that direction requires time and 
research, which I don't have for that topic.


In hindsight the voting experiment on 
https://github.com/dlang/dmd/pull/6589 might have prevented 
useful early feedback and thinking.


Given the effort required for a language change, it's seductive 
to streamline seemingly small changes, but it certainly increases 
the risk of design mistakes, thanks for appealing against this 
one.


-Martin


Re: Beta 2.079.0

2018-02-23 Thread Martin Nowak via Digitalmars-d-announce
On Friday, 23 February 2018 at 10:48:10 UTC, psychoticRabbit 
wrote:
If D just wants to become a compiled scripting language...good 
luck to it.


That's certainly not the goal, but as with every tool people 
become very familiar with, it's used creatively for things other 
than initially intended.




Re: Beta 2.079.0

2018-02-23 Thread Martin Nowak via Digitalmars-d-announce

On Friday, 23 February 2018 at 09:48:33 UTC, Norm wrote:
Ability to quickly script in D was a big selling point for D at 
my workplace, I'd say *the* feature that got uninterested 
developers listening and trying the language. Being able to 
replace their Python scripts with a fast native language that 
is also used for application and drivers development was a 
winning formula.


Yes, it's regularly mentioned, and indeed D makes a nice Python 
rival in some use-cases like scientific computing.
Usually you don't need a fast native language for scripts though, 
but having to only learn a single language ecosystem can still be 
helpful.




Re: Beta 2.079.0

2018-02-22 Thread Martin Nowak via Digitalmars-d-announce
On Thursday, 22 February 2018 at 11:15:35 UTC, psychoticRabbit 
wrote:

import std.rabbit [food, water], std.house, std.family [carer];


What about the million lines of existing code using

import std.stdio : writeln, writefln;


Re: Beta 2.079.0

2018-02-22 Thread Martin Nowak via Digitalmars-d-announce
On Friday, 23 February 2018 at 01:16:24 UTC, Jonathan M Davis 
wrote:
I can sympathize with wanting to avoid bikeshedding, but almost 
no one who has posted thinks that this is a good idea.


This was meant for the discussion of a new syntax for selective 
imports like `import mod : { sym1, sym2 }` which seems like too 
much churn to be worthwhile.


Re: Beta 2.079.0

2018-02-22 Thread Martin Nowak via Digitalmars-d-announce
On Friday, 23 February 2018 at 00:41:58 UTC, psychoticRabbit 
wrote:

On Friday, 23 February 2018 at 00:05:59 UTC, Martin Nowak wrote:
Isn't that an argument?


Of course it is :).
I tried to list the arguments I found in the thread and replied 
to them, trying to lead a proper discussion.



- why not X instead


Aren't alternative ideas welcome?


Yes they are. There was quite some chances to bring them up, 
maybe this needs more room for comments.


  Go for it and try to find a consensus. I don't think the 
issue is big enough to warrant a huge design and bikeshedding 
discussion.

Some don't agree with you.


The price of discussing syntax, introducing an alternative (e.g. 
`import std.algorithm : { find, findSplit }`, and rewriting most 
D code is quite high.



That's your opinion.


Yes, and it's an opinion that isn't reflected in the thread.

You seem overly eager to save some typing, and the expense of 
comprehension.
I don't get it. That's what bring programming languages into 
disrepute.


Reread what I wrote, you'll find that I make a distinction 
between scripting/hacking and programming.



This doesn't seem that trivial based on the discussion.


It said seemed, so it might have been a wrong assessment.
But I still think we have quite heavy topics on our plate, @nogc, 
@safe, phobos quality, dub infrastructure and this still seems 
like a very tiny change to me.


Also https://en.wikipedia.org/wiki/Law_of_triviality, because 
this is certainly easier to grasp than 
https://github.com/dlang/druntime/pull/1282 
(https://forum.dlang.org/post/mjsma6$196h$1...@digitalmars.com) for 
which getting feedback is extremely tedious.



I've learnt a lot from looking at imports used.


Interesting, you have a good example?


Re: Beta 2.079.0

2018-02-22 Thread Martin Nowak via Digitalmars-d-announce

On Friday, 23 February 2018 at 00:05:59 UTC, Martin Nowak wrote:

On the other side please note that:


Forgot one important point:

- practially unqualified modules are extremely rare, so the tiny 
ambiguous grammar case is hardly relevant.




Re: Beta 2.079.0

2018-02-22 Thread Martin Nowak via Digitalmars-d-announce

On Tuesday, 20 February 2018 at 08:43:50 UTC, Martin Nowak wrote:
Regarding the sheer amount of discussion I want to note that this 
was primarily seen as a regularization of the existing grammar.


import mod1, mod2 : sym1, sym2;

Certainly other languages have decided on a clearer syntax for 
selective imports, but that's what was chosen for D a long time 
ago.
Learning D you'll find that the selective import syntax is 
ambiguous in your first week, so I've stopped being annoyed by 
that some 5 years ago.


The main use-case for craming multiple imports into a line is not 
libraries but scripting, examples, and maybe unit tests.
And indeed the changelog entry could have been a bit clearer and 
easier to grasp.




Unfortunately it's a bit hard to find arguments in the discussion 
below, would have been cool if there were a few well argumented 
comments instead dozens of +1s.


- this grammar is ambiguous

  It has always been in various ways and that's annoying to learn 
when you first deal with D. Personally I find it even more 
annoying that you can mix imports and selective imports, but only 
in a very specific exception.


- why not X instead

  Go for it and try to find a consensus. I don't think the issue 
is big enough to warrant a huge design and bikeshedding 
discussion.


- each imported module should be on it's own line

  That's your opinion, my opinion is that importing 6 symbols 
from 6 different modules for a tiny cli tool sucks and bloats 
code example. So the alternative is to not use selective imports, 
but only those and static imports have a clear path to become 
lazy (https://issues.dlang.org/show_bug.cgi?id=13255).
  For projects and libraries it hardly matters, just adopt to the 
style-guide and existing code.
  Apparently I didn't use it a single time here 
https://github.com/MartinNowak/io, but all the time here 
https://github.com/MartinNowak/AoC17.
  Cannot say that it even took an active decision. It's just a 
very different mode if you want to quickly script sth. or if you 
set aside time to write a well-documented library.


- use std.experimental.scripting

  Indeed an alternative with a similar goal, reducing the amount 
of typing/noise for hacking. Importing all phobos modules will 
lead to a couple of symbol conflicts (e.g. write), and it still 
increases compile times and binary sizes noteably (though compile 
time is a lot better than it used to be).
  Not sure that this approach will pan out in the long-term, but 
a well curated package of the most used functions would indeed be 
helpful as of today.


- why hasn't this been a DIP

  Because it looked primarily like a minor grammar rectification 
that doesn't break anything and is entirely optional.
  Also DIPs are a crucial process for our language, and it seems 
problematic to clog it with trivialities.




On the other side please note that:

- you don't have to use it
- it will unlikely land in phobos' style-guide
- it's useful for talks, posts, code puzzles or on a repl where 
code is size constrained

- there is no ambiguity or chance for bugs
- practical examples of this usage are hardly confusing

  import std.stdio : writeln, std.algorithm : find;

- what's usually of relevance is the call-site not what you import
- there is syntax highlighting
- we're currently proliferating selective imports which cause a 
lot of D code to become very brittle
  
(https://github.com/andralex/phobos/blob/cd3152c7bf4466e74b7fb9bd43d47e996caf5918/std/datetime/systime.d#L10076-L10083)
- remember that some people use `import mod1, mod2, mod3, mod4;` 
at least sometimes while others

  prefer each import on it's own line
- imports are mostly for tooling, less for humans
  - many java editors collapse the import manifest at the top
  - a lot of languages have an import std.* operator or 
auto-imports

  - you might want to automate import declarations at some point

And last but not least, the simpler the topic the more opinions, 
so please refrain from "I don't like it, +1" and leave space for 
actual arguments.


-Martin


Re: Beta 2.079.0

2018-02-20 Thread Martin Nowak via Digitalmars-d-announce

On Tuesday, 20 February 2018 at 09:49:07 UTC, Atila Neves wrote:
How does one keep on using Microsoft's linker? I've tried lld 
on Linux and while some binaries ran fine, others crashed. I 
don't trust it all right now.


Atila


DMD prefers VC's linker if it is installed and will only fallback 
to lld-link.exe if no VC installation can be found.
So there is a slight risk of accidentally using lld, when sth. in 
the VC detection code fails, but I hope that part is solid enough 
by now.
Of course you can manully pick the linker using an env var, 
https://github.com/dlang/dmd/blob/38da6c2258c0ff073b0e86e0a1f6ba190f061e5e/src/dmd/link.d#L274, with the possibility to hard-coding the setting in your sc.ini.


What were addressing here is the problem that in order to try D 
on Windows you need to go through the 30min. hoop of installing 
multi-GiB VC and Win SDK, or live with an outdated object file 
format and a hardly maintained linker.

So this should improve the default experience on Windows.
If someone wants to interact with C/C++, chances that VC is 
already installed are very high.


Re: Beta 2.079.0

2018-02-20 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 19 February 2018 at 15:45:30 UTC, bachmeier wrote:
This looks good, but I'm not sure the many new features go well 
with the "2 month release" thing. I hope there are plans for a 
longer than usual testing period. Your announcement reads to me 
like it's going to be a regression bug release.


Well, we already run a lot of automated tests and the best way to 
help us avoiding regressions is by properly testing the beta 
against your code.
Betas start on the 15th of every even month, releases are done 2 
weeks later on the 1st of every odd month.


Re: Beta 2.079.0

2018-02-20 Thread Martin Nowak via Digitalmars-d-announce

On Tuesday, 20 February 2018 at 08:46:02 UTC, meppl wrote:
So, now someone could "easily" write his own memory managment 
for allocations who would be usually done by the default GC - 
e.g. classes?


That isn't connected to object.d, but you can allocates classes 
where you want since ages.
Just write a wrapper around `__traits(classInstanzeSize, ...)` or 
use http://code.dlang.org/packages/automem.


Re: Beta 2.079.0

2018-02-20 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 19 February 2018 at 15:58:57 UTC, Joakim wrote:
17. Allow multiple selective imports from different modules in 
a single import statement


I have a bad feeling that that one is going to be a source of a 
raft of bugs for years to come.


No need to use it if you don't like it. It's particularly useful 
for small examples, localized imports and hacking.
It's mainly a generalisation of the existing possibility to mix 
module imports and one selective import at the end.
If you prefer java-like 50 lines import manifests, then by all 
means keep using those.

How would that feature cause bugs though?


Re: Status of @nogc with the runtime

2018-02-19 Thread Martin Nowak via Digitalmars-d

On Sunday, 18 February 2018 at 22:28:48 UTC, Peter Campbell wrote:
Indeed, very interesting read and exactly the information I was 
looking for! Thanks a lot Martin, I'm excited to see this 
progress. It's good to know it's still being worked on and 
progress is being made.


Yes, it's just crazy how much work and expertise is involved with 
a programming language ecosystem, so things always go much slower 
than intended.


In case someone wants to help, I currently have to divert a lot 
of time into https://github.com/dlang/dub. Package managers are 
suprisingly complex pieces of software. We have some basic 
architecture 
https://github.com/dlang/dub/blob/master/ARCHITECTURE.md and 
would benefit a lot from a few more contributors getting familiar 
with the implementation.


Beta 2.079.0

2018-02-19 Thread Martin Nowak via Digitalmars-d-announce
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Glad to announce the first beta for the 2.079.0 release, ♥ to the 77
contributors for this release.

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

As usual please report any bugs at https://issues.dlang.org

- 

This is probably the most feature-laden 2 month release ever.

Highlights:

https://dlang.org/changelog/2.079.0.html#lazy-gc-init
https://dlang.org/changelog/2.079.0.html#includeimports
https://dlang.org/changelog/2.079.0.html#minimal_runtime
https://dlang.org/changelog/2.079.0.html#toString

There is experimental `@nogc` exception throwing `-dip1008` (still
missing changelog).
Windows got a new experimental toolchain based on the lld linker and
MinGW import libraries. This will hopefully replace OMF in the
long-term without requiring heavy VC installations. Of course VC will
remain the primary toolchain on Windows. (still missing changelog)

A few remaining private symbols leaks have been fixed.
https://dlang.org/changelog/2.079.0.html#private
https://dlang.org/changelog/2.079.0.html#fix17630
https://dlang.org/changelog/2.079.0.html#fix18219

Some small syntax goodies:

https://dlang.org/changelog/2.079.0.html#multi_module_selective_imports
https://dlang.org/changelog/2.079.0.html#default_after_variadic

Some noteworthy deprecations:

https://dlang.org/changelog/2.079.0.html#deprecate_delete
https://dlang.org/changelog/2.079.0.html#hexstrings

- -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAlqKq54ACgkQsnOBFhK7
GTlJwhAAh+gxo8dJDLulqdKk0EBPYcDvOLvllusp4Z1B+vCsmIZl7f6BhcVnYgfY
xXOCzTJkAPdGVk9h0VDs5J8Vq4WLlvrFgxw0R1KLBRe5NGOsUV2e48ZVkpspVaQM
DOuWnrjtfweSF+pK9fzr7HVDRnxd/oAiWzv/Qhl9Kcy5Uwh8wH6nUoMYxsX+IGpm
AZAJHVlhaf0X2YWA9B/q/BN6lqOl3yYlCN0waZEotkiYWXlWxumvEoDeJva9BWR6
3PZ6+t/UlJXuLpmbG6alivb9fnqXRief6YGpx2u41QcklnPfuqgyLvDLMosa/NV3
7u2/+qRgHLVwNRPGh24ywovciP8oOypoEZa7DkbrpgXphHgfPC9vvfKGGBBAd9ZW
SwKVKvGduq0ZGxFcsPZ+AdFnn0a+Qm2VOjRhHTxFUe11Mr9d+XBC797MN9RGy+2L
biNgtz0iKkIhGsqwH2fcNwAKSDAoaKs5sQfVzFa5Mz9vWkDLeBAtbUBCDGqiPjPJ
344YsI8ikpxfHZtcAf1p7a8gD272gEdFzZOuSlfVvTYQqKLMZzS2zHNoTMt/dK91
4tnr3qDDwqN9TC0VMHndtzu/rSKEHRRc8K1lUzS5KglqzGI4I18hSYMlij09qv6V
vTNdtv8TQafgNdR99o+yBY/N2HZlZOga5UDppffsghSX6jFnVOo=
=U7Zl
-END PGP SIGNATURE-


Re: DConf 2018 Proposal Submission Deadline

2018-02-19 Thread Martin Nowak via Digitalmars-d-announce
On 02/18/2018 03:25 PM, Mike Parker wrote:
> The February 25th deadline for submitting proposals for DConf 2018 is
> fast approaching. If you've been thinking about sending one in, stop
> thinking and start doing! Guidelines can be found at the DConf homepage:
> 
> http://dconf.org/2018/index.html

Thanks, also added it to the calendar, though I could swear I already
did that a few months ago ;).


Re: Release D 2.078.2

2018-02-19 Thread Martin Nowak via Digitalmars-d-announce
On 02/17/2018 06:52 AM, Eugene Wissner wrote:
> On Friday, 16 February 2018 at 11:25:42 UTC, Martin Nowak wrote:
>> On 02/10/2018 09:17 AM, Thomas Mader wrote:
>>> https://github.com/dlang/dub/releases/latest doesn't point to 1.7.2.
>>
>> Out of curiosity, do you have a strong use-case to install/update dub
>> separately of the compiler?
> 
> I'm shipping dub (as a part of d-tools package) separately from the
> compiler for Slackware Linux. This way it can be built with the compiler
> of choice: dmd, gdc or ldc. It doesn't always make sense to ship dub
> with every compiler since you can use --compiler option. And the
> compiler dub is built with, is the default compiler to build dub projects.

You have any idea for a more sensible default compiler? IIRC dub now
supports any compiler out of the box, but indeed the search order
depends on it's host compiler.

The main goal of shipping dub with the compiler was to simplify
distribution and increase it's usage. Would you say this goal is met, or
should we consider to release dub binaries separately but in sync with
dlang releases.


Re: Release D 2.078.2

2018-02-19 Thread Martin Nowak via Digitalmars-d-announce
On 02/17/2018 10:35 AM, Thomas Mader wrote:
> But I package dub and the tools as a separate package from dmd.
> Archlinux is doing the same and I find it reasonable. dub and the tools
> should be buildable with other compilers too and one day I might switch
> to ldc as the default compiler for the distribution because of speed.

Dub hardly is CPU bound, and using different binaries (build settings)
on other systems might cause harder to reproduce bugs.
I think we'll transition to gdc or ldc for dmd releases at some point,
if I or someone else find enough time for that.


Re: How to represent multiple files in a forum post?

2018-02-18 Thread Martin Nowak via Digitalmars-d
On Sunday, 18 February 2018 at 04:04:48 UTC, Jonathan Marler 
wrote:
If there is an existing standard that's great, I wasn't able to 
find one.  If you find one let me know.


Found ptar (https://github.com/jtvaughan/ptar) and shar 
(https://linux.die.net/man/1/shar), both aren't too good fits, so 
indeed a custom format might be in order.


Re: Anybody still using the chm docs

2018-02-18 Thread Martin Nowak via Digitalmars-d
On 02/17/2018 10:19 PM, Manu wrote:
> I like the CHM docs.
> I have encountered the same maintenance problem before, where build infra
> is linux based, and the CHM docs need a windows machine to build... I
> solved this problem by building the CHM via WINE ;)
> Maybe this is a possible solution?

Yes might be an option, but I have little experience with Wine, and
adding more complexity to an already complex tool seems problematic.
We obviously do build releases on Windows (VirtualBox) and also have
Windows CIs, but Vladimir's doc tester is linux-only atm.

I mainly don't want to spent more resources to work on this, hence it's
offered for adoption. You might want to collaborate with Vladimir to
integrate this with dlang.org's appveyor.
It can easily test every build and upload artifacts for git tags.

-Martin


Re: Anybody still using the chm docs

2018-02-18 Thread Martin Nowak via Digitalmars-d
On 02/18/2018 02:05 AM, Walter Bright wrote:
> On 2/17/2018 7:04 AM, Martin Nowak wrote:
>> Let's pull the plug, I think everybody agrees that we have more
>> important issues than maintaining d.chm and dman (which hasn't been
>> shipped since 2.076 anyhow).
>> Consider both tools as offered for adoption (as an external service or
>> download).
>>
>> https://github.com/dlang/installer/pull/298
>>
> 
> I find dman very useful, as I'm a command line sorta guy. In fact, I
> wrote it because it's a major convenience for me.

I know, but I think you are one of the very users though.

On my shell it's simple to add an alias that would invoke
https://duckduckgo.com/?q=popFrontN+site%3Adlang.org%2Flibrary.
Personally I do have a browser shortcut 'd' for my Brower's omnibox, so
I can just type 'd popFrontN' in FireFox to find docs.

The essence here is that while dman might be useful, it's foundation is
very complex and fragile, using ddoc JSON macros :o
(https://github.com/dlang/dlang.org/blob/cb44110267d0b5d2e139909c47fa00924ac1cb24/chm-nav.dd)
and a self-written html/link processor to gather tags.
Sure Vladimir is great at maintaining tools and very responsive, but
still any issue with this tool blocks our releases and wastes my time.

Same as for d.chm, I'd favor if that tool would be build and distributed
separately from our dmd releases, and if the actual users would maintain
it. This could be setup on Travis-CI using ldc to cross-compile for all
target platforms or so.

-Martin


Re: Annoyance with new integer promotion deprecations

2018-02-18 Thread Martin Nowak via Digitalmars-d
On 02/18/2018 08:26 PM, Manu wrote:
> If change the behaviour (is done), then just let the code be broken!
> Emitting these terrible noises, and encouraging people to make their code
> even noisier than the compiler output is much worse than broken code.
> There are hundreds of lines I need to molest to make the compiler shut up.
> I won't type another line of code on my colour library until this noise is
> gone... I will not maintain it. I am emotionally incapable of assaulting my
> code with those casts.

Best solution, write a custom Int type that doesn't use C's horrible
promotion rules.
I've long wanted some SafeInt library that doesn't silently promote and
supports saturation, overflow, and errors.

-Martin


Re: Status of @nogc with the runtime

2018-02-18 Thread Martin Nowak via Digitalmars-d
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

On 02/17/2018 07:03 PM, Peter Campbell wrote:
> My understanding from the vision documents and what Andrei
> mentioned at his DConf presentations is that the runtime itself
> will be modified to not rely on the GC, allowing for you to
> continue using features such as associative arrays and array
> concatenation, but without requiring the garbage collector. Is my
> understanding correct? If so is work still being done to make this
> happen and is there an easy way to follow the progress?

@nogc containers will most likely come in the form of a library.
We plan to move built-in hashes to a templated druntime implementation
(https://github.com/dlang/druntime/pull/1282), and at best make array
and hash literal syntax available for user defined types (w/ an
approach similar to C++'s initializer_list).
Our current std.container package does not use the GC
(https://dlang.org/phobos/std_container.html), but isn't really up to
par. Your best options atm. would be
[emsi_containers](http://code.dlang.org/packages/emsi_containers) for
containers and [automem](http://code.dlang.org/packages/automem) for
smart pointers.
Both libraries support custom allocators
(https://dlang.org/phobos/std_experimental_allocator.html).
Writing containers and smart pointers isn't rocket science, so it's
the least of our worries.

While heading for @nogc we've decided that we don't want to give up
@safe-ty (remember that GC based allocations don't suffer from memory
corruptions).
Walter has spent a lot of effort on preventing escaping of aliases
(DIP1000).
I'm currently working on a proposal (DIP) and implementation called
"limited lifetimes" that is targeted at preventing use-after-free bugs
at compile time without impeding usability too much.
We hopefully will have at least a prototype implementation for this
year's DConf in May.
This should become the foundation for `@safe @nogc` RC/Uniq/Weak
primitives, onto which we can layer `@safe @nogc` libraries.

In parallel Andrei and his students are investigating alternative
approaches to reduce GC overhead or prevent use-after-free errors at
runtime.

We've somewhat stopped to work on our GC, to focus on
unique/ref-counted memory management. Though soon the GC
implementation can be replaced with custom GCs from our package
manager dub (https://github.com/dlang/druntime/pull/1924). This should
open the door for low-latency GCs, based on CoW and dirty page flags.
We don't want to add write-barriers to the language due to the ~5%
overall slowdown, so generational GCs are out of reach, but there is
an interesting paper on using type information to perform partial
collections ([Connectivity-Based Garbage
Collection](https://www.cs.purdue.edu/homes/hosking/690M/cbgc.pdf)).

At the moment there is no good way to track progress, as a lot is
being worked on behind the scenes by many distributed actors.
I think we are the ones most annoyed that this transition takes so
long, but our plans are also very ambitious, targeting minimal memory
footprint, optimal performance while supporting a @safe language
subset and advanced features like custom allocators or region based
allocations.

- -Martin
-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEpzRNrTw0HqEtE8TmsnOBFhK7GTkFAlqJ7CsACgkQsnOBFhK7
GTnTyQ//axaUtY8B1VhjW3Y/cMs4GESDmwa68r3IU/3XnyUelZfbMhAnA14aQh23
7y9D9MpPLYbgRQDbsrbUU7BoXMIiguFDQmR/265I7ZlhugVbG8VerQv+cIfXjiz9
fNKNgZHjp6hBPDIcHruiOcFNmqg73ymSg/9VWmEIzS1HUSMtZpBslz9uPWwKCacV
axv8a/oPOBo5C8WcHqwtXHPeNZYKiwAcBaE6cXordN9r0dK1OC/JtvbjLRQnbv72
d0Xifdj4IkLM4krJvEZVX7jEPOvq15P48ns/gxMiem8e2qn6pHW+FIPHRx/y9Wv0
K5RGsivkBETDX6xrohwKdSEf5vIx4qQavI1pAA/8NIVsI2AlBs0OYivUnd+pTHA6
mLLI/Ask8NmWoA4FNFdWI0+zC/zTs1e06sTl1nsMs2NHCCaRL3CSTJmExeLVDrYD
iz/5XvKMsZUh1wSlFvoqFX4UvmjZH3HseZfh1WhKaYnSculc0RzhDIYzbftCKqJR
1nCOnNyhS8kuxGT881oYZmbTyevoy2uU3tBStmXcGcRTfpHkd9xaFY7vlqF0Aa41
eUI0z6r4SG+ZmDmwHlnZD58kcIvBVvWZaAoo4hz0138LW0LNd9tRiBPTyUfE9PJL
qCmEbVvB25nz2yge9iEOGERJYRI8P1fssfUX3bjNcDoeLTMokPo=
=wnx7
-END PGP SIGNATURE-


Re: How to represent multiple files in a forum post?

2018-02-17 Thread Martin Nowak via Digitalmars-d
On Wednesday, 14 February 2018 at 18:33:23 UTC, Jonathan Marler 
wrote:

@timotheecour and I came up with a solution to a common problem:

How to represent multiple files in a forum post?


Oh, I thought it already was a standard, but 
[.har](https://en.wikipedia.org/wiki/.har) is JSON based and very 
different, so the name is already taken.


Have you done some proper research for existing standards?
There is a 50 year old technique to use ASCII file separators 
(https://stackoverflow.com/a/18782271/2371032). Sure we can find 
some existing ones.
We recently wondered how gcc/llvm test codegen, at least in gcc 
or gdb I've seen a custom test case format.


Re: Anybody still using the chm docs

2018-02-17 Thread Martin Nowak via Digitalmars-d

On Wednesday, 15 June 2016 at 10:58:04 UTC, Martin Nowak wrote:

It's a huge maintenance effort for us to produce the chm files.
We no longer generate documentation on Windows, but just for 
the chm generation we have dedicated tools [¹] to create an 
index (from a json generated via ddoc) and copy the html files.
So I'm wondering if in 2016 someone really needs an offline 
copy of a website shipped with a binary release?


Let's pull the plug, I think everybody agrees that we have more 
important issues than maintaining d.chm and dman (which hasn't 
been shipped since 2.076 anyhow).
Consider both tools as offered for adoption (as an external 
service or download).


https://github.com/dlang/installer/pull/298



Re: Tuple DIP

2018-02-16 Thread Martin Nowak via Digitalmars-d
On 01/14/2018 12:21 AM, Timon Gehr wrote:
>> what would be the equivalent of this ?
>> ` writeln(tuple!("x", "y", "z")(2, 3, 4).y); `
> 
> It would continue to work the same way.
> 
> I did consider adding a proposal for built-in named tuple syntax:
> 
> writeln((x: 2, y: 3, z: 4).y);
> 
> (int a, double b) t = (a: 1, b: 2.0);
> int x = t.a;
> double y = t.b;

Tuples are anonymous bundles, when you want a product type with field
names use a struct.


Re: Tuple DIP

2018-02-16 Thread Martin Nowak via Digitalmars-d
On 01/14/2018 07:41 PM, Timothee Cour wrote:
> Should definitely be mentioned in the DIP to open that up for discussion;
> it breaks assumptions like sizeof(Tuple)=sum_i : tuple (sizeof(Ti));

That doesn't hold for all cases anyhow, as it seems were talking about
closed tuples that are contiguous in memory and follow struct layout and
alignment rules.


  1   2   3   4   5   6   7   8   9   10   >