Re: run.dlang.io - a modern way to run D code
On Wednesday, December 13, 2017 06:53:02 rikki cattermole via Digitalmars-d- announce wrote: > On 13/12/2017 6:46 AM, bauss wrote: > > On Wednesday, 13 December 2017 at 01:14:26 UTC, Seb wrote: > >> On Wednesday, 13 December 2017 at 00:32:11 UTC, rikki cattermole wrote: > >>> On 12/12/2017 6:37 PM, Seb wrote: > === Supported D Compilers === > > * Latest DMD nightly > * Latest DMD beta > * Latest DMD > * Latest LDC beta > * Latest LDC > > The Docker images are rebuilt every day automatically. > >>> > >>> Can we please select a version we want to test against? > >> > >> While it would be rather easier to build more Docker images [1] and > >> add them to the tour [2], I fear that this will be too much > >> maintenance overhead and will lead to outdated compiler soon. > >> Also the storage on the machine is limited and we can't drop an > >> unlimited amount of Docker images there. > >> > >> [1] https://github.com/dlang-tour/core-exec > >> [2] > >> https://github.com/dlang-tour/core/blob/master/source/exec/docker.d#L22 > > > > What you could do is support the 3 latest versions of the compilers. > > > > Ex. for DMD you would support: > > 2.077.1 > > 2.076.1 > > 2.075.1 > > Also the older c++ version (2.06x.x). What would be the point of that? That's old enough that no one should really be using it. Targetting it just runs the risk of your code not working with a recent version of the compiler and standard library. - Jonathan M Davis
Re: run.dlang.io - a modern way to run D code
On Wednesday, 13 December 2017 at 06:53:02 UTC, rikki cattermole wrote: On 13/12/2017 6:46 AM, bauss wrote: On Wednesday, 13 December 2017 at 01:14:26 UTC, Seb wrote: On Wednesday, 13 December 2017 at 00:32:11 UTC, rikki cattermole wrote: On 12/12/2017 6:37 PM, Seb wrote: === Supported D Compilers === * Latest DMD nightly * Latest DMD beta * Latest DMD * Latest LDC beta * Latest LDC The Docker images are rebuilt every day automatically. Can we please select a version we want to test against? While it would be rather easier to build more Docker images [1] and add them to the tour [2], I fear that this will be too much maintenance overhead and will lead to outdated compiler soon. Also the storage on the machine is limited and we can't drop an unlimited amount of Docker images there. [1] https://github.com/dlang-tour/core-exec [2] https://github.com/dlang-tour/core/blob/master/source/exec/docker.d#L22 What you could do is support the 3 latest versions of the compilers. Ex. for DMD you would support: 2.077.1 2.076.1 2.075.1 Also the older c++ version (2.06x.x). Shouldn't DMD be stable enough that latest is good enough for everyone? As mentioned, I'm afraid that it will look similar like: http://asm.dlang.org And FWIW before I started updating Wikipedia and our DWiki even the versions there got outdated. Anyhow, everything is entirely automated, so if someone volunteers to make the update PRs to: - https://github.com/dlang-tour/core-exec/blob/master/.travis.yml - https://github.com/dlang-tour/core/blob/master/source/exec/docker.d#L22 - https://github.com/dlang-tour/core/blob/master/views/editor.dt#L27 I wouldn't mind.
Re: run.dlang.io - a modern way to run D code
On Tuesday, 12 December 2017 at 18:37:38 UTC, Seb wrote: After it has been in stealth mode for quite a while, I'm happy to announce that there's https://run.dlang.io I've actually been using it a lot recently to communicate bugs/ideas/patterns with others. Due to the nightlies, I can quickly see if a bug has been addressed in master. I've closed a couple of bugs recently with "worksforme" that way. I also use it to quickly try ideas when I'm out waiting somewhere, or just when an idea occurs to me. It is such a great resource. Thanks to those who put their time into it. Mike
Re: run.dlang.io - a modern way to run D code
On 13/12/2017 6:46 AM, bauss wrote: On Wednesday, 13 December 2017 at 01:14:26 UTC, Seb wrote: On Wednesday, 13 December 2017 at 00:32:11 UTC, rikki cattermole wrote: On 12/12/2017 6:37 PM, Seb wrote: === Supported D Compilers === * Latest DMD nightly * Latest DMD beta * Latest DMD * Latest LDC beta * Latest LDC The Docker images are rebuilt every day automatically. Can we please select a version we want to test against? While it would be rather easier to build more Docker images [1] and add them to the tour [2], I fear that this will be too much maintenance overhead and will lead to outdated compiler soon. Also the storage on the machine is limited and we can't drop an unlimited amount of Docker images there. [1] https://github.com/dlang-tour/core-exec [2] https://github.com/dlang-tour/core/blob/master/source/exec/docker.d#L22 What you could do is support the 3 latest versions of the compilers. Ex. for DMD you would support: 2.077.1 2.076.1 2.075.1 Also the older c++ version (2.06x.x).
Re: run.dlang.io - a modern way to run D code
On Wednesday, 13 December 2017 at 01:14:26 UTC, Seb wrote: On Wednesday, 13 December 2017 at 00:32:11 UTC, rikki cattermole wrote: On 12/12/2017 6:37 PM, Seb wrote: === Supported D Compilers === * Latest DMD nightly * Latest DMD beta * Latest DMD * Latest LDC beta * Latest LDC The Docker images are rebuilt every day automatically. Can we please select a version we want to test against? While it would be rather easier to build more Docker images [1] and add them to the tour [2], I fear that this will be too much maintenance overhead and will lead to outdated compiler soon. Also the storage on the machine is limited and we can't drop an unlimited amount of Docker images there. [1] https://github.com/dlang-tour/core-exec [2] https://github.com/dlang-tour/core/blob/master/source/exec/docker.d#L22 What you could do is support the 3 latest versions of the compilers. Ex. for DMD you would support: 2.077.1 2.076.1 2.075.1
Re: LDC 1.7.0-beta1
On Sunday, 10 December 2017 at 18:11:46 UTC, Suliman wrote: On Sunday, 10 December 2017 at 17:33:34 UTC, kinke wrote: Hi everyone, on behalf of the LDC team, I'm glad to announce the first beta for LDC 1.7. The highlights of this version in a nutshell: * Based on D 2.077.1. * Catching C++ exceptions supported on Linux and Windows. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.7.0-beta1 Thanks to all contributors! Is it's possible to produce x64 binaries on Windows x64 without installing Visual Studio? DMD do not have linker for x64. You could try using the llvm linker, lld, as noted in the release notes for ldc 1.5: https://github.com/ldc-developers/ldc/releases/tag/v1.5.0 I don't know what's needed to link against functions from the Windows libc though. On Sunday, 10 December 2017 at 19:00:53 UTC, Timothee Cour wrote: could these releases be tied to 'homebrew/linuxbrew' upgrades as part of release process? John usually submits a pull to homebrew for the betas, may just be behind on this one: https://github.com/Homebrew/homebrew-core/pull/20580 Looks pretty simple, you or any other brew user could easily submit that too. On Tuesday, 12 December 2017 at 01:37:31 UTC, Meta wrote: Very impressive. I'm curious, is the work done to catch C++ exceptions separate from Walter's previous efforts with dmd, or does it build on his work in some way? As noted in the linked 1.7 release notes, kinke merged ldc's non-MSVC exception-handling with Walter's new DWARF efforts and integrated some work by Rainer for MSVC.
Re: Released vibe.d 0.8.2
On Tuesday, 12 December 2017 at 19:44:17 UTC, Sönke Ludwig wrote: The major changes in this release are HTTP forward proxy support, handling incoming HTTP requests on custom transports and a MongoDB based session store. On top of that, there are many smaller improvements in the HTTP server, web/REST generator, JSON/BSON support and the TLS sub system. Change log: https://vibed.org/blog/posts/vibe-release-0.8.2 DUB package: https://code.dlang.org/packages/vibe-d/0.8.2 Great job
Re: mir-algorithm v0.7.0: new interpolation, optmath, bugfixes
On Tuesday, 12 December 2017 at 23:10:26 UTC, Nathan S. wrote: About Mir Algorithm [snip] +1
Re: run.dlang.io - a modern way to run D code
On Wednesday, 13 December 2017 at 00:50:40 UTC, Meta wrote: This is a real life saver considering dpaste is blocked at work. It gets very tedious having to create a file, invoke the compiler, and run it in 3 separate steps just to test out some quick snippet. Great to hear that it's useful for you! FYI: another life saver / convenience feature for this online editor is WIP: https://github.com/dlang/phobos/pull/5916
Re: run.dlang.io - a modern way to run D code
On Wednesday, 13 December 2017 at 00:32:11 UTC, rikki cattermole wrote: On 12/12/2017 6:37 PM, Seb wrote: === Supported D Compilers === * Latest DMD nightly * Latest DMD beta * Latest DMD * Latest LDC beta * Latest LDC The Docker images are rebuilt every day automatically. Can we please select a version we want to test against? While it would be rather easier to build more Docker images [1] and add them to the tour [2], I fear that this will be too much maintenance overhead and will lead to outdated compiler soon. Also the storage on the machine is limited and we can't drop an unlimited amount of Docker images there. [1] https://github.com/dlang-tour/core-exec [2] https://github.com/dlang-tour/core/blob/master/source/exec/docker.d#L22
Re: run.dlang.io - a modern way to run D code
On Wed, Dec 13, 2017 at 12:50:40AM +, Meta via Digitalmars-d-announce wrote: > On Tuesday, 12 December 2017 at 18:37:38 UTC, Seb wrote: > > After it has been in stealth mode for quite a while, I'm happy to > > announce that there's https://run.dlang.io [...] > This is a real life saver considering dpaste is blocked at work. It > gets very tedious having to create a file, invoke the compiler, and > run it in 3 separate steps just to test out some quick snippet. Can't you just do: rdmd --eval='' ? T -- Real Programmers use "cat > a.out".
Re: run.dlang.io - a modern way to run D code
On Tuesday, 12 December 2017 at 18:37:38 UTC, Seb wrote: After it has been in stealth mode for quite a while, I'm happy to announce that there's https://run.dlang.io === Features === * Color-highlighted DMD errors * Format source code with dfmt * Generate a short URL for link sharing * Import/Export to GitHub Gist * Typical key shortcuts like CTRL+Enter -> Run * Build cache for fast execution of common examples (e.g. the ones on front page of dlang.org) * Usable on your phone * Integrated with dlang.org (you can open any example on dlang.org in run.dlang.io by clicking the right arrow button) * Integrated with tour.dlang.org (you can open any example on the DTour in run.dlang.io by clicking on the "Export" button) === Supported D Compilers === * Latest DMD nightly * Latest DMD beta * Latest DMD * Latest LDC beta * Latest LDC The Docker images are rebuilt every day automatically. === Running DUB packages === Via "Add library" DUB packages can be added to the build. Currently only a whitelist of packages is allowed. Examples: mir: https://run.dlang.io/is/FIc6rd mir-algorithm: https://run.dlang.io/is/3pNRH8 === DReg === When I watched CyberShadow's Bugzilla cruise [1] I spotted this amazing tool dreg [2] and it's not that hard to build a docker image [3] for it and make it available for everyone, s.t. no setup is required. Dreg allows running old versions of the D compiler in parallel and compares their output. However, it's a lot easier to show than to explain: https://run.dlang.io/is/ckNT9i https://run.dlang.io/is/UZhQDh Currently all versions from 2.060 up to the latest greatest 2.077.1 are run, so the execution will take a bit longer than a single run. [1] https://youtu.be/qpUTvMokTCs [2] https://github.com/CyberShadow/misc/blob/master/dreg.d [3] https://github.com/dlang-tour/core-dreg === Source code & report issues === Please don't hesitate to open issues or submit pull requests: -> https://github.com/dlang-tour/core (it uses Vibe.d) This is a real life saver considering dpaste is blocked at work. It gets very tedious having to create a file, invoke the compiler, and run it in 3 separate steps just to test out some quick snippet.
Re: run.dlang.io - a modern way to run D code
On Tuesday, 12 December 2017 at 18:37:38 UTC, Seb wrote: After it has been in stealth mode for quite a while, I'm happy to announce that there's https://run.dlang.io [...] Sweet! I will definitely use this for teaching.
Re: run.dlang.io - a modern way to run D code
On 12/12/2017 6:37 PM, Seb wrote: After it has been in stealth mode for quite a while, I'm happy to announce that there's https://run.dlang.io === Features === * Color-highlighted DMD errors * Format source code with dfmt * Generate a short URL for link sharing s/shorten/permalink/ Or something else more obvious. * Import/Export to GitHub Gist * Typical key shortcuts like CTRL+Enter -> Run * Build cache for fast execution of common examples (e.g. the ones on front page of dlang.org) * Usable on your phone * Integrated with dlang.org (you can open any example on dlang.org in run.dlang.io by clicking the right arrow button) * Integrated with tour.dlang.org (you can open any example on the DTour in run.dlang.io by clicking on the "Export" button) === Supported D Compilers === * Latest DMD nightly * Latest DMD beta * Latest DMD * Latest LDC beta * Latest LDC The Docker images are rebuilt every day automatically. Can we please select a version we want to test against?
Re: Released vibe.d 0.8.2
On Tuesday, 12 December 2017 at 19:44:17 UTC, Sönke Ludwig wrote: The major changes in this release are HTTP forward proxy support, handling incoming HTTP requests on custom transports and a MongoDB based session store. On top of that, there are many smaller improvements in the HTTP server, web/REST generator, JSON/BSON support and the TLS sub system. Change log: https://vibed.org/blog/posts/vibe-release-0.8.2 DUB package: https://code.dlang.org/packages/vibe-d/0.8.2 I think you should mention more prominently that for people who want to use OpenSSL 1.1, they can now use: dub --override-config="vibe-d:tls/openssl-1.1" This allows to use OpenSSL 1.1 _without_ needing to set the `VibeUseOpenSSL11` version in their dub.sdl
Re: Released vibe.d 0.8.2
that's great... unfortunately https://github.com/vibe-d/vibe.d/issues/1991 is a regression preventing from updating to 0.8.X (has a reduced test case). Any help on this would be very appreciated, thanks! On Tue, Dec 12, 2017 at 11:44 AM, Sönke Ludwig via Digitalmars-d-announce wrote: > The major changes in this release are HTTP forward proxy support, handling > incoming HTTP requests on custom transports and a MongoDB based session > store. On top of that, there are many smaller improvements in the HTTP > server, web/REST generator, JSON/BSON support and the TLS sub system. > > Change log: > https://vibed.org/blog/posts/vibe-release-0.8.2 > > DUB package: > https://code.dlang.org/packages/vibe-d/0.8.2
mir-algorithm v0.7.0: new interpolation, optmath, bugfixes
About Mir Algorithm Mir Algorithm[1] is Dlang core library for math, finance and a home for Dlang multidimensional array package - ndslice. New Modules since v0.6.21 - Reworked interpolation API, now found in mir.interpolate, mir.interpolate.linear, mir.interpolate.pchip. - New module mir.interpolate.spline for cubic interpolation. Warning: multivariate cubic spline with derivatives is still experimental. - New module mir.interpolate.constant for constant interpolation. Warning: multivariate constant interpolant is still experimental. API Changes since v0.6.21 - Added in mir.math.common function attributes @optmath and @fmamath. They only have effect when compiling with LDC but can be used with all compilers. (This now also applies to @fastmath.) @optmath is similar to @fastmath but does not allow unsafe-fp-math. Does not force LDC to replace division with multiplication by reciprocal. - New mir.utility.extMul extended unsigned multiplication that makes available the high bits of the result - New mir.functional.aliasCall - New mir.ndslice.algorithm.maxLength returns max length across all dimensions. - New mir.ndslice.slice.IteratorOf!(T : Slice) extracts iterator type from a Slice - New mir.ndslice.slice.ndassign assignment utility template that works both with scalars and with ndslices. - In mir.ndslice.slice.Slice: iterator is now inout; opUnary now works with - and +; opIndexAssign now returns ref this instead of void. - mir.ndslice.field.MagicField supports length and shape. Removed Modules - mir.interpolation, mir.interpolation.linear, mir.interpolation. Migrate to replacements (mir.interpolate.*). Other Changes since v0.6.21 - Uses of @fastmath in the Mir codebase have been replaced by @optmath, excepting mir.math.sum Summation.fast. - In mir.ndslice.topology under-the-hood improvements in slide, diff, pairwise - In mir.ndslice.slice.Slice opBinary and opBinaryRight now internally use mir.ndslice.topology.vmap instead of mir.ndslice.topology.indexed. Fixed since v0.6.21 - Fix in mir.ndslice.topology.map for compilation failing in cases where chained map calls couldn't be coalesced due to capturing multiple contexts (seemingly a compiler bug in some cases) - Made mir.ndslice.topology.flattened backwards compatible with LDC 1.2.0 for those who haven't upgraded - Added workaround in mir.ndslice.algorithm.reduce for DMD inlining bug for non-Windows x86-64 (LDC unaffected) - mir.primitives.shape now takes its argument by reference [1] https://github.com/libmir/mir-algorithm Release notes with hyperlinks: https://github.com/libmir/mir-algorithm/releases/tag/v0.7.0
datefmt 1.0.0 released: parse datetimes and also format them
# Sales pitch If you've ever had to parse datetime input from multiple sources and everyone's standardized on ISO8601, you might have found out that that's not quite as standard as you'd wish. This is where datefmt helps you. --- import datefmt; auto expected = SysTime(Date(2010, 1, 1), UTC()); foreach (date; ["2010-01-01", "2010-01-01T00:00:00", "2010-01-01 00:00:00.000Z"]) { SysTime parsed; assert(tryParse(date, ISO8601FORMAT, parsed)); assert(expected == parsed); } --- # How does datefmt's parsing differ from dateparser? dateparser is great when you have a date that's in some arbitrary format and you want to turn it into a sensible date. It's perfect for manual input. datefmt is good when you have a restricted set of formats you need to accept and want to reject everything else -- generally when a wide range of systems using the same somewhat nebulous standard emit the stuff you need to parse. # What about formatting? datefmt can do formatting too! Most of its formatting options are taken from strftime, so it should be generally familiar. And of course you can use predefined formats for RFC1123 and ISO8601: auto st = SysTime(DateTime(2010, 4, 12, 15, 30, 00), UTC()); writeln(st.format(ISO8601FORMAT)); // 2010-04-12T15:30:00.00Z writeln(st.format(RFC1123FORMAT)); // Mon, 12 Apr 2010 15:30:00 Z # Is anyone using it? I've been using this in my RSS reader for the past month or two, during which time it's been exposed to a number of horrible variants of both RFC1123 and ISO8601. # How do I get it? Add "datefmt": "~>1.0.0" to your dub.json and Bob's your uncle! Or download the single file from https://raw.githubusercontent.com/dhasenan/datefmt/master/source/datefmt.d and put it in your project. Licensed under MS-PL (BSD-style permissive license with patent grant); open an issue at https://github.com/dhasenan/datefmt/issues if you need a different license.
Re: d-apt update
New d-apt dmd deb packages released (ver. 2.077.1-0.1) This release fix these problems: - Move rdmd from "dmd-tools" to "dmd-compiler" - Add "dmd-bin (<< 2.077.1-0)" at "Conflicts:" and "Replaces:" fields on "dmd-compiler" and "dmd-tools" deb packages, to avoid upgrade conflicts. Jordi
Released vibe.d 0.8.2
The major changes in this release are HTTP forward proxy support, handling incoming HTTP requests on custom transports and a MongoDB based session store. On top of that, there are many smaller improvements in the HTTP server, web/REST generator, JSON/BSON support and the TLS sub system. Change log: https://vibed.org/blog/posts/vibe-release-0.8.2 DUB package: https://code.dlang.org/packages/vibe-d/0.8.2
Re: d-apt update
El 11/12/17 a les 23:02, Manu ha escrit: > I would strongly suggest the rdmd be included in dmd-bin rather than > dmd-tools. Yes, You're right and will be as you say on next dmd release. But will be in dmd-compiler rather than in the deprecated dmd-bin.
run.dlang.io - a modern way to run D code
After it has been in stealth mode for quite a while, I'm happy to announce that there's https://run.dlang.io === Features === * Color-highlighted DMD errors * Format source code with dfmt * Generate a short URL for link sharing * Import/Export to GitHub Gist * Typical key shortcuts like CTRL+Enter -> Run * Build cache for fast execution of common examples (e.g. the ones on front page of dlang.org) * Usable on your phone * Integrated with dlang.org (you can open any example on dlang.org in run.dlang.io by clicking the right arrow button) * Integrated with tour.dlang.org (you can open any example on the DTour in run.dlang.io by clicking on the "Export" button) === Supported D Compilers === * Latest DMD nightly * Latest DMD beta * Latest DMD * Latest LDC beta * Latest LDC The Docker images are rebuilt every day automatically. === Running DUB packages === Via "Add library" DUB packages can be added to the build. Currently only a whitelist of packages is allowed. Examples: mir: https://run.dlang.io/is/FIc6rd mir-algorithm: https://run.dlang.io/is/3pNRH8 === DReg === When I watched CyberShadow's Bugzilla cruise [1] I spotted this amazing tool dreg [2] and it's not that hard to build a docker image [3] for it and make it available for everyone, s.t. no setup is required. Dreg allows running old versions of the D compiler in parallel and compares their output. However, it's a lot easier to show than to explain: https://run.dlang.io/is/ckNT9i https://run.dlang.io/is/UZhQDh Currently all versions from 2.060 up to the latest greatest 2.077.1 are run, so the execution will take a bit longer than a single run. [1] https://youtu.be/qpUTvMokTCs [2] https://github.com/CyberShadow/misc/blob/master/dreg.d [3] https://github.com/dlang-tour/core-dreg === Source code & report issues === Please don't hesitate to open issues or submit pull requests: -> https://github.com/dlang-tour/core (it uses Vibe.d)
Re: D IDE Coedit - version 3.5.1 released
On Thursday, 7 December 2017 at 14:27:39 UTC, Basile B. wrote: This is a highly recommended update for Windows users. See the regression section in the changelog [1]. If by any chance the FreeBSD packager or the AUR's one (aka Wild) read this, please note that i've switched to SemVer, so update your scripts. It's also worth mentioning that this change has been made because i won't develop it much anymore. So from now only minor and dot releases. [1]: https://github.com/BBasile/Coedit/releases v3.5.2 is already available. Let's say that if 1. you're on linux 2. you tried it once but it didn't start and you had to pkill the process then this release fix this case.