D for Android beta
The beta release of ldc 1.3, the llvm-based D compiler, is now out: https://github.com/joakim-noah/android/releases It is accompanied by a non-trivial sample app from the Android NDK, ported from C++ to about 1.2 klocs of D: the classic Utah Teapot (https://en.wikipedia.org/wiki/Utah_teapot), updated with mobile touch controls. This app also demonstrates calling Java functions from your D code through JNI, though most of it is written in D. There are two builds of ldc, a cross-compiler that you can use from a linux/x64 shell to compile to Android/ARM, and a native compiler that you can run on your Android device itself. As I pointed out last year, not only is ldc a large mixed D/C++ codebase that just worked on ARM, but it is possible to build arbitrarily large Android apps on your Android device itself, a first for any mobile platform: http://forum.dlang.org/thread/ovkhtsdzlfzqrqneo...@forum.dlang.org This is the way the next generation of coders will get into coding, by tinkering with their Android devices like we did with Macs and PCs decades ago, and D is one the few languages that is already there. I will write up instructions on how to write an Android app in D _on_ your Android device by using ldc and the Termux app, and get ldc into the Termux packages, a package repository for Android: https://play.google.com/store/apps/details?id=com.termux=en
Re: D for Android beta
On Friday, 2 June 2017 at 00:00:17 UTC, Laeeth Isharc wrote: On Thursday, 1 June 2017 at 19:31:28 UTC, Joakim wrote: [...] Congratulations, Joakim! https://www.reddit.com/r/programming/comments/6eqv46/write_mixed_dc_android_apps_even_build_them/ and news.ycombinator.com Looking forward to termux. Haha, I lol'ed when I just read this comment: "Ah, D only came into my field of view with the recent support on Android and I assumed it was a recent language designed for Android." https://www.reddit.com/r/programming/comments/6eqv46/comment/dif3sa0 Well, at least we're getting more of these Android people introduced to D.
Re: Life in the Fast Lane (@nogc blog post)
On Friday, 16 June 2017 at 13:51:18 UTC, Mike Parker wrote: I've been meaning to get this done for weeks but have had a severe case of writer's block. The fact that I had no other posts ready to go this week and no time to write anything at all motivated me to make time for it and get it done anyway. My wife didn't complain when I told her I had to abandon our regular bedtime Netflix time block (though she did extract a concession that I have no vote in the next series we watch). Thanks to Vladimir, Guillaume, and Steve, for their great feedback on such short notice. Their assistance kept the blog from going quiet this week. The blog: https://dlang.org/blog/2017/06/16/life-in-the-fast-lane/ Reddit: https://www.reddit.com/r/programming/comments/6hmlfq/life_in_the_fast_lane_using_d_without_the_gc/ Nicely written. I never bothered to look into this GC fine-tuning, as I don't need that level of optimization, but I finally have some idea of how this works.
Re: Life in the Fast Lane (@nogc blog post)
On Friday, 16 June 2017 at 18:26:15 UTC, Joakim wrote: On Friday, 16 June 2017 at 13:51:18 UTC, Mike Parker wrote: I've been meaning to get this done for weeks but have had a severe case of writer's block. The fact that I had no other posts ready to go this week and no time to write anything at all motivated me to make time for it and get it done anyway. My wife didn't complain when I told her I had to abandon our regular bedtime Netflix time block (though she did extract a concession that I have no vote in the next series we watch). Thanks to Vladimir, Guillaume, and Steve, for their great feedback on such short notice. Their assistance kept the blog from going quiet this week. The blog: https://dlang.org/blog/2017/06/16/life-in-the-fast-lane/ Reddit: https://www.reddit.com/r/programming/comments/6hmlfq/life_in_the_fast_lane_using_d_without_the_gc/ Nicely written. I never bothered to look into this GC fine-tuning, as I don't need that level of optimization, but I finally have some idea of how this works. And people have noticed, it's about to hit the top 10 most-liked proggit links of the last 7 days: https://www.reddit.com/r/programming/top/?sort=top=week One typo I forgot to mention earlier, where you wrote "aren't likey."
[OT] adtech prevalence
On Wednesday, 14 June 2017 at 06:55:39 UTC, anonymous wrote: “The best minds of my generation are thinking about how to make people click ads.” - Jeffrey Hammerbacher (Cloudera cofounder) I see this quote repeated a lot, but are they really the best minds if they settle for such a silly goal? One of the tests of the best minds is that they seek, or perhaps just stumble, onto much more worthwhile goals. Rather there are always a lot of talented people that waste their time on the latest gold rush, instead of surveying the field for what's coming down the line. Andrei left Facebook, one of the larget ad companies in the world, to work more on D: I think he made the right move. And no offense to those working more on the tech side of adtech, at Sociomantic or elsewhere, as those systems can be repurposed for something else when the adtech bubble eventually bursts: http://www.businessinsider.com/The-ad-tech-sector-looks-an-awful-lot-like-a-bubble-that-just-popped/articleshow/47249873.cms
Re: D for Android beta
On Thursday, 1 June 2017 at 19:31:28 UTC, Joakim wrote: The beta release of ldc 1.3, the llvm-based D compiler, is now out: https://github.com/joakim-noah/android/releases ---snip--- I will write up instructions on how to write an Android app in D _on_ your Android device by using ldc and the Termux app, and get ldc into the Termux packages, a package repository for Android: https://play.google.com/store/apps/details?id=com.termux=en I've now put up a deb file at the first release link above that you can install in the Termux app, the result of this PR to get ldc into the Termux package repository for Android: https://github.com/termux/termux-packages/pull/1078 Try the deb file out by installing the Termux app, then running the following commands: apt install clang curl curl -L -O https://github.com/joakim-noah/android/releases/download/tea/ldc_1.3.0_arm.deb dpkg -i ldc ldc2 --version Once ldc gets into the Termux package repository, all you'll need to run is "apt install ldc". Finally, try to build your favorite D file: ldc2 sieve.d
Re: D for Android beta
On Sunday, 11 June 2017 at 04:15:13 UTC, Joakim wrote: On Thursday, 1 June 2017 at 19:31:28 UTC, Joakim wrote: [...] ---snip--- [...] I've now put up a deb file at the first release link above that you can install in the Termux app, the result of this PR to get ldc into the Termux package repository for Android: https://github.com/termux/termux-packages/pull/1078 Try the deb file out by installing the Termux app, then running the following commands: apt install clang curl curl -L -O https://github.com/joakim-noah/android/releases/download/tea/ldc_1.3.0_arm.deb dpkg -i ldc ldc2 --version Once ldc gets into the Termux package repository, all you'll need to run is "apt install ldc". Finally, try to build your favorite D file: ldc2 sieve.d Sorry, that should be: dpkg -i ldc_1.3.0_arm.deb
Re: DConf 2017 livestream
On Friday, 5 May 2017 at 01:43:15 UTC, سليمان السهمي (Soulaïman Sahmi) wrote: On Thursday, 4 May 2017 at 09:29:01 UTC, Johannes Pfau wrote: Looks like the youtube video ID changes when the stream is for the late comers, meanwhile the videos are getting ready and posted on youtube, it would be nice to post all those ids here. because it seems only those with a link can access todays recordings, on the channel' page there's only dating videos. If you use either of the Sociomantic live links he gave while the stream is live, that will show it to you. As for the archived stream, yes, you need the youtube video ids to view the pieces of that stream, as those videos are not public. They will be chopped up and made into public videos soon. If you can't wait, those archived stream ids have been posted in the General forum.
Re: DConf 2017 Day 2 Livestream
On Saturday, 6 May 2017 at 09:36:16 UTC, mate wrote: On Friday, 5 May 2017 at 08:06:05 UTC, Mike Parker wrote: https://www.youtube.com/watch?v=_gfwk-zRwmk Unfortunately all these links now give a “This video is unavailable” error. Day 1 https://www.youtube.com/watch?v=MqrJZg6PgnM https://www.youtube.com/watch?v=IqiXMN03968 Day 2 https://www.youtube.com/watch?v=_gfwk-zRwmk Would there be a way to view these talks please? The Sociomantic team has taken down the archived livestreams. They say they will try to get them chopped up and back up by Monday.
Re: Compile-Time Sort in D
On Monday, 5 June 2017 at 14:23:34 UTC, Mike Parker wrote: The crowd-edited (?) blog post exploring some of D's compile-time features is now live. Thanks again to everyone who helped out with it. The blog: https://dlang.org/blog/2017/06/05/compile-time-sort-in-d/ Reddit: https://www.reddit.com/r/programming/comments/6fefdg/compiletime_sort_in_d/ Nice work, the reddit likes keep going up. Nothing new for D users, but by encapsulating CTFE in a bite-sized blog post, you've gotten some outsiders to pay attention. Just read perhaps the most ringing endorsement I've ever seen for D in the comments: "How do you explain that in D complex metaprogramming artifacts such as bitfields, regex engines, compile-time parser generators, checked integers, generic allocators, are readily available from a smaller community, when in C++ you need an article explaining what tricks to use to sort a list of integers at compile time?" https://www.reddit.com/r/programming/comments/6fefdg/comment/dijct48
Re: Eilmer4 - a Computational Fluid Dynamics code in D
On Friday, 6 October 2017 at 23:49:33 UTC, Bastiaan Veelo wrote: On Friday, 6 October 2017 at 22:16:09 UTC, Peter Jacobs wrote: Eilmer is a simulation code for studying high-speed compressible flows. Early versions were written in C and then C++. Version 4 is a complete rewrite in D, with Lua for configuration and run-time scripting. Code and documentation may be found at http://cfcfd.mechmining.uq.edu.au/eilmer/ This note is principally to say thank you to all of the people who have made the D programming language and its ecosystem. Being mechanical engineers, we are occasional but serious programmers. For a number of years, we struggled with C++ and a code base of growing complexity. In 2014, we made a serious commitment to reworking the entire code into D. In mid-2017, the new code was complete enough for general use and it is currently being used in a fourth-year course on computational fluid dynamics. The D programming language has enhanced our programming experience and, for that, we are grateful to the many people who have built the foundation upon which we build our flow simulation code. Cheers, Peter Jacobs and Rowan Gollan Congtatulations on a job well done. Your motivation for use of the D Programming Language is the same as ours. I found your paper describing the rewrite [1] very interesting, I think it deserves a more prominent mention here and on the usual news sites. Bastiaan [1] http://cfcfd.mechmining.uq.edu.au/eilmer/pdfs/T0316-eilmer-dlang-v2.pdf I like how you have setup instructions and docs on your site. Two relevant quotes from the paper: "With the recent maturing of the programming language D as a good alternative to C++ for statically-checked, natively-compiled code, we have taken the opportunity to rebuild our simulation code. The D programming language provides the conveniences of Python, the run-time performance of C++ and the ability to be directly linked to C language libraries. It appears that we can have it all and we can have it now. One good example of where the rebuild has resulted in significant improvements is the viscous-flux calculation code. In the C++ code, about 2500 lines were used, and this had the extra complication of requiring the M4 preprocessor to produce the actual C++ code (of length 5580 lines) that was given to the compiler. The new D language code amounts to 733 lines." "Conclusion We have spent much of a year building a new compressible flow simulation code from scratch, in a relatively new language. So far, our experience with the D programming language has been positive, with a fairly capable simulation code being constructed with a few months of effort by two people. Together with some code redesign, the D programming language has allowed the construction of a code base that is much simpler than its C++ predecessor but is just as fast." Mike, want to stick this on proggit and HN?
Re: D for Android beta
On Wednesday, 30 August 2017 at 07:09:05 UTC, Joakim wrote: On Saturday, 26 August 2017 at 09:59:33 UTC, Joakim wrote: On Thursday, 1 June 2017 at 19:45:17 UTC, Ali Çehreli wrote: [...] I've finally written up full instructions on building D apps for Android by using the linux cross-compiler or native Android compiler I provide: https://wiki.dlang.org/Build_D_for_Android The upcoming ldc 1.4 beta will be the first to include Android cross-compilation support for all supported host platforms, ie Windows, Mac, and linux, as all my Android patches have now been merged. I'll stop putting out my own cross-compiler builds, though I'll maintain the native ldc package in the Termux package repo, once that's accepted. If you want to build full OpenGLES GUI Android apps on your Android device, this wiki page shows you how to do that too. You too can be one of the elite few building mobile apps on your mobile device, and in D! And there is now an ldc package in the Termux Android app, updated the wiki page to show how simple it is to install ldc on your Android device now: https://wiki.dlang.org/Build_D_for_Android#Native_compilation_2 Make sure to tell everyone you know how easy it is to write D on your Android smartphone or tablet now, just like the Go people have been enjoying: https://mobile.twitter.com/mattbostock/status/896923877711814657 The Termux twitter highlights those now happy about using Node, Clojure, or Scala on their Android phone, hopefully D is next: https://mobile.twitter.com/termux Next up, getting D working on 64-bit ARM devices, which I recently got access to. David has been working on it already, hope we can get that done by ldc 1.5: https://github.com/ldc-developers/ldc/issues/2153 rdmd and dub are now bundled with the native ldc package for Termux, so you can easily write small scripts in D on your phone or build and run tools like DScanner from the D package repository at code.dlang.org. For example, here's how you install ldc and run DScanner on your codebase to count how many lines of D code it has, all on your smartphone or tablet: apt install ldc dub fetch dscanner dub run dscanner -- -l your-code/
Re: D for Android beta
On Saturday, 26 August 2017 at 09:59:33 UTC, Joakim wrote: On Thursday, 1 June 2017 at 19:45:17 UTC, Ali Çehreli wrote: Very exciting! :) On 06/01/2017 12:31 PM, Joakim wrote: > I will write up instructions on how to write an Android app in D _on_ > your Android device I hope it will be detailed enough for people who are very new to programming on the Android. Ali I've finally written up full instructions on building D apps for Android by using the linux cross-compiler or native Android compiler I provide: https://wiki.dlang.org/Build_D_for_Android The upcoming ldc 1.4 beta will be the first to include Android cross-compilation support for all supported host platforms, ie Windows, Mac, and linux, as all my Android patches have now been merged. I'll stop putting out my own cross-compiler builds, though I'll maintain the native ldc package in the Termux package repo, once that's accepted. If you want to build full OpenGLES GUI Android apps on your Android device, this wiki page shows you how to do that too. You too can be one of the elite few building mobile apps on your mobile device, and in D! And there is now an ldc package in the Termux Android app, updated the wiki page to show how simple it is to install ldc on your Android device now: https://wiki.dlang.org/Build_D_for_Android#Native_compilation_2 Make sure to tell everyone you know how easy it is to write D on your Android smartphone or tablet now, just like the Go people have been enjoying: https://mobile.twitter.com/mattbostock/status/896923877711814657 The Termux twitter highlights those now happy about using Node, Clojure, or Scala on their Android phone, hopefully D is next: https://mobile.twitter.com/termux Next up, getting D working on 64-bit ARM devices, which I recently got access to. David has been working on it already, hope we can get that done by ldc 1.5: https://github.com/ldc-developers/ldc/issues/2153
Re: From the D Blog: The Evolution of the accessors Library
On Wednesday, 6 September 2017 at 13:32:14 UTC, Mike Parker wrote: Ronny Spiegel from Funkwerk has written an article for the D Blog describing the background of the company's open source accessors library & how it works. accessors can be used to automatically generate property getters & setters. Blog: https://dlang.org/blog/2017/09/06/the-evolution-of-the-accessors-library/ Reddit: https://www.reddit.com/r/programming/comments/6yfm6y/accessors_is_an_open_source_library_for/ Nice post, interesting usage. Some edits: - "That true" -> "That's true" - add two commas: "accessible annotations, similar to UDAs (User-Defined Attributes) were" -> "accessible, annotations, similar to UDAs (User-Defined Attributes), were" - There's no resolution to the Flag type issue: you should say whether you filed a bug, as you did with the issue in the private classes section, or if you were able to work around it.
Re: D for Android beta
On Thursday, 1 June 2017 at 19:45:17 UTC, Ali Çehreli wrote: Very exciting! :) On 06/01/2017 12:31 PM, Joakim wrote: > I will write up instructions on how to write an Android app in D _on_ > your Android device I hope it will be detailed enough for people who are very new to programming on the Android. Ali I've finally written up full instructions on building D apps for Android by using the linux cross-compiler or native Android compiler I provide: https://wiki.dlang.org/Build_D_for_Android The upcoming ldc 1.4 beta will be the first to include Android cross-compilation support for all supported host platforms, ie Windows, Mac, and linux, as all my Android patches have now been merged. I'll stop putting out my own cross-compiler builds, though I'll maintain the native ldc package in the Termux package repo, once that's accepted. If you want to build full OpenGLES GUI Android apps on your Android device, this wiki page shows you how to do that too. You too can be one of the elite few building mobile apps on your mobile device, and in D!
Re: LDC 1.4.0-beta1
On Sunday, 27 August 2017 at 15:45:00 UTC, bitwise wrote: On Saturday, 26 August 2017 at 22:35:11 UTC, kinke wrote: * Shipping with ldc-build-runtime, a small D tool to easily (cross-)compile the runtime libraries yourself. * Full Android support, incl. emulated TLS. Does this mean I can actually build D static libraries, link them into an NDK shared lib, and use it in a phone app that I can submit to Google Play? Yes. Just follow these instructions to generate the standard library for Android/ARM; https://wiki.dlang.org/Building_LDC_runtime_libraries We're still cleaning up loose ends and refining the process though. I forgot that you need to disable building one module when cross-compiling the stdlib, as mentioned here: http://forum.dlang.org/post/jmucnjekkcmiszpag...@forum.dlang.org Then, you can use a variation of these instructions to build D code: https://wiki.dlang.org/Build_D_for_Android The problem is those instructions assume you have a ldc2.conf set up properly, whereas the new ldc 1.4 beta won't do that for you. I'm looking into adding that. Basically, you can do what you asked now, but while all the functionality is there, we're refining the build setup with this ldc beta process. By the final 1.4 release, it should be really easy to cross-compile the stdlib and use it, but we're not quite there yet. If you're adventurous, try it out know and let us know what you think. Otherwise, it will get even simpler soon.
Re: Release D 2.076.0
On Friday, 1 September 2017 at 15:24:57 UTC, Mike Parker wrote: On Friday, 1 September 2017 at 14:03:26 UTC, Martin Nowak wrote: Glad to announce D 2.076.0. Blogged and reddited: https://dlang.org/blog/2017/09/01/dmd-2-076-0-released/ https://www.reddit.com/r/programming/comments/6xf77f/version_20760_of_dmd_the_d_reference_compiler/ Nice writeup of the major features of this release, think it really helps. Typo in blog post - dramtically Also, changelog still lists this as a beta, to be released.
Re: Release D 2.076.0
On Friday, 1 September 2017 at 14:03:26 UTC, Martin Nowak wrote: Glad to announce D 2.076.0. This release comes with static foreach, many -betterC enhancements, various phobos additions, an -mcpu=avx2 switch, and lots of bugfixes. Thanks to everyone involved in this . http://dlang.org/download.html http://dlang.org/changelog/2.076.0.html - -Martin Just downloaded it, the linux version reports as v2.076.0-dirty, probably want to get rid of the "dirty" tag for an official release.
Re: LDC 1.6.0-beta1
On Monday, 13 November 2017 at 02:35:11 UTC, Brian wrote: On Sunday, 12 November 2017 at 15:57:19 UTC, kinke wrote: Hi everyone, on behalf of the LDC team, I'm glad to announce the first beta for LDC 1.6. The highlights of this version in a nutshell: * Based on D 2.076.1. * Experimental support for dynamic codegen at runtime ('manual JIT'). * Many std.math functions are now CTFE-able. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.6.0-beta1 Thanks to all contributors! Fast update, thank you! There is no version for FreeBSD? See my prior response: http://forum.dlang.org/post/ewhlrbimojselcefb...@forum.dlang.org
Re: We're looking for a Software Developer! (D language)
On Wednesday, 29 November 2017 at 10:47:31 UTC, aberba wrote: On Thursday, 8 January 2015 at 11:10:09 UTC, Johanna Burgos wrote: Your Mission Your Track Record Degree in Computer Science, or closely-related It baffles me that recruitment still works using this as a requirement. A CS graduate will never know any of these besides basic intro to C, C++, html, css, databases, and basic hardware-software theory... without self learning and practice. I've never sat in a cs class for a second and I will be bored to death learning these stuff in lectures. I learnt them beyond the syllables years back on my own at a much quicker pase. You become experienced and skilled when you're passionate about it. Its how I started from being curious about how software is made to a full stack generalist... knowing more stack than the above requirements. You want skills not pedigree. Incompetence in hiring and HR is par for the course pretty much everywhere, lots of threads about it on proggit/HN/blogs these days. Take for example the recent sexual harassment scandals in the US, where HR depts did nothing for decades. People rightly complain about much smaller stuff than that not getting done well by HR, so of course they don't handle real malfeasance properly. The biggest joke is that these companies all claim they want the best talent, when they have no idea what the best is in the first place: https://danluu.com/programmer-moneyball/ It is one of the main reasons for the rise of open source, because you can't stop anyone from contributing or forking, assuming they have the extra time/money to do so.
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: DConf 2018 Call for Submissions
On Tuesday, 14 November 2017 at 14:07:51 UTC, Mike Parker wrote: The time to start preparing submissions for DConf 2018 has come! The event is scheduled for May 2-5 in Munich, Germany. As with the 2017 edition, three days of talks are planned, followed by a Hackathon on the last day. Deadline details can be found on the DConf home page [1]. As a bonus, Andrei did a brief interview for the D Blog [2], where he explains how we wound up in Munich this time around and what to expect. [1] https://dconf.org/2018/index.html [2] https://dlang.org/blog/2017/11/14/dconf-2018-assemblage-in-bavaria/ Reddit: https://www.reddit.com/r/programming/comments/7cvsi3/dconf_2018_call_for_submissions_interview_with/ Typo in blog post, procrastanate -> procrastinate.
Re: compile D to asm.js using ldc --betterC and emcc
On Tuesday, 14 November 2017 at 10:01:51 UTC, SrMordred wrote: On Sunday, 8 October 2017 at 09:48:57 UTC, Dukc wrote: On Saturday, 7 October 2017 at 17:31:37 UTC, cosinus wrote: I wrote a little working demo that shows how to use D inside firefox. It uses emscripten(emcc) and ldc. https://github.com/cosinus2/dlang-emscripten-demo Judging by looking at that build script, sure that's simpler than what I read you had to do some time back! You had to switch to some legacy llvm and compile the indermediate first to C and only then to Asm.js. This looks like powerful enough for normal use. You still miss DRuntime but a lot better than using C to do the same. Perhaps even better than Typescript in some cases? Can someone explain the reasons why LDC can't compiles to webasm with the DRuntime? Nobody has done the work to port it, though someone has expressed interest and opened an issue for it: https://github.com/ldc-developers/ldc/issues/2144 Regarding porting druntime, I'm told by some here that there are some issues with the GC and thread-local storage because of the particular wasm instruction set, but I've never looked into it.
Re: Release D 2.077.0
On Friday, 3 November 2017 at 10:02:18 UTC, Mike Parker wrote: On Friday, 3 November 2017 at 09:33:31 UTC, Walter Bright wrote: On 11/3/2017 2:28 AM, Daniel Kozak wrote: How should I compile my program to enable array vectorization? dmd doesn't do what is known as "auto-vectorization". https://en.wikipedia.org/wiki/Automatic_vectorization What D does is have vector data types, and when those are used vector instructions are generated for them. https://dlang.org/spec/simd.html For clarity, where the changeling says that GDC & LDC use auto-vectorization, that's actually happening with the array operations and core.simd is not required, correct? Yes, at least with ldc.
Re: Release D 2.077.0
On Friday, 3 November 2017 at 10:07:25 UTC, Mike Parker wrote: On Friday, 3 November 2017 at 10:02:18 UTC, Mike Parker wrote: [...] OK, I'm a bit confused here. This gives the impression that the vectorization happens automatically with array operations: "Array operations have been converted from dedicated assembly routines for some array operations to a generic template implementation for all array operations. This provides huge performance increases (2-4x higher throughput) for array operations that were not previously vectorized. Furthermore the implementation makes better use of vectorization even for short arrays to heavily reduce latency for some operations (up to 4x)." Where does core.simd fit in? See the linked druntime pull, core.simd is only imported for dmd: https://github.com/dlang/druntime/pull/1891/files#diff-c17bbc97c8719ab709a4a54e2f6924ceR67
Re: Release D 2.077.0
On Friday, 3 November 2017 at 13:47:55 UTC, Mike Parker wrote: On Thursday, 2 November 2017 at 22:35:03 UTC, Martin Nowak wrote: Glad to announce D 2.077.0. This release comes with a new, more compact mangling, templated vector operations, reproducible dmd builds, and various fixes. Thanks to everyone involved in this . http://downloads.dlang.org/releases/2.x/2.077.0/ http://dlang.org/changelog/2.077.0.html The dlang.org website will get updated soon. -Martin Blog: https://dlang.org/blog/2017/11/03/dmd-2-077-0-released/ Reddit: https://www.reddit.com/r/programming/comments/7ajg71/dmd_20770_released/ Typo: particulary "case so that," -> "case, so that" (I'd also remove the comma after that)
Re: The latest Terrarium TV 1.8.1 has been updated.
On Wednesday, 8 November 2017 at 10:36:46 UTC, codephantom wrote: On Wednesday, 8 November 2017 at 09:40:01 UTC, Theresa Henson wrote: The update is compatible with the latest Android OS as well as all others over Android 4.0 sounds great! thanks! what is it? It's spam, don't respond to it, as the mods apparently can't delete it then.
Re: LDC 1.5.0
On Saturday, 4 November 2017 at 02:43:35 UTC, codephantom wrote: On Friday, 3 November 2017 at 17:17:04 UTC, kinke wrote: Hi everyone, on behalf of the LDC team, I'm glad to finally officially announce LDC 1.5. The highlights of this version in a nutshell: Great stuff. No binary release for FreeBSD though?? :-( There were some in the recent past, last done for the 1.2 release and 1.3 beta1: https://github.com/ldc-developers/ldc/releases Unfortunately, almost nobody was downloading them: http://www.somsubhra.com/github-release-stats/?username=ldc-developers=ldc Maybe FreeBSD users prefer using the package from ports, though it hasn't kept up: https://www.freshports.org/lang/ldc/ It is fairly easy to compile ldc yourself: https://wiki.dlang.org/Building_LDC_from_source
Re: LDC 1.5.0
On Saturday, 4 November 2017 at 08:44:12 UTC, codephantom wrote: On Saturday, 4 November 2017 at 08:40:19 UTC, Joakim wrote: It is fairly easy to compile ldc yourself: https://wiki.dlang.org/Building_LDC_from_source Have you tried those instructions on 'FreeBSD'? Not those instructions maybe, but I wrote the first ports script for FreeBSD back in 2010, so I have built ldc there: https://www.freshports.org/lang/ldc-devel Have you ever had to deal with pkg conflicts in FreeBSD? I have ;-( Can't say that ever really hit me, not sure how it's relevant to building ldc either.
Re: Interfacing D with C: Getting Started
On Tuesday, 5 December 2017 at 16:06:19 UTC, Mike Parker wrote: This is the first post in a new tutorial series I'm doing on the blog. I've covered this topic elsewhere, so for most of the basics I just link to existing material. The purpose of this series is to delve into some of the trouble spots that arise from the differences between the two languages. In this post, I go through a brief tutorial to make sure that all readers at least know how to compile a C source module to an object file and link it with a D executable, then give them an opportunity to try it out by showing the potential problem with long/ulong and C. The blog: https://dlang.org/blog/2017/12/05/interfacing-d-with-c-getting-started/ Reddit: https://www.reddit.com/r/programming/comments/7hqk8b/interfacing_d_with_c_getting_started/ Typo: substitue I think you should change the "long" explanation to "However, in C, they are 4 bytes" as it may not be clear to some that you're now talking about C.
Re: Dconf live stream for Shachar's talk
On Saturday, 5 May 2018 at 07:59:48 UTC, Steven Schveighoffer wrote: On 5/5/18 9:56 AM, Steven Schveighoffer wrote: Hi all, We are live streaming Shachar's talk this morning at https://www.youtube.com/watch?v=xNWRgEHxOhc Ali is uploading the slides to dconf.org so you can follow along. Cheers! I will note that we don't have the normal A/V crew from the other days, so this is being done via a laptop camera. So you will probably need to download the slides. -Steve Thanks, watching it now. :)
Re: Announcing Mecca
On Saturday, 5 May 2018 at 10:43:53 UTC, Mengu wrote: On Friday, 4 May 2018 at 05:23:51 UTC, Shachar Shemesh wrote: Hello everybody, I am very happy to announce that Mecca version 0.0.1 (sorry, no more zeros than that) is now officially available. You can get the source code at https://github.com/weka-io/mecca. The API documentation is at https://weka-io.github.com/mecca/docs. [...] why the name mecca? Liran said in his closing keynote that they use a lot of internal codenames that rhyme with Weka.
Re: LDC 1.10.0 beta
On Monday, 14 May 2018 at 18:31:13 UTC, Jacob Carlborg wrote: On 2018-05-13 20:12, kinke wrote: Hi everyone, on behalf of the LDC team, I'm glad to announce the first beta for LDC 1.10. The highlights of this version in a nutshell: * Based on D 2.080.0. * Supports DragonFly BSD. * Some fixes, most notably wrt. exception stack traces on Linux. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.10.0-beta1 Thanks to all contributors! Out of curiosity, how come the Objective-C integration seem to always lack behind when LDC merges a new DMD release with some new Objective-C integration? Is it less prioritized, not so much knowledge in this area, something else? In addition to what David said, the plan is to have longer beta periods for ldc from here on out, which is why this ldc beta was released so soon after the corresponding dmd release, two weeks, a new record. You're free to test it out and submit issues or pulls before the final ldc release, as I do for Android.
Re: iopipe v0.0.4 - RingBuffers!
On Friday, 11 May 2018 at 16:07:26 UTC, Steven Schveighoffer wrote: On 5/11/18 11:44 AM, Steven Schveighoffer wrote: On 5/10/18 7:22 PM, Steven Schveighoffer wrote: [...] Shameful note: Macos grep is BSD grep, and is not NEARLY as fast as GNU grep, which has much better performance (and is 2x as fast as iopipe_search on my Linux VM, even when printing line numbers). So at least there is something to strive for :) More testing reveals that as I increase the context lines to print, iopipe performs better than GNU grep. A shocking thing is that at 9 lines of context, grep goes up slightly, but all of a sudden at 10 lines of context, it doubles in the time taken (and is now slower than the iopipe_search). Also noting: my Linux VM does not have ldc, so these are dmd numbers. -Steve What stops you from downloading a linux release from here? https://github.com/ldc-developers/ldc/releases
Re: GitHub could be acquired by Microsoft
On Monday, 4 June 2018 at 20:00:45 UTC, Maksim Fomin wrote: On Monday, 4 June 2018 at 19:26:23 UTC, Joakim wrote: On Monday, 4 June 2018 at 19:06:52 UTC, Maksim Fomin wrote: Unlikely, you don't spend $7.5 billion on a company because you want to send a message that you're a good dev tools company, then neglect it. You have no idea about how big corporations' management spends money. As with Nokia and Skype - I don't know whether it was initially a plan to destroy products or management was just silly. I suggest you look at their online slides linked from the Nadella blog post to see their stated plan, such as integrating github into VS Code more: http://aka.ms/ms06042018 and likely vastly overpaid for an unprofitable company in the first place :) this is exactly how such deals are done - paying $7.5 bl. for nonprofitable company. Unfortunately, their books are unavailable because they are private company, but scarce information in the web suggests that in most of their years they have losses. Just as rough estimate: to support $7.5 bl valuation Microsoft must turn -$30 ml. net loss company into business generating around $750 ml. for many years. There is no way to get these money from the market. Alternatively, the project can have payoff if something is broken and Microsoft cash flows increase by $750 ml. This is more likely... but they emphasize that they intend to keep github open and independent. They can claim anything which suits best their interests right now. Or, as alternative, github can be broken in a such way, that their promises on surface are kept. Business is badly compatible with opensource by design. I just finished reading this interesting article by a former Microsoft business guy, which makes the same point I did, that MS is unlikely to neglect github or otherwise force it in some direction to leverage it: https://stratechery.com/2018/the-cost-of-developers/ You're right that MS has had many acquisitions go badly already, such as Nokia and Skype (though I'd argue both were long-term doomed before they were bought), but, as always, incompetence is the much more likely reason than malice.
Re: GitHub could be acquired by Microsoft
On Thursday, 7 June 2018 at 19:02:31 UTC, Russel Winder wrote: On Thu, 2018-06-07 at 10:17 -0700, H. S. Teoh via Digitalmars-d-announce wrote: […] Exactly!!! Git was built precisely for decentralized, distributed development. Anyone should be (and is, if they bothered to put just a tiny amount of effort into it) able to set up a git server and send the URL to prospective collaborators. Anyone is free to clone the git repo and redistribute that clone to anyone else. Anyone can create new commits in a local clone and send the URL to another collaborator who can pull the commits. It should never have become the tool to build walled gardens that inhibit this free sharing of code. I think there is an interesting tension between using a DVCS as a DVCS and no central resource, and thus no mainline version, and using a DVCS in combination with a central resource. In the latter category the central resource may just be the repository acting as the mainline, or, as with GitHub, GitLab, Launchpad, the central resource provides sharing and reviewing support. Very few organisations, except perhaps those that use Fossil, actually use DVCS as a DVCS. Everyone seems to want a public mainline version: the repository that represents the official state of the project. It seems the world is not capable of working with a DVCS system that does not even support "eventually consistent". Perhaps because of lack of trying or perhaps because the idea of the mainline version of a project is important to projects. Well, as Jonathan says, you have to release a build eventually, and you need a mainline version that you know has all the needed commits to release from. If you have multiple people all releasing their own builds with each build getting a roughly equivalent number of downloads, then a mainline version may not be needed, but I know of no large project like that. In the past Gnome, Debian, GStreamer, and many others have had a central mainline Git repository and everything was handled as DVCS, with emailed patches. They tended not to support using remotes and merges via that route, not entirely sure why. GitHub and GitLab supported forking, issues, pull requests, and CI. So many people have found this useful. Not just for having ready made CI on PRs, but because there was a central place that lots of projects were at, there was lots of serendipitous contribution. Gnome, Debian, and GStreamer are moving to private GitLab instances. It seems the use of a bare Git repository is not as appealing to these projects as having the support of a centralised system. Nobody uses a DVCS alone, even the linux kernel guys have mailing lists and other software they use to coordinate with around git. I think that whilst there are many technical reasons for having an element of process support at the mainline location favouring the GitHubs and GitLabs of this Gitty world, a lot of it is about the people and the social system: there is a sense of belonging, a sense of accessibility, and being able to contribute more easily. There is some of that, but you could reproduce all of that in a technically decentralized manner. One of the aspects of the total DVCS is that it can exclude, it is in itself a walled garden, you have to be in the clique to even know the activity is happening. Right now, yes, mailing lists and bugzilla can be forbidding to the noob, compared to just signing up on github and getting everything at one go. But as Basile's link above points out, there are tools like git-ssb that try decentralize all that: http://git-ssb.celehner.com/%25RPKzL382v2fAia5HuDNHD5kkFdlP7bGvXQApSXqOBwc%3D.sha256 All of this is not just technical, it is socio-technical. It is all ultimately technical, but yes, social elements come into play. One big thing that web software like github or trac helps with is reviewing pulls to the main repo. I'm not about to add dozens of remotes to my local repo to review pulls from all the contributors to dmd/druntime/phobos, the github pull review workflow is much easier than the git command-line equivalent. However, it wouldn't be that hard to decentralize most of what github provides by coming up with a standard format to store issues and other discussion in a git repo, as I'm guessing git-ssb does. The only aspect that might present difficulty is that you may not get as nice a web viewer as github provided, as the built-in gitweb is not very good compared to github's web UI. In that way, while many are complaining about using github, the OSS community doing so for all these years may have been optimal, in that as long as a money-losing company was willing to do that work for you for years, why not use it? Where was all that money being lost after all, if not on providing features to users who weren't paying enough to sustain it? Then, once you know whether github's business model works or not, apparently
Re: DasBetterC: Converting make.c to D
On Monday, 11 June 2018 at 14:21:20 UTC, Mike Parker wrote: Walter's latest post on -betterC is now on the blog. Here, he shows step-by-step an example of using -betterC to convert a real-world program, one small enough to describe in a blog post, from C to D. The blog: https://dlang.org/blog/2018/06/11/dasbetterc-converting-make-c-to-d/ Reddit: https://www.reddit.com/r/programming/comments/8q9u5t/dasbetterc_converting_makec_to_d/ The example for replacing grouping together multiple pointer declarations has some raw HTML leaked into it, at least for me in Chrome.
[OT]: companies
On Thursday, 14 June 2018 at 20:59:06 UTC, Jonathan M Davis wrote: On Thursday, June 14, 2018 16:04:32 Nick Sabalausky via Digitalmars-d- announce wrote: On 06/14/2018 05:01 AM, AnotherTorUser wrote: > If all such people stopped working for such companies, what > do you think the economic impact would be? What do you think is the social impact if they don't? And don't even try to pretend the companies can't trivially solve the "economic" issues for themselves in an instant by knocking off the behaviour that causes loss of talent. But that would imply that they have a frontal lobe. :) In all seriousness, it is surprising how frequently companies seem to be incapable of making decisions that would fix a lot of their problems, and they seem to be incredibly prone to thinking about things in a shortsighted manner. I'm reminded of an article by Joel Spoelskey where he talks about how one of the key things that a source control software solution can do to make it more likely for folks to be willing to try it is to make it easy to get your source code and history back out again and into another source control system. However, companies typically freak out at the idea of making it easy to switch from their product to another product. They're quite willing to make it easy to switch _to_ their product so that they can start making money off of you, but the idea that making it low cost to leave could actually improve the odds of someone trying their product - and thus increase their profits - seems to be beyond them. Another case which is closer to the exact topic at hand is that many companies seem to forget how much it costs to hire someone when they consider what they should do to make it so that their employees are willing - or even eager - to stay. Spending more money on current employees (be that on salary or something else to make the workplace desirable) or avoiding practices that tick employees off so that they leave can often save money in the long run, but companies frequently ignore that fact. They're usually more interested in saving on the bottom line right now than making decisions that save money over time. So, while I completely agree that companies can technically make decisions that solve some of their problems with things like retaining talent, it seems like it's frequently the case that they're simply incapable of doing it in practice - though YMMV; some companies are better about it than others. This was an interesting read on that topic, which I've linked on this forum before, where an engineer points out that companies would be better off not chasing "rockstars" with hot keywords on their resumes but improving their training, processes, and culture so that even average programmers can be productive, including mentioning using source control and the Joel test that you just referenced: https://danluu.com/programmer-moneyball/ Of course, the reason companies mostly don't do it is they're prone to the same cognitive failings as anybody else: it's easier to chase a quick fix than doing the hard work of putting in a system like this.
Re: D only has Advantages
On Friday, 15 June 2018 at 04:19:22 UTC, Tony wrote: On Friday, 15 June 2018 at 02:17:26 UTC, Adam D. Ruppe wrote: On Friday, 15 June 2018 at 02:02:52 UTC, Tony wrote: Have their been other languages - besides D - that compiled to object code and used a garbage collector? You can use a GC with C++ and you can compile Java to native code ahead of time. The distinctions aren't really that sharp, it just depends on how you use it. After I posted I wanted to edit it to add "disregarding JIT in conjunction with a VM like JVM or .NET". Have there been any C++ compilers that used a garbage collector? What I was getting at was, if someone says "I've got a systems level project I want to play around with, however GC is not a deal breaker for me. ", it seems like they are making an implied reference to D as I assume "systems level" means "compile to object code and link with linker to executable". Search this forum or HN for Paulo and Oberon, you'll find plenty of posts like this, where he lists all of them: :) https://forum.dlang.org/post/mioycakymbdpzryme...@forum.dlang.org
Re: Encouraging preliminary results implementing memcpy in D
On Thursday, 14 June 2018 at 02:32:51 UTC, errExit wrote: On Wednesday, 13 June 2018 at 17:04:11 UTC, Ali Çehreli wrote: I am part of the D community. I haven't discriminated against anyone. I don't know what a Tor user is. I've just searched: So Tor is an old idea of mine, implemented. :o) Ali Tor is our last line of defence against an Orson Wells future, where everyones actions are scrutinized by big brother, so that big brother can use that knowledge to put fear into, control and manipulate, those that don't conform. assert("bad tor user" != "all tor users are bad"); (actually there are more bad non-tor users) Unfortunately, it's becoming increasingly, the norm, to discriminate against tor users (no doubt those doing that discrimination are those that are happy to conform, of which there will be many, sadly). https://people.torproject.org/~lunar/20160331-CloudFlare_Fact_Sheet.pdf Tor is merely one tool used to route around those building centralized systems on top of the internet. The real solution is that as more and more decentralized tech does well, like git or cryptocurrencies, to get rid of these obsolete centralized systems altogether.
Re: DConf 2018 Ex Post Facto
On Thursday, 31 May 2018 at 15:49:47 UTC, Ali Çehreli wrote: Only the Vang's picture shows for me. All the others show the "no entry" icon with both Firefox and Chrome. Permissions issue? Yep, same here.
Re: GitHub could be acquired by Microsoft
On Monday, 4 June 2018 at 03:51:15 UTC, Anton Fediushin wrote: This is still just a rumour, we'll know the truth on Monday (which is today). Some articles about the topic: https://fossbytes.com/microsoft-github-aquisition-report/ https://www.theverge.com/2018/6/3/17422752/microsoft-github-acquisition-rumors What's your opinion about that? Will you continue using GitHub? Both GitLab and Bitbucket can be used instead to host your D projects - dub registry supported them for a while now. IMHO Microsoft isn't the type of company I want to see behind the GitHub. Maybe I am wrong since Microsoft has both money and programmers to improve it further, I just don't trust them too much which is the right thing to do when dealing with companies. This means that I will move my repositories elsewhere and use GitHub just to contribute to other projects. Looks like a done deal, will be announced tomorrow: https://www.bloomberg.com/news/articles/2018-06-03/microsoft-is-said-to-have-agreed-to-acquire-coding-site-github It all depends on how much support they pour into github, but I agree it's not a good sign.
Re: GitHub could be acquired by Microsoft
On Monday, 4 June 2018 at 19:06:52 UTC, Maksim Fomin wrote: On Monday, 4 June 2018 at 08:42:08 UTC, Walter Bright wrote: On 6/3/2018 8:51 PM, Anton Fediushin wrote: This is still just a rumour, we'll know the truth on Monday (which is today). We'll stay on Github as long as it continues to serve our interests, which it has done very well, and I have no reason to believe will change. We have a number of ties to Microsoft: 1. It's just down the street. 2. Many D users work at Microsoft. 3. Microsoft has always been helpful and supportive of Digital Mars, note the files licensed from Microsoft in the distribution. 4. Microsoft has invited myself and Andrei to speak at Microsoft from time to time. 5. Microsoft hosts the nwcpp.org meetings, which provide a venue for me to try out D presentations to a friendly crowd. 6. Microsoft has been generous with helping me solve some vexing compatibility problems from time to time. OK, so Digital Mars is in good relationship with Microsoft (I am surprised because have never heard about it). However, judging by Microsoft acqusition experience my prediction is that github will slowly but surely degradate (as suggested on some forums, everything will be firstly switched to Microsoft account - to track data, then everything will be mangled by ads, then some features deemed unnecessary by Microsoft will be removed, then linux will be badly supoorted, then some features incompatible with Microsoft services will stop working, then servers will start work poorly like skype...). P.S. My second reaction after reading news (after shock) was to visit D forum. Unlikely, you don't spend $7.5 billion on a company because you want to send a message that you're a good dev tools company, then neglect it. I suggest you look at their online slides linked from the Nadella blog post to see their stated plan, such as integrating github into VS Code more: http://aka.ms/ms06042018 Of course, this is Microsoft: they probably won't execute that plan well, and likely vastly overpaid for an unprofitable company in the first place, but they emphasize that they intend to keep github open and independent.
Re: SecureD moving to GitLab
On Tuesday, 5 June 2018 at 06:45:48 UTC, Adam Wilson wrote: Hello Fellow D'ers, As some of you know I work for Microsoft. And as a result of the recent acquisition of GitHub by Microsoft, I have decided, out of an abundance of caution, to move all of my projects that currently reside on GitHub to GitLab. [...] This reads like a joke, why would it matter if you contributed to open source projects on an open platform that your employer runs?
Re: Driving Continuous Improvement in D
On Monday, 4 June 2018 at 15:52:24 UTC, Steven Schveighoffer wrote: On 6/2/18 3:23 AM, Mike Parker wrote: [...] I like the article, but was taken aback a bit by this quote: "for example, a PR to fix a bug in a specific piece of code mustn’t also edit the documentation of that function." [...] I think he was talking about _unrelated_ doc changes.
Re: GitHub could be acquired by Microsoft
On Monday, 4 June 2018 at 09:47:58 UTC, Anton Fediushin wrote: Oh look, rumours are confirmed: https://itsfoss.com/microsoft-github/ MS bought GitHub for $5 billion. It's official, Nat Friedman, formerly of Xamarin, is the new CEO: https://blog.github.com/2018-06-04-github-microsoft/ MS is basically selling a story to Wall Street, "Everything new we tried since Windows and Office has failed abysmally, so we've learned our lesson and will be the business software company from now on," hence buying LinkedIn, pushing Azure, and now buying Github. I don't expect this new management direction to go any better.
Re: I have a plan.. I really DO
On Friday, 29 June 2018 at 22:54:34 UTC, bachmeier wrote: On Friday, 29 June 2018 at 07:03:52 UTC, Dmitry Olshansky wrote: P.S. I mean what you think the future of native code is??? Rust? Crystal?? Nim??? The future of native code will be replacing scripting languages. D is really good at that task. This will never happen, doesn't matter how good D is at it, they will always be better because they sacrifice performance for ease of use. The future of native code will not be one language. I don't know why the discussion always turns to that, because it goes against the steady increase in the number of good languages that are available. Different folks have different preferences, many of us use multiple languages, and our preferences change over our lifetimes. These days language interoperability is getting so good that "choosing a language" is becoming obsolete. If we keep reducing the obstacles to using D, the number of users will continue to grow. Yep, agreed. WRT donating money, isn't it natural to explain what will be done with the money? There's been some movement in the direction of transparency. I'll only say there's more to be done in that area and leave it at that. Let me echo this: transparency has historically been a big problem for D. AFAIK, nobody in the broader community was ever told that the D foundation money would be used to fund a bunch of Romanian interns, it just happened. In the end, it appears to have worked out great, but why would anybody donate without being given transparency on where the money was going in the first place, when it could have ended badly? I understand Andrei had connections with that Romanian university, but some donor might have had connections with a Brazilian or Chinese university that might have worked out even better. We'll never explore such connections and alternatives without transparency. The current move to fund some IDE work with Opencollective is better in that regard, but with no concrete details on what it entails, not significantly better: https://forum.dlang.org/post/pxwxhhbuburvddnha...@forum.dlang.org Anyway, I don't use such IDEs, so not a reason for me to donate anyway. Honestly, Dmitry's posts starting this thread are incoherent, I'm not sure what he was trying to say. If he feels D users should be donating much more, he and others need to make clear how that money will be spent.
Re: I have a plan.. I really DO
On Sunday, 1 July 2018 at 15:40:20 UTC, Ecstatic Coder wrote: On Sunday, 1 July 2018 at 14:01:11 UTC, Jonathan M Davis wrote: On Sunday, July 01, 2018 13:37:32 Ecstatic Coder via Digitalmars-d-announce wrote: On Sunday, 1 July 2018 at 12:43:53 UTC, Johannes Loher wrote: > Am 01.07.2018 um 14:12 schrieb Ecstatic Coder: >> Add a 10-liner "Hello World" web server example on the >> main page and that's it. > > There already is one in the examples: > > #!/usr/bin/env dub > /+ dub.sdl: > name "hello_vibed" > dependency "vibe-d" version="~>0.8.0" > +/ > void main() > { > > import vibe.d; > listenHTTP(":8080", (req, res) { > > res.writeBody("Hello, World: " ~ req.path); > > }); > runApplication(); > > } Yeah I know, guess who asked for it... But the last step, which is including such functionality into the standard library , will never happen, because nobody here seems to see the point of doing this. I guess those who made that for Go and Crystal probably did it wrong. What a mistake they did, and they don't even know they make a mistake, silly them... ;) What should and shouldn't go in the standard library for a language is something that's up for a lot of debate and is likely to often be a point of contention. There is no clear right or wrong here. Languages that have had very sparse standard libraries have done quite well, and languages that have had kitchen sink libraries have done quite well. There are pros and cons to both approaches. - Jonathan M Davis I agree. But here I'm just talking of the "public image" of the language. Languages which integrates HTTP-related components in their standard library, and advertize on that (like Crystal for instance), obviously apply a different "marketing" strategy than languages which have chosen not to do so. That's all I say... Two points: - Andrei pushed to include vibe.d but it didn't happen. "There's no web services framework (by this time many folks know of D, but of those a shockingly small fraction has even heard of vibe.d). I have strongly argued with Sönke to bundle vibe.d with dmd over one year ago, and also in this forum. There wasn't enough interest." https://forum.dlang.org/post/nipb14$ldb$1...@digitalmars.com - As you acknowledge, integration has drawbacks too. I thought this was an interesting recent article about how it has now hobbled one of the biggest tech companies in the world: https://stratechery.com/2018/intel-and-the-danger-of-integration/ I don't think the web matters enough these days that it is worth bundling, which is why a webassembly port is also not worth it for most: https://www.mobiloud.com/blog/mobile-apps-vs-the-mobile-web/
Re: LDC 1.10.0
On Wednesday, 20 June 2018 at 09:11:32 UTC, Russel Winder wrote: Great to see LDC being as up to date with DMD as possible quickly. Sadly due to a Phobos bug, I need D 2.081.0 :-( It is very easy to build ldc from source, I do it all the time, even on my Android tablet or smartphone: https://wiki.dlang.org/Building_LDC_from_source If you're waiting on a Phobos fix, you can always backport it to LDC 1.10 and build it yourself. You can also try out the WIP pull for the next release, available on its own branch, particularly if you're on linux where it's mostly working: https://github.com/ldc-developers/ldc/pull/2752
Re: LDC 1.10.0
On Tuesday, 19 June 2018 at 22:10:38 UTC, kinke wrote: Hi everyone, on behalf of the LDC team, I'm glad to announce LDC 1.10. The highlights of this version in a nutshell: * Based on D 2.080.1. * Win64: Breaking ABI change by passing vectors efficiently in registers. * Config file extensions for cross-compilation. * Support for DragonFly BSD. * Various fixes, most notably wrt. exception stack traces on Linux. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.10.0 Thanks to all contributors! Nice work, LDC has caught up to the latest DMD version, and that's with the much faster DMD release cycle since last year, good to see.
Re: I have a plan.. I really DO
On Saturday, 30 June 2018 at 07:28:24 UTC, Ecstatic Coder wrote: On Saturday, 30 June 2018 at 07:11:18 UTC, Joakim wrote: On Saturday, 30 June 2018 at 06:52:01 UTC, Ecstatic Coder wrote: [...] I'd hope a manager would look at actually meaningful stats like downloads, rather than just fluffy stats such as "likes": http://www.somsubhra.com/github-release-stats/?username=crystal-lang=crystal http://www.somsubhra.com/github-release-stats/?username=ldc-developers=ldc I see around 9k total downloads of the various Crystal 0.24 and 0.25 versions over the last 8 months, compared to 14k downloads of the ldc 1.9 compiler alone from two months ago. Of course, all these stats can be gamed, but I think it'd be hard to argue Crystal is more popular. Obviously you haven't read my post. No problem, I'll repeat it. I said that Crystal is probably gaining popularity FASTER than D. I've never said that Crystal is more used than D. FYI, D is in the top 50 at the TIOBE index, while Crystal is only in the top 100. Of course, you will tell me that these rankings are numbers, and that a higher number means nothing. Right ? I'll tell you that all data should be carefully vetted before using it to draw conclusions. For example, I just checked and the ldc data includes a download for every CI run, which skews it upwards, but I doubt enough to change my conclusion above: https://github.com/ldc-developers/ldc/blob/master/.circleci/config.yml#L62
Re: I have a plan.. I really DO
On Saturday, 30 June 2018 at 06:52:01 UTC, Ecstatic Coder wrote: On Friday, 29 June 2018 at 22:59:25 UTC, bachmeier wrote: On Friday, 29 June 2018 at 20:13:07 UTC, Ecstatic Coder wrote: Have a look at Crystal's Github project, you will see that Crystal, still in development and quite far from its 1.0 mile version (= despite no parallism and windows support, etc) ALREADY has 11206 stars, 881 forks and 292 contributors : https://github.com/crystal-lang/crystal Not bad for a language in its 0.25 version and first released in June 2014 (4 years), especially compared to D in its 2.0 version and first released in December 2001 (16 years), whose official compiler has 1806 stars, 452 forks and 168 contributors : https://github.com/dlang/dmd If those numbers means anything, I think its that Crystal is probably getting popularity much quicker than D, and honestly, after having tried it, I think it's really deserved, even if I agree that there are still many things that remain to be implemented before it's really ready for an official "production-ready" 1.0 release. Do you by chance work as a manager? Managers like comparisons that involve one number, with a higher number being better. I don't know what can be learned about D from that comparison and I don't think anyone else does either. That's your opinion. First, most managers don't become manager by chance, but because of their skills. Like being able to take the right decisions, based on facts, not on personal preferences. For instance, if a good manager sees that the github project of a 4 years old compiler has been liked by 11206 persons, and the github project of a 16 years old compiler has been liked by 1806 persons, I think he could probably think that MUCH more people are interested in the development of the first github project than in the second. I'd hope a manager would look at actually meaningful stats like downloads, rather than just fluffy stats such as "likes": http://www.somsubhra.com/github-release-stats/?username=crystal-lang=crystal http://www.somsubhra.com/github-release-stats/?username=ldc-developers=ldc I see around 9k total downloads of the various Crystal 0.24 and 0.25 versions over the last 8 months, compared to 14k downloads of the ldc 1.9 compiler alone from two months ago. Of course, all these stats can be gamed, but I think it'd be hard to argue Crystal is more popular.
Re: DConf 2018 Livestream
On Wednesday, 2 May 2018 at 07:13:21 UTC, Mike Parker wrote: For those of you unable to join us in Munich, you can watch the fun online via the following link: https://www.youtube.com/user/hlmceventsgmbh If you have any questions for the speakers, we'll have someone monitoring the D IRC and Slack. I'll have more info on which Slack channel shortly. Please try using https://www.live-ask.com/ for questions, after announcing it's being used for questions at the conference, as it is a vibe.d app. :)
Re: Release D 2.080.0
On Wednesday, 2 May 2018 at 00:00:46 UTC, Martin Nowak wrote: 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 Nice work, getting this out on time before DConf. :)
Re: LDC 1.9.0 beta
On Thursday, 26 April 2018 at 05:34:51 UTC, meppl wrote: On Tuesday, 24 April 2018 at 15:53:23 UTC, Joakim wrote: On Monday, 23 April 2018 at 09:18:07 UTC, Suliman wrote: What about Webassembly support? Latest LLVM suppport it, so LDC should support also. We don't support a lot of platforms that llvm supports. It will require someone to work on the port, which hasn't happened. I've said before that I don't think it's worth it, because the web has been declining as a platform: https://forum.dlang.org/post/unqvdzopebfksnxwh...@forum.dlang.org I stumbled over this: http://blog.qt.io/blog/2018/04/23/beta-qt-webassembly-technology-preview/ https://sdtimes.com/webdev/mozillas-webassembly-studio-enters-beta/ I dont want to argue, just throwing that in ;) I don't know how those links are relevant. Yes, some projects are supporting WebAssembly, but that doesn't mean the web hasn't been declining, so this port likely isn't worth the effort. Nobody is stopping anyone from doing the port though: ldc has some support for even more niche platforms like linux/PowerPC, simply because Kai wanted to do it. I'm just warning people who haven't seen those linked numbers that it likely isn't worth it.
Re: DConf 2018 Munich Registration is Open!
On Sunday, 29 April 2018 at 15:34:49 UTC, Bastiaan Veelo wrote: On Monday, 19 March 2018 at 13:34:36 UTC, Mike Parker wrote: ... Visit dconf.org to see the programme[1] and register[2], then head over to the D Blog[3] for the latest post on DConf. See you in Munich May 2-5! [1] http://dconf.org/2018/schedule/index.html [2] http://dconf.org/2018/registration.html [3] http://dlang.org/blog/2018/03/19/dconf-2018-programme-open-registration/ I’m looking forward to following DConf this week remotely, the next best thing to being there in person! I wish all presenters good luck and that the conference be fruitful to it’s attendees and dlang as a whole. My best greetings to all that I met last year and I hope to see you at a future conference! Bastiaan. Speaking of which, any word on streaming this year? I hope we'll be using https://www.live-ask.com/ to collect questions from the audience. ;)
Re: DConf 2018 Livestream
On Thursday, 3 May 2018 at 11:53:02 UTC, Juan wrote: On Thursday, 3 May 2018 at 05:46:45 UTC, Bastiaan Veelo wrote: As I understand it, they were not recording but relying on YouTube to save the stream. For whatever reason, that didn’t work out. They wrote that they would be trying to recover the stream but it might well be lost. I think you should talk to them and explain what an asset these recordings are to dlang, and that we cannot let them be jeopardised by WiFi outages. +1. I was expecting to watch Walter's presentation, and now I would say this is a big failure for them. Come on, this not a new event! In this day and age with all the cameras around us, if they really lost any content they should stop doing this. Sorry if I'm too harsh, but this is totally unacceptable. Don't worry, you didn't miss much. You're better off just reading his blog post, as Walter keeps his keynotes light on tech: https://dlang.org/blog/2017/08/23/d-as-a-better-c/ While the post covers slightly different material, it gives the idea. On Thursday, 3 May 2018 at 12:24:16 UTC, Per Nordlöw wrote: On Wednesday, 2 May 2018 at 07:13:21 UTC, Mike Parker wrote: For those of you unable to join us in Munich, you can watch the fun online via the following link: https://www.youtube.com/user/hlmceventsgmbh I can't find Andrei's talk this morning. Was it lost? I believe the lost video is only from the morning of the first day. Andrei's talk may simply not be accessible in the archived livestream anymore, as Nemenja says, but there's no indication that it was lost.
Re: LDC 1.7.0
On Saturday, 6 January 2018 at 16:25:46 UTC, German Diago wrote: negative points also as I use it :p. By the way, and a bit off-topic for the post, but, if I want to port my code to run on Android/iOS, what is the recommended way? 1. create a shared library and consume it? Is that possible and smooth enough for ARM? Yes, that is the way native apps are invoked on Android, see the wiki for more info: http://wiki.dlang.org/Build_D_for_Android iOS support is in limbo, as a contributor got very far with it but hasn't had time for it lately.
Re: Project Highlight: BSDScheme
On Saturday, 20 January 2018 at 11:44:39 UTC, Mike Parker wrote: Not long ago, I stumbled upon a tweet by Phil Eaton about BSDScheme, his Scheme interpreter written in D. He agreed to do a Project Highlight and here we are! Blog https://dlang.org/blog/2018/01/20/project-highlight-bsdscheme/ Reddit https://www.reddit.com/r/programming/comments/7rpxah/bsdscheme_a_scheme_interpreter_implementation_in_d/ Autocorrect? Andrew Appel's check out his blog -> check out his blog post about designing his interpreter Nice writeup. I saw his blog post tweeted and was disappointed he didn't say anything about D, good you got that for this post.
Re: LDC 1.7.0
On Sunday, 21 January 2018 at 04:45:49 UTC, Nicholas Wilson wrote: On Saturday, 20 January 2018 at 15:19:13 UTC, Johannes Loher wrote: On Saturday, 6 January 2018 at 01:19:14 UTC, kinke wrote: [...] Hey, thanks for your great work! Would it be possible to add a armhf build to the release? If you can not do it yourself, could you please point me to some resources where I can find out about how to create such a release build myself? Thank you! See https://wiki.dlang.org/Building_LDC_from_source You can also use the armhf build of ldc 1.6, even if just to build 1.7 yourself: https://github.com/ldc-developers/ldc/releases/tag/v1.6.0
Re: Article: Fuzzing D code with LDC
On Saturday, 13 January 2018 at 23:59:52 UTC, Johan Engelen wrote: It's been a work-in-progress for half a year, but finished now: http://johanengelen.github.io/ldc/2018/01/14/Fuzzing-with-LDC.html "A not-so-well-written article about the fuzzing capability recently added to LDC, using LLVM’s libFuzzer. Compiling code with -fsanitize=fuzzer adds control-flow instrumentation used to guide the fuzzing and links-in the libFuzzer library that drives the fuzz testing (same as Clang). -fsanitize=fuzzer is available from LDC 1.4.0, not on Windows. LDC 1.6.0 was used for the examples in this article." Hope the article gives you enough information to start fuzz testing your own projects. cheers, Johan (per Ali's request, the article has a nice fuzzy font for some of you :P) Nice post, enjoyed reading it. I need to look into trying out the shift sanitizer sometime.
Re: dxml 0.1.0 released
On Saturday, 10 February 2018 at 18:57:53 UTC, Jonathan M Davis wrote: On Saturday, February 10, 2018 16:14:41 Jacob Carlborg via Digitalmars-d- announce wrote: On 2018-02-09 22:15, Jonathan M Davis wrote: > [...] This is great news! Have you run any benchmarks to see how it performs? Kind of. I did some benchmarking to see if some code changes would improve performance, but I haven't tried benchmarking it against any other XML libraries. That would take a fair bit of time and effort, and IMHO, that would be better spent finishing the library first. Also, ldc's latest release is only up to dmd 2.077.1, and dxml needs an improvement that got added to byCodeUnit in 2.078.0, so any benchmarking that wants to do something like compare dxml with a C/C++ parsing library while taking the optimizer out of the equation isn't going to work yet unless I fork byCodeUnit for dxml until we get another release of ldc. ldc master uses the latest 2.078.2 frontend and stdlib, you could always build it yourself: https://github.com/ldc-developers/ldc/blob/master/CMakeLists.txt#L54 https://wiki.dlang.org/Building_LDC_from_source
Re: Beta 2.079.0
On Thursday, 22 February 2018 at 10:07:40 UTC, Jonathan M Davis wrote: On Thursday, February 22, 2018 09:54:17 Uknown via Digitalmars-d-announce wrote: On Thursday, 22 February 2018 at 09:48:20 UTC, Jonathan M Davis wrote: > [...] Which is why we should not let it pass. Why didn't this feature go through the usual DIP process? All I can say for sure is what was said in the PR linked in another post: https://github.com/dlang/dmd/pull/6589 Based on the comments in the PR, Walter initially opposed it because he didn't like how it looked, but he said nothing after that. However, later, Andrei comments on the PR and thought that it was simply a fix for the current syntax and that it didn't need a DIP and thus approved it. I have no idea if he talked to Walter about it or not, but there is nothing in the PR to indicate that Walter ever changed his mind. Heh, I just looked at who voted for and against in the first comment, by pressing and holding each icon, and it shows Walter voting both for and against it! :D
Re: Beta 2.079.0
On Monday, 19 February 2018 at 15:45:30 UTC, bachmeier wrote: On Monday, 19 February 2018 at 10:49:03 UTC, Martin Nowak wrote: 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. ... 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. 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.
Re: Beta 2.079.0
On Friday, 23 February 2018 at 11:57:05 UTC, Martin Nowak wrote: 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 really like psychoRabbit's array syntax suggestion. I see no reason the old syntax can't be kept around only for trailing symbols, while requiring the array syntax for selective import chains. 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. Sure, it will require someone willing to implement it, not you. 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. Reflecting further on your pull during this debate, my initial suggestion that it would cause a bunch of errors was probably overblown, readability is the main issue. The ambiguity you expanded on was fine if only limited to one set of trailing symbols, it became too hard to parse when a bunch of selective imports were chained. I hope someone steps us to implement this feature with better syntax, though it will require more effort than your simple patch, as I do see the need for it.
Re: Beta 2.079.0
On Friday, 23 February 2018 at 00:05:59 UTC, Martin Nowak wrote: - practical examples of this usage are hardly confusing import std.stdio : writeln, std.algorithm : find; I agree that that's not so bad, though it's more likely to look like this: import std.stdio : writeln, stdin, stderr, stdout, std.algorithm : find, splitter, strip, std.string: chomp, splitLines; Do you not see that people don't want to parse that in their head? Here's what it looks like when some joker has a bunch of modules all in the same top-level folder: import game : write, call, mean, engine : render, debug, blit, sprite : display, hide, move; People don't want to read and figure out imports like that. As I've said repeatedly, I like the feature and the problem it's trying to solve, just please give us some better syntax to make it easier to read. - 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) I don't know what's "brittle" about that, perhaps too verbose for your liking, but certainly clear. 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. While you and Walter are right that it's easy to bikeshed this relatively simple topic, please also consider that imports are something that people use all the time. Every time I have to write some trivial test executable, I have to write some imports first, which can be as long or longer than writing the simple executed code itself. This means every D dev has written some imports and doesn't want to seem them getting less clear to parse. Maybe this is saliency bias, but it is worth weighing when changing a commonly-used feature: https://thedecisionlab.com/bias/salience-bias/
Re: Beta 2.079.0
On Tuesday, 20 February 2018 at 08:43:50 UTC, Martin Nowak wrote: 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. I don't think I will. It's particularly useful for small examples, localized imports and hacking. Eh, the problem is it won't be used just for that. It's mainly a generalisation of the existing possibility to mix module imports and one selective import at the end. Yes, I recognize the need for something like that, as I too have been annoyed that I had to split up import lines when adding selective symbols. If you prefer java-like 50 lines import manifests, then by all means keep using those. I don't, but there's a clarity to those that's not there with this. How would that feature cause bugs though? Two ways I can think of, first, local imports was supposed to be a small change and yet here we are fixing symbol leaks with it _years_ later. Looking at your patch now, it's so small that maybe it won't have those problems. The other are the ambiguity and readability issues that others have already mentioned, that will trip up D devs for years to come. I thought about chiming in on that PR when it was open, but didn't because the vote was split at 5-5 and I thought it wouldn't get merged. Also, I'm not against the idea in principle, but I do wish you'd chosen better syntax, such as not reusing the comma to split modules too. I don't have a better separator suggestion though, `|`?
Re: D's Newfangled Name Mangling
On Thursday, 21 December 2017 at 06:53:35 UTC, Mike Parker wrote: On Wednesday, 20 December 2017 at 19:16:03 UTC, Ali Çehreli wrote: On 12/20/2017 07:41 AM, David Gileadi wrote: Typo: "This is were I stepped in..." -> "..where.." Yeah, an excellent post. Strangely, I could find just one typo myself. :) Its rather simple -> It's rather simple Thanks, guys! Still making my way through this long post, but that make this information accessible faster -> that make accessing this information faster
Re: D's Newfangled Name Mangling
On Friday, 22 December 2017 at 14:34:56 UTC, Andrei Alexandrescu wrote: On 12/20/17 8:57 AM, Mike Parker wrote: Many thanks to Rainer for his insightful new article for the D Blog outlining the new name mangling algorithm. He talks about the old implementation and its limitations before going into the details of the new one. It's a topic I had never considered digging into before, even when the big Voldemort issue first popped up, but now I find it interesting. The blog https://dlang.org/blog/2017/12/20/ds-newfangled-name-mangling/ Reddit https://www.reddit.com/r/programming/comments/7l1h36/ds_newfangled_name_mangling/ Hi folks, the discussion in the announce forum is most welcome but statistically very few people read the forum. Please direct discussions to the reddit group, which enjoys a broader audience. Sadly right now the sparse reddit discussion makes the reception look worse than it actually was. -- Andrei We mostly just post corrections and technical suggestions in here, which are more likely to be seen. Anyway, the post has already done well on proggit, made top 25 most-liked of the last week and top 10 dlang.org posts of the last year: https://www.reddit.com/r/programming/top/?sort=top=week https://www.reddit.com/domain/dlang.org/top/?sort=top=year
Re: Release D 2.078.0
On Thursday, 4 January 2018 at 13:03:21 UTC, Mike Parker wrote: On Thursday, 4 January 2018 at 02:27:13 UTC, Mike Parker wrote: Awesome! I'll post the blog announcement and hit social media in ~12 hours. Blog: https://dlang.org/blog/2018/01/04/dmd-2-078-0-has-been-released/ Reddit: https://www.reddit.com/r/programming/comments/7o2tcw/dmd_20780_has_been_released/ Nice post, good explanations and code samples. Here's some phrases I'd change: quality of life -> quality-of-life stubbed out -> stubbed-out line, or an alternative -> line or an alternate D runtime dependent -> that depends DMD 2.80.0 -> DMD 2.080.0
Re: How an Engineering Company Chose to Migrate to D
On Wednesday, 20 June 2018 at 13:21:30 UTC, Mike Parker wrote: If you saw Bastiaan Veelo's DConf 2017 presentation, you'll know that his employer was evaluating D as a candidate for migrating their code base away from Extended Pascal. Recently, the decision was made and D was the coice. In this post, Bastiaan tells the story of how that came to be and how they'll be moving forward. The blog: https://dlang.org/blog/2018/06/20/how-an-engineering-company-chose-to-migrate-to-d/ "that's were" -> that's where The code example for the string80 alias has a closing HTML code tag leaked into the displayed example somehow.
Re: SAoC Updates
On Tuesday, 31 July 2018 at 03:23:41 UTC, Mike Parker wrote: I've updated the SAoC page to reflect the decision to accept applications from non-university students. Great! I think this will open up the pool of applicants considerably.
Re: Dpp on run.dlang.io
On Saturday, 4 August 2018 at 05:06:26 UTC, Joakim wrote: On Saturday, 4 August 2018 at 02:39:23 UTC, Mike Franklin wrote: On Saturday, 4 August 2018 at 01:27:49 UTC, Laeeth Isharc wrote: Thanks to Seb and Atila it is now very easy to show a D program just #includeing C headers. If just works. Modulo bugs. In time I am hopeful Atila will start to have more of C++ headers working too. https://run.dlang.io/is/JlH3Th Cool! Can we now deprecate and eventually jettison C/C++ bindings from druntime, please? No, because dpp is new, not commonly used, and I think only works with DMD. Scratch that last part, works with LDC too: https://travis-ci.org/atilaneves/dpp
Re: Dpp on run.dlang.io
On Saturday, 4 August 2018 at 02:39:23 UTC, Mike Franklin wrote: On Saturday, 4 August 2018 at 01:27:49 UTC, Laeeth Isharc wrote: Thanks to Seb and Atila it is now very easy to show a D program just #includeing C headers. If just works. Modulo bugs. In time I am hopeful Atila will start to have more of C++ headers working too. https://run.dlang.io/is/JlH3Th Cool! Can we now deprecate and eventually jettison C/C++ bindings from druntime, please? No, because dpp is new, not commonly used, and I think only works with DMD. It might make sense to split those bindings off into their own git repo, separate from the compiled parts of druntime though.
Re: D support for ChromeOS
On Tuesday, 21 August 2018 at 20:29:34 UTC, Emil wrote: On Saturday, 3 February 2018 at 18:11:15 UTC, Daniel Kozak wrote: [...] Tried it on an Acer Chromebook R13 running Version 69.0.3497.35 (Official Build) dev (32-bit). I have no previous experience with llvm. [...] Looks like your Chromebook's got a MediaTek AArch64 processor, ie 64-bit ARM, which wasn't supported by D until the just released LDC 1.11. I'd try building 1.11 from source, using these instructions: https://wiki.dlang.org/Building_LDC_from_source You will need a working CMake though, looks like the one you're trying to use isn't running.
Re: D support for ChromeOS
On Wednesday, 22 August 2018 at 01:48:01 UTC, Joakim wrote: On Tuesday, 21 August 2018 at 20:29:34 UTC, Emil wrote: On Saturday, 3 February 2018 at 18:11:15 UTC, Daniel Kozak wrote: [...] Tried it on an Acer Chromebook R13 running Version 69.0.3497.35 (Official Build) dev (32-bit). I have no previous experience with llvm. [...] Looks like your Chromebook's got a MediaTek AArch64 processor, ie 64-bit ARM, which wasn't supported by D until the just released LDC 1.11. I'd try building 1.11 from source, using these instructions: https://wiki.dlang.org/Building_LDC_from_source You will need a working CMake though, looks like the one you're trying to use isn't running. Oh, I forgot, if you're running Android apps in your Chromebook, you can install the Termux app and use LDC through there: https://play.google.com/store/apps/details?id=com.termux=en The first AArch64 build of LDC for Termux should be up in a day or so, `apt install ldc`, or you can build it from source in Termux, if you can't wait. ;)
Re: LDC 1.11.0
On Friday, 24 August 2018 at 12:21:32 UTC, Uknown wrote: On Tuesday, 21 August 2018 at 15:31:16 UTC, Joakim wrote: On Sunday, 19 August 2018 at 10:11:42 UTC, 鲜卑拓跋枫 wrote: [...] I tried looking for a RISC-V VPS or dev board recently and found basically nothing, just two boards from SiFive that are too small or too expensive. There is the SHAKTI Program by IIT Madras : http://shakti.org.in/about.html I've actually heard of it, what of it? Is someone using it in a production environment, or do they have a VPS or dev board? If not, academic projects sitting half-finished in some grad students' computers somewhere aren't relevant to my questions.
Re: LDC 1.11.0
On Saturday, 18 August 2018 at 16:47:35 UTC, kinke wrote: Glad to announce LDC 1.11: * Based on D 2.081.2. * Prebuilt packages now using LLVM 6.0.1 and including additional cross-compilation targets (MIPS, MSP430, RISC-V and WebAssembly). * Rudimentary support for compiling & linking directly to WebAssembly. See the dedicated Wiki page [1] for how to get started. * AArch64 (64-bit ARM) now mostly working on Linux/glibc and Android. * Some support for classes without TypeInfos, for -betterC and/or a minimal (d)runtime. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.11.0 Thanks to all contributors! [1] https://wiki.dlang.org/Generating_WebAssembly_with_LDC Since this is the first ldc release with a mostly working 64-bit ARM, ie AArch64, port, I've put up ldc builds for linux/AArch64 and Android. You can get the linux build at the github link above; the Android build is available from the Termux app in the Android store, by running `pkg install ldc`: https://play.google.com/store/apps/details?id=com.termux=en You can see what else remains to be done for the AArch64 port by looking at the logs from the linux/AArch64 Shippable CI linked from the github release and the checklist in this ldc tracking issue: https://github.com/ldc-developers/ldc/issues/2153 I've added info on how to cross-compile a D runtime and standard library for linux/AArch64 to the wiki: https://wiki.dlang.org/Building_LDC_runtime_libraries#Usage_for_cross-compilation I've also started updating the wiki on how to build Android apps in D for 64-bit ARM devices.
Re: D support for ChromeOS
On Tuesday, 28 August 2018 at 12:34:50 UTC, Martin Tschierschke wrote: On Wednesday, 22 August 2018 at 10:28:32 UTC, Joakim wrote: https://play.google.com/store/apps/details?id=com.termux=en $ apt search ldc Sorting... Done Full Text Search... Done ipcalc/stable 0.41 aarch64 Calculates IP broadcast, network, Cisco wildcard mask, and host ranges ldc/stable 1.11.0 aarch64 D programming language compiler, built with LLVM http://termux.net/dists/stable/main/binary-aarch64/ You should post it, as an extra topic on announce: D on Android with Termux LDC now 32 and 64 Bit! ... Thank you - it works! I did, though not as a new topic: https://forum.dlang.org/post/zgjzldisifhkgcgxk...@forum.dlang.org I'm updating the wiki on how to use it and getting rid of the main function requirement, then I'll write up a post for Mike on the D blog.
Re: D support for ChromeOS
On Wednesday, 22 August 2018 at 10:06:39 UTC, Joakim wrote: On Wednesday, 22 August 2018 at 07:14:22 UTC, Martin Tschierschke wrote: On Wednesday, 22 August 2018 at 01:56:45 UTC, Joakim wrote: unning. [...] Oh, I forgot, if you're running Android apps in your Chromebook, you can install the Termux app and use LDC through there: https://play.google.com/store/apps/details?id=com.termux=en The first AArch64 build of LDC for Termux should be up in a day or so, `apt install ldc`, or you can build it from source in Termux, if you can't wait. ;) +1 ; Cool, not sure if I can wait, but probably I will :-) I must say I really like looking at this version string, straight from the Termux app: $ ldc2 --version LDC - the LLVM D compiler (1.11.0): based on DMD v2.081.2 and LLVM 6.0.1-2 built with LDC - the LLVM D compiler (1.11.0) Default target: aarch64--linux-android Host CPU: cortex-a73 http://dlang.org - http://wiki.dlang.org/LDC Registered Targets: aarch64- AArch64 (little endian) aarch64_be - AArch64 (big endian) arm- ARM arm64 - ARM64 (little endian) armeb - ARM (big endian) thumb - Thumb thumbeb- Thumb (big endian) x86- 32-bit X86: Pentium-Pro and above x86-64 - 64-bit X86: EM64T and AMD64 It's up: $ apt search ldc Sorting... Done Full Text Search... Done ipcalc/stable 0.41 aarch64 Calculates IP broadcast, network, Cisco wildcard mask, and host ranges ldc/stable 1.11.0 aarch64 D programming language compiler, built with LLVM http://termux.net/dists/stable/main/binary-aarch64/
Re: D support for ChromeOS
On Wednesday, 22 August 2018 at 07:14:22 UTC, Martin Tschierschke wrote: On Wednesday, 22 August 2018 at 01:56:45 UTC, Joakim wrote: unning. [...] Oh, I forgot, if you're running Android apps in your Chromebook, you can install the Termux app and use LDC through there: https://play.google.com/store/apps/details?id=com.termux=en The first AArch64 build of LDC for Termux should be up in a day or so, `apt install ldc`, or you can build it from source in Termux, if you can't wait. ;) +1 ; Cool, not sure if I can wait, but probably I will :-) I must say I really like looking at this version string, straight from the Termux app: $ ldc2 --version LDC - the LLVM D compiler (1.11.0): based on DMD v2.081.2 and LLVM 6.0.1-2 built with LDC - the LLVM D compiler (1.11.0) Default target: aarch64--linux-android Host CPU: cortex-a73 http://dlang.org - http://wiki.dlang.org/LDC Registered Targets: aarch64- AArch64 (little endian) aarch64_be - AArch64 (big endian) arm- ARM arm64 - ARM64 (little endian) armeb - ARM (big endian) thumb - Thumb thumbeb- Thumb (big endian) x86- 32-bit X86: Pentium-Pro and above x86-64 - 64-bit X86: EM64T and AMD64
Re: LDC 1.11.0
On Thursday, 23 August 2018 at 09:51:30 UTC, Brian wrote: On Tuesday, 21 August 2018 at 15:31:16 UTC, Joakim wrote: On Sunday, 19 August 2018 at 10:11:42 UTC, 鲜卑拓跋枫 wrote: Many thanks for your effort! And hope the subsequent LDC releases with LLVM 7.0 will be mature enough on AArch64 and RISC-V for production environment. Who is actually running AArch64 or RISC-V in a "production environment?" Maybe a few for AArch64, but pretty much nobody for RISC-V. I tried looking for a RISC-V VPS or dev board recently and found basically nothing, just two boards from SiFive that are too small or too expensive. We need support AArch64 :) Why?
Re: LDC 1.11.0
On Sunday, 19 August 2018 at 10:11:42 UTC, 鲜卑拓跋枫 wrote: Many thanks for your effort! And hope the subsequent LDC releases with LLVM 7.0 will be mature enough on AArch64 and RISC-V for production environment. Who is actually running AArch64 or RISC-V in a "production environment?" Maybe a few for AArch64, but pretty much nobody for RISC-V. I tried looking for a RISC-V VPS or dev board recently and found basically nothing, just two boards from SiFive that are too small or too expensive.
Re: LDC 1.11.0 beta2
On Sunday, 15 July 2018 at 19:46:24 UTC, kinke wrote: Glad to announce the second beta for LDC 1.11. * Based on D 2.081.1+ (today's DMD stable). * Prebuilt packages now using LLVM 6.0.1 and including additional cross-compilation targets (MIPS, MSP430, RISC-V and WebAssembly). * Rudimentary support for compiling & linking directly to WebAssembly. See the dedicated Wiki page [1] for how to get started. * Some support for classes without TypeInfos, for -betterC and/or a minimal (d)runtime. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.11.0-beta2 Thanks to all contributors! [1] https://wiki.dlang.org/Generating_WebAssembly_with_LDC Ldc 1.11 beta 2 is also the first ldc release with a mostly working Android/AArch64 port. In order to cross-compile the stdlib for 64-bit ARM, follow these instructions for linux/x64, adapted from the wiki page for Android/ARM (https://wiki.dlang.org/Build_D_for_Android), which require the same build tools- CMake, the Android NDK, and either Make or Ninja: export CC=/path/to/your/android-ndk-r17b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang /path/to/your/ldc2-1.11.0-beta2-linux-x86_64/bin/ldc-build-runtime --ninja --targetPreset=Android-aarch64 Leave off the --ninja flag if you're using Make instead, and adjust the paths in all the commands, replacing /path/to/your/ with the correct paths on your system. This will download the ldc source into a temporary directory called ldc-build-runtime.tmp and attempt to cross-compile the stdlib for Android/AArch64, but fail with the following error: std/math.d(4320): Error: static assert: `infL > 2.0L && (infL <= 4.0L)` is false Download and apply a small workaround patch for Phobos (https://gist.github.com/joakim-noah/7b997a7f8c49ff8f9d93658f78ec3cbe) to get it to work: curl -L -O https://gist.githubusercontent.com/joakim-noah/7b997a7f8c49ff8f9d93658f78ec3cbe/raw/a7c7a2d46a679e34236f00fa9a5dee19e3b50667/compile_phobos_aarch64 git apply compile_phobos_aarch64 /path/to/your/ldc2-1.11.0-beta2-linux-x86_64/bin/ldc-build-runtime --ninja --targetPreset=Android-aarch64 --reset You can now cross-compile command-line binaries for Android/AArch64, similar to Android/ARM as shown on the wiki: export NDK=/path/to/your/android-ndk-r17b /path/to/your/ldc2-1.11.0-beta2-linux-x86_64/bin/ldc2 -mtriple=aarch64-none-linux-android -L-L/path/to/your/ldc-build-runtime.tmp/lib -Xcc=--sysroot=$NDK/platforms/android-21/arch-arm64 -Xcc=-fuse-ld=bfd -Xcc=-gcc-toolchain -Xcc=$NDK/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64 -Xcc=-target -Xcc=aarch64-none-linux-android -Xcc=-fpie -Xcc=-pie sieve.d The Phobos patch shows the remaining pieces that need to be ported, support for 128-bit real floating-point at compile-time (as that static assert tripping is likely because the 128-bit `real.max` is slightly larger than the 80-bit one and overflows to Inf) and core.stdc.stdarg.va_arg for AArch64. You can also build the stdlib test runners, after applying this druntime patch to disable a few tests that cannot be compiled (https://gist.github.com/joakim-noah/417ffbac4d6041242d3091001595981d): curl -L -O https://gist.githubusercontent.com/joakim-noah/417ffbac4d6041242d3091001595981d/raw/555d5c85f9055fe63d7c2c6a0493425a9c21edd2/disable_druntime_tests_aarch64 git apply disable_druntime_tests_aarch64 /path/to/your/ldc2-1.11.0-beta2-linux-x86_64/bin/ldc-build-runtime --ninja --targetPreset=Android-aarch64 --testrunners You can then copy the druntime-test-runner and phobos2-test-runner binaries from the ldc-build-runtime.tmp directory to the Termux app on an Android/AArch64 device to see what tests fail. In my experience, all the druntime tests pass and tests only fail for 6-7 Phobos modules, mostly related to CTFE not supporting 128-bit floating point: https://github.com/ldc-developers/ldc/issues/2153#issuecomment-379847985 The debug versions of the above test binaries (which are also built with the above command) hang when run, tripping an assert in the GC on startup, though they work fine when natively compiled with an older ldc 0.17 on an Android/AArch64 device. If you'd like to chip in on any of these remaining issues, here's a straightforward way to get started on porting D to the most widely-deployed CPU architecture used for personal computing on the planet, with almost all iOS devices and about half of Android devices now running on AArch64, billions of devices. I'll get those last few druntime tests ported next.
Re: LDC 1.11.0 beta2
On Wednesday, 18 July 2018 at 01:35:11 UTC, Ali wrote: On Sunday, 15 July 2018 at 19:46:24 UTC, kinke wrote: Glad to announce the second beta for LDC 1.11. * Prebuilt packages now using LLVM 6.0.1 and including additional cross-compilation targets (MIPS, MSP430, RISC-V and WebAssembly). * Rudimentary support for compiling & linking directly to WebAssembly. See the dedicated Wiki page [1] for how to get started. [1] https://wiki.dlang.org/Generating_WebAssembly_with_LDC The WebAssembly part discussed on hackernews https://news.ycombinator.com/item?id=17546063 Second link on the front page now.
Re: Symmetry Autumn of Code
On Saturday, 14 July 2018 at 07:30:26 UTC, Joakim wrote: On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote: Thanks to the sponsorship of Symmetry Investments, the D Language Foundation is happy to announce the Symmetry Autumn of Code! We're looking for three university students to hack on D this autumn, from September - January. We're also in search of potential mentors and ideas for student projects. Head to the Symmetry Autumn of Code page for the details. Spread the word! https://dlang.org/blog/symmetry-autumn-of-code/ "join us" for "submit an application" -> apply (confusing otherwise) Maybe sum up and make clear that each student can earn between $3000-4000, instead of capped at $1k. This is why I suggested stating the total sum clearly: "20 hours/week for four months for a salary of $1000 seems kind of crappy. Am I reading this wrong?" https://www.reddit.com/r/programming/comments/8yram3/comment/e2gttg2 You're currently requiring people to read carefully and do the math to understand this: most people do neither.
Re: Symmetry Autumn of Code
On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote: Thanks to the sponsorship of Symmetry Investments, the D Language Foundation is happy to announce the Symmetry Autumn of Code! We're looking for three university students to hack on D this autumn, from September - January. We're also in search of potential mentors and ideas for student projects. Head to the Symmetry Autumn of Code page for the details. Spread the word! https://dlang.org/blog/symmetry-autumn-of-code/ "join us" for "submit an application" -> apply (confusing otherwise) Maybe sum up and make clear that each student can earn between $3000-4000, instead of capped at $1k. Why limit it to students? If the goal is to have a youth injection, just use an age limit- say 18-25- I see no reason for the stupid college bias.
Re: Symmetry Autumn of Code
On Saturday, 14 July 2018 at 13:57:12 UTC, Laeeth Isharc wrote: On Saturday, 14 July 2018 at 07:30:26 UTC, Joakim wrote: On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote: Thanks to the sponsorship of Symmetry Investments, the D Language Foundation is happy to announce the Symmetry Autumn of Code! We're looking for three university students to hack on D this autumn, from September - January. We're also in search of potential mentors and ideas for student projects. Head to the Symmetry Autumn of Code page for the details. Spread the word! https://dlang.org/blog/symmetry-autumn-of-code/ "join us" for "submit an application" -> apply (confusing otherwise) Maybe sum up and make clear that each student can earn between $3000-4000, instead of capped at $1k. Why limit it to students? If the goal is to have a youth injection, just use an age limit- say 18-25- I see no reason for the stupid college bias. Hi Joakim. Thanks for suggestions. Sure, thanks for funding this worthwhile initiative. I don't know what legal aspects there are relating to targeting age in different countries. We are definitely targeting people earlier in their careers. I agree with you that talent isn't only found amongst students, and I've in the past hired someone that didn't even finish high school and has gone on to do good work for the D community. So as far as Symmetry goes we are very open to unusual talent. A degree is just one piece of interesting information. Yes, but the current requirements exclude, for example, recent college grads who may not be employed yet and might do much better work than a harried college student. I don't know the legal risks in detail, but I can't imagine the risk/reward to opening it up would favor the current limitation.
Re: Funding code-d
On Friday, 13 July 2018 at 14:20:19 UTC, Mike Parker wrote: As promised in my tweet of June 30 (and to the handful of people who emailed me), the cloud of mystery surrounding the use of the money raised for code-d and its supporting tools has now been (partially) lifted! In this post, I lay out the details of how the first $1000 will be paid out to project maintainer Jan Jurzitza, a.k.a Webfreak001, and explain what we hope to achieve with this ecosystem fundraising initiative going forward. This time around, it all came together in the background of prepping for DConf with little forethought beyond activating an Open Collective goal and then working with Jan to determine the details. Lessons were learned. Later this year, you'll see the result when we announce the next of what we hope to be an ongoing series of funding targets. In the meantime: The blog https://dlang.org/blog/2018/07/13/funding-code-d/ Reddit https://www.reddit.com/r/d_language/comments/8yka7b/funding_coded_the_d_blog/ Nice explication of the plan, really needed. Why github never rolled out such a bounty program for OSS and other public projects has to be one of the head-scratching moves of all time, no wonder they were about to run out of money before they sold. A good way to decide on future projects would be to let prospective donors stake money on various proposals, to see how much backing they might receive, sort of like how kickstarter and other crowdfunding sites work.
Re: LDC 1.12.0-beta1
On Tuesday, 4 September 2018 at 23:03:30 UTC, Arun Chandrasekaran wrote: On Tuesday, 4 September 2018 at 22:47:39 UTC, kinke wrote: Glad to announce the first beta for LDC 1.12: * Based on D 2.082.0. * LTO working for Win64 targets. * IR-based PGO working for Windows targets. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.12.0-beta1 Thanks to all contributors! Fantastic work! This is the first time LDC caught up with DMD in a single day, I guess. No, kinke has had this down before, as the first 1.10 beta came out within two weeks and the 1.11 beta came out on the same day as its upstream dmd: https://forum.dlang.org/thread/lyzbdiqcnohbvphzg...@forum.dlang.org https://forum.dlang.org/thread/gpeecjveashtvfpih...@forum.dlang.org This _is_ the first time we're releasing a native build of LDC for linux/AArch64 on the release date, because of the work kinke did to add a Linux/AArch64 CI for LDC, which also automatically uploads the release build. 1.11 was the first release with an AArch64 build, but that was added manually a week later, as can be seen from the datestamps here: http://www.somsubhra.com/github-release-stats/?username=ldc-developers=ldc I'll add native beta builds for Android in a couple days.
Re: LDC 1.12.0-beta1
On Wednesday, 5 September 2018 at 05:15:45 UTC, Joakim wrote: I'll add native beta builds for Android in a couple days. The native Android builds are up at the above github release link. I think this is the last time I'll put beta builds out, too much of a PITA to rebuild llvm each time. I'll continue maintaining the ldc package in the official Termux package repo though. The Termux package build script used to build these betas is online here: https://github.com/joakim-noah/termux-packages/tree/beta/packages/ldc-beta
Re: LDC 1.12.0-beta1
On Friday, 7 September 2018 at 07:54:37 UTC, Petar Kirov [ZombineDev] wrote: On Friday, 7 September 2018 at 03:12:50 UTC, Joakim wrote: On Wednesday, 5 September 2018 at 05:15:45 UTC, Joakim wrote: I'll add native beta builds for Android in a couple days. The native Android builds are up at the above github release link. I think this is the last time I'll put beta builds out, too much of a PITA to rebuild llvm each time. I'll continue maintaining the ldc package in the official Termux package repo though. The Termux package build script used to build these betas is online here: https://github.com/joakim-noah/termux-packages/tree/beta/packages/ldc-beta Can the Android builds be done automatically on the CI, like those for other platforms or the process is more involved? They could, though our tweaked llvm still has to be rebuilt for each Android platform. It may be worth setting up at some point. I've been thinking of setting up an Alpine CI for ldc, so I don't have to manually build each release, just as kinke now does for linux/armhf also.
Re: Work on ARM backend for DMD started
On Thursday, 20 July 2017 at 16:22:59 UTC, solidstate1991 wrote: On Friday, 7 July 2017 at 11:09:27 UTC, Temtaime wrote: [...] A few things you should be aware before you trash the reference compiler for D: [...] Btw, if you're still interested in this, AArch64 would be a better target, as 32-bit ARM is being replaced by it.
Re: LDC 1.11.0 beta
On Saturday, 7 July 2018 at 18:26:45 UTC, Johan Engelen wrote: On Saturday, 7 July 2018 at 18:17:49 UTC, Seb wrote: Would be great to include https://github.com/dlang/dmd/pull/8456 as it's a serious regression and the reason for the early 2.081.1 release. Because the quality of new DMD releases is often subpar, the LDC release plan is to only release after a good point release of DMD (usually *.*.1, but if this is a hasty .1 release, we probably better wait until 2.081.2) -Johan In other words, this is only a beta: the final 1.11 release will be done next month, only with the final release of the DMD 2.081 frontend, likely 2.081.2.
Re: Release D 2.081.0
On Wednesday, 4 July 2018 at 14:55:56 UTC, Mike Parker wrote: On Wednesday, 4 July 2018 at 10:03:57 UTC, Martin Nowak wrote: 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 The blog announcement: https://dlang.org/blog/2018/07/04/dmd-2-081-0-released/ "much quiter"
Re: Another take on decimal data types
On Thursday, 11 January 2018 at 22:07:42 UTC, H. S. Teoh wrote: On Thu, Jan 11, 2018 at 04:38:57PM -0500, Steven Schveighoffer via Digitalmars-d-announce wrote: On 1/11/18 4:12 PM, kdevel wrote: > On Thursday, 11 January 2018 at 20:40:01 UTC, Dmitry > Olshansky wrote: > > What did you expect? > > To be honest: A compile time error. Modern C compilers can > check such format strings. Example: GCC 6: But dmd isn't a C compiler, nor does it have to worry about the problems C has (namely, untyped varargs). To dmd, printf is just another function, there's nothing special about it. [...] Yeah, checking C-style printf formats isn't dmd's problem. The Phobos equivalent of printf, however, *does* support compile-time format checking in the latest version: writefln!"%s %d %d"("abc", 1); // "Orphan format specifier: %d" writefln!"%s %d"("abc", 1, 2); // "Orphan format arguments: args[2..3]" writefln!"%s %d"(1, "abc");// "Incorrect format specifier for range: %d" writefln!"%f"(1); // "incompatible format character for integral argument: %f" Best of all, this is all done via CTFE in the library code, no hard-coding in the compiler necessary. You can implement your own compile-time checker for your own DSLs in the same way, without needing to hack the compiler. Interesting, guess this was added last April with dmd 2.074? https://dlang.org/changelog/2.074.0.html#std-format-formattedWrite You or someone should write up a blog post about this, with both this example and expanding on how D enables this kind of functionality in general.
Re: Vision document for H1 2018
On Sunday, 11 March 2018 at 01:25:07 UTC, Dylan Graham wrote: betterc is just another way of supporting that crowd..and it's a very big crowd. Yeah, 29% of the crowd. 29% of the existing D crowd who answered the survey, which means around 150 people, or about how many download one compiler, dmd, in an average hour of the day: http://erdani.com/d/downloads.daily.png Meanwhile, Walter wrote a blog post about his betterC efforts last year, and it was the third-most liked link from dlang.org on reddit over the last year, with 226 net likes: https://www.reddit.com/domain/dlang.org/top/?sort=top=year No. 2? Another article about using D without the GC. Now, as I've said on the forum several times, I personally don't care for @nogc or betterC: I don't use them. I'm sure many existing D users don't either. However, as those reddit stats show, there is interest from _outside_ the D community for them. When it comes to strategic decisions like this to bring in new users from outside the community, you cannot depend on polling users within the community to figure it out. Argue against betterC really bringing in new users if you want, but arguing that it doesn't help existing users is missing the point. I'm not sure how successful betterC will be in pulling in those users, as I'm not a C/C++ programmer and don't know what they want, but the popularity of those links suggests the D foundation is on the right track. Your problem is not betterc, but something else. So focus on that instead. You're right, my problem isn't BetterC, it's the fact that Foundation can't get its priorities right. BetterC is a symptom. The Foundation's priorities are not simply serving the existing users but growing the userbase.
Re: Vision document for H1 2018
On Friday, 9 March 2018 at 21:43:53 UTC, Andrei Alexandrescu wrote: Hello, the vision document of the Founation for the first six months of 2018 is here: https://wiki.dlang.org/Vision/2018H1 In addition to the expected items, we have a new top-level priority - locking down the language definition. This is in recognition of the fact that we need a precise definition of the language going forward. Thanks, Andrei Very nice, love how concrete this document has become, including listing the members of the core team, especially compared to the vague early vision statements. One note about @nogc: I've seen complaints about the -vgc reports on reddit, that they're not very useful for mixed @nogc usage, where the GC is used for part of the codebase, not sure if something can be done about that.
Re: The New New DIP Process
On Friday, 9 March 2018 at 12:59:07 UTC, Mike Parker wrote: When I took on the role of DIP Manager last year, I didn't realize how much I had to learn. Most of the DIPs made it through just fine, but there were a few errors along the way. And there were some inefficiencies built into the system that weren't so obvious in the beginning. Recently, my new procedure document to revise the process was approved. [...] mistake: "for the all the details"
Re: LDC 1.8.0
On Tuesday, 6 March 2018 at 15:44:14 UTC, Martin Tschierschke wrote: 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. * New switch `-link-defaultlib-shared` to link against shared druntime/Phobos. * Plugins support, compatible with existing Clang plugins. * Support for LLVM IR-based PGO as alternative to existing (AST-based) PGO. * Basic support for LLVM XRay instrumentation. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.8.0 Thanks to all contributors! Cool! Thank you! https://wiki.dlang.org/Build_D_for_Android Says, that 64 Bit Android version is not ready yet, anything about this? It is not really necessary for me, but would be cool, because unfortunately I have a 64 bit Android phone. Nothing new, unfortunately, though you can follow progress here: https://github.com/ldc-developers/ldc/issues/2153 I plan to spend some time on it, but have been putting it off.