Re: Ddb needs a maintainer
On 2016-02-14 20:48, Eugene Wissner wrote: I think may be we should discuss if we can/should change something in ddb. I think there were some interesting and promising ideas in this discussion. Maybe split the PostgreSQL driver and develop it seperately and use an interface more similar to JDBC. Maybe some kind of coworking with ddbc is possible to get more developers together; maybe Suliman has some thoughts on it. I added you and Jacob as collaborators. Please do what you think is right. Thanks.
Re: Ddb needs a maintainer
On 2016-02-14 12:48, Jacob Carlborg wrote: It seems both ddb and ddbc had the same idea, building a library accessing databases independently of the kind of database. The difference is that ddb does not seem to have the abstraction making it database independent and only works for Postgres. ddbc on the other hand does support multiple databases and have the abstraction layer. So at this point ddb is basically a Postgres driver and nothing more. ddb was written with multiple databases in mind, mostly postgres, mysql and sqlite. db.d (DBRow definition) is database independent. postgres.d contains PGConnection, PGCommand, etc. Other backends should provide their own classes like MySqlConnection, MySqlCommand and so on. Then it's trivial to add an abstraction layer that chooses between different backends depending on the connection string for example. Regarding ddb maintainability, thank you for your interest, I can add you both (Jacob and Eugene) to my repository as collaborators, you will have full access to repo, pull requests and issues. If I will ever need ddb in some of my project I would still have access to my repo to make some changes. If the project will grow bigger than expected we could move it to the new repo later. Is that okay for you?
Ddb needs a maintainer
Ddb is a relational database client for D [1]. Currently it only supports PostgreSQL but is not limited to it. It could be extended to support other backends. Built-in postgres client is a native implementation, that is it does not depend on libpq. Instead it communicates directly with the server avoiding text serialization and parsing overhead (PostgreSQL protocol is stable and well documented). I don't use it and I don't work on it anymore. Simply because I'm busy with other things and that things don't involve any RDBMS support. It has some user base, few contributors and 22 forks on github. Unfortunately, I could not handle pull requests and issues in a reasonable time and that's why I'm posting this here. I hope someone could take over this project and improve it. If you are interested, please either respond here or email me. [1] https://github.com/pszturmaj/ddb
Re: gchunt v0.1.0 is out!
W dniu 2014-11-11 o 23:38, Dmitry Olshansky pisze: gchunt is a tool is to help D developers identify and keep in check the usage of GC in their projects. So far it just postprocesses D compiler's -vgc output into a nice Wiki table. Results looks like this (Phobos): http://wiki.dlang.org/Stuff_in_Phobos_That_Generates_Garbage#Labeled_data Nice :) I think I found a -vgc bug: https://github.com/D-Programming-Language/phobos/blob/271c771a57764dcc511ca12ae91d490872d9b500/std/array.d#L419 - this line doesn't allocate, unlike the one below.
Re: GDC ARM beta #1 (with binary releases!)
W dniu 2014-03-17 15:05, Johannes Pfau pisze: I'm happy to announce the first GDC ARM beta on behalf of the GDC team :) ARM support is now at a point where the automated tests (test suite, unit tests) pass and we're ready for feedback from real world usage. All changes have been fully integrated into the standard GDC sources which also means we're currently using the 2.064 frontend. ARM support is currently limited to ARM/GNU Linux, i.e. GlibC. (This especially means Android and bare metal programming are not officially supported). Please report all bugs to http://bugzilla.gdcproject.org/ If you're sure that the bug is a bug in phobos/druntime/DMD frontend and not GDC specific please report it to https://d.puremagic.com/issues Many thanks for Johannes, GDC team and others involved. You did a great job! I'm already using GDC ARM compiler with good results. Btw. to anyone interested: To ensure stability of further development, we need an ARM/Linux auto tester. If anyone is willing to host an ARM box, please contact me by email (my Internet connection is not 100% reliable).
Re: DUB 0.9.20
Jordi Sayol wrote: El 30/11/13 02:08, Piotr Szturmaj ha escrit: Sönke Ludwig wrote: A fresh DUB release is out. Apart from the usual bug fixes, there are a few considerable changes: Thanks! Have you considered adding a version number to dub help and/or a --version option? $ dub help prints version on last line: DUB version v0.9.20 This is my dub help output (Windows): http://pastebin.com/0ENFz28V
Re: DUB 0.9.20
Sönke Ludwig wrote: A fresh DUB release is out. Apart from the usual bug fixes, there are a few considerable changes: Thanks! Have you considered adding a version number to dub help and/or a --version option?
Re: DDT 0.7.0 released
W dniu 16.08.2013 15:32, Bruno Medeiros pisze: On 15/08/2013 22:07, Piotr Szturmaj wrote: W dniu 15.08.2013 21:20, Bruno Medeiros pisze: A new version of DDT - D Development tools is out. The major change is the new parser which is updated to the latest version of D, and is much more robust than the previous one. Full changelog/info here: https://groups.google.com/d/msg/ddt-ide/z9ggxfCKR6M/3YrkjusZRfYJ Note that Juno and Kepler versions of Eclipse are not supported if they contain DLTK. If you wanna use Juno/Kepler, download a package without DLTK. Supported for the latest versions of DLTK will be added in the future. Cool! It doesn't work with nodeclipse so it must be uninstalled (this may be done after installing DDT). Then it seems to be working, but user should setup DMD paths manually if he's on Linux like me (I'm on Ubuntu 12.10). Paths for DMD should be set up to /usr/bin/dmd for executable and /usr/include/dmd/druntime/import, /usr/include/dmd/phobos for libraries. What do you mean "manually"? If you add a compiler installation by pointing to the DMD compiler executable at /usr/bin/dmd then the library paths should be filled automatically. I've pointed path to the DMD compiler executable but the library paths weren't filled automatically. Maybe it's a bug? (eclipse CDT Kepler) You still have to manually add the compiler installation by pointing to the DMD compiler executable, yes. I guess that step could be automated too, in Linux.
Re: DDT 0.7.0 released
W dniu 15.08.2013 21:20, Bruno Medeiros pisze: A new version of DDT - D Development tools is out. The major change is the new parser which is updated to the latest version of D, and is much more robust than the previous one. Full changelog/info here: https://groups.google.com/d/msg/ddt-ide/z9ggxfCKR6M/3YrkjusZRfYJ Note that Juno and Kepler versions of Eclipse are not supported if they contain DLTK. If you wanna use Juno/Kepler, download a package without DLTK. Supported for the latest versions of DLTK will be added in the future. Cool! It doesn't work with nodeclipse so it must be uninstalled (this may be done after installing DDT). Then it seems to be working, but user should setup DMD paths manually if he's on Linux like me (I'm on Ubuntu 12.10). Paths for DMD should be set up to /usr/bin/dmd for executable and /usr/include/dmd/druntime/import, /usr/include/dmd/phobos for libraries.
Re: simpledisplay.d now works on as 64 bit on X
W dniu 10.06.2013 00:29, bearophile pisze: Piotr Szturmaj: Hmm... What if Lazarus GUI code and/or LCL could be ported to D? I've seen full featured Object Pascal parser in their repository. Maybe it's possible to transcode the source to D ;) Just thinking loud. Even if that's possible, I think it's not a good idea to put the resulting large library in Phobos, because everyone has different needs and tastes regarding GUI toolkits. Yes, I was just suggesting to not write such library from scratch.
Re: simpledisplay.d now works on as 64 bit on X
W dniu 10.06.2013 00:09, bearophile pisze: Delphi has a large and efficient GUI toolkit in the standard library, but I think it's not a good idea to put a GUI toolkit in Phobos. But a little library as simpledisplay is OK. Hmm... What if Lazarus GUI code and/or LCL could be ported to D? I've seen full featured Object Pascal parser in their repository. Maybe it's possible to transcode the source to D ;) Just thinking loud.
Re: DConf 2013 Day 2 Talk 3: C# to D by Adam Wilson
W dniu 31.05.2013 19:05, Jonathan M Davis pisze: On Friday, May 31, 2013 13:59:24 Juan Manuel Cabo wrote: About streams: there is some phobos support for streams, though it seems not finalized. Everything stream-related which is currently in Phobos is outdated and unacceptable, so it will be replaced. A replacement is in the works, but it's not ready yet. Do you know any timespans, when it probably will happen? I will be very grateful.
Re: dmd 2.063 released with 260 bugfixes and enhancements
W dniu 30.05.2013 19:16, Simen Kjaeraas pisze: On 2013-05-30, 17:16, Andrei Alexandrescu wrote: For the full story, mosey to the redesigned changelog: http://dlang.org/changelog.html Kudos to Andrej for this. *This* is how a great changelog looks. This is a very pleasant surprise to see such detailed changelog!
Re: Shameless autopromotion : type safe tagged union in D
W dniu 10.05.2013 14:32, deadalnix pisze: http://www.deadalnix.me/2013/05/10/type-safe-tagged-union-in-d-programming-language/ A trick that I used to use more and more, so I ended up creating a generic solution and wrote an article about it. Here's my try on this: https://github.com/pszturmaj/json-streaming-parser/blob/master/json.d#L111 lines 111-184. It supports Self notation, so it's possible to create recursive unions given that Self is accessible through some indirection. TypeTag should be an enum with increasing values starting with 0. I just noticed, opAssign is prepended with underscore, I probably forgot to remove it after debugging:)
Re: Component Programming in D
Andrei Alexandrescu wrote: http://www.reddit.com/r/programming/comments/10u6sk/component_programming_in_d/ Nice article! There, I found an interesting way of writing ranges that are not explicitly initialized: private import core.stdc.stdio; struct StdinByChar { @property bool empty() { if (hasChar) return false; auto c = fgetc(stdin); if (c == EOF) return true; ch = cast(char)c; hasChar = true; return false; } @property char front() { return ch; } void popFront() { hasChar = false; } private: char ch; bool hasChar; } This is unusual to me that popFront() code is shifted to empty(), but I guess that's necessary because structs doesn't have () ctors.
Re: Component Programming in D
Piotr Szturmaj wrote: guess that's necessary because structs doesn't have () ctors. should be "don't"
Re: GC vs. Manual Memory Management Real World Comparison
Benjamin Thaut wrote: I do object pooling in both versions, as in game developement you usually don't allocate during the frame. But still in the GC version you have the problem that way to many parts of the language allocate and you don't event notice it when using the GC. There's one proposed solution to this problem: http://forum.dlang.org/thread/k1rlhn$19du$1...@digitalmars.com
Re: Mono-D v0.4.1.2 - Heavily improved performance + Completion bugs removed
F i L wrote: http://i3.kym-cdn.com/entries/icons/original/000/004/128/BRILLIANT_.jpg Great work as always, Alex :D Yes! This is really good project! :)
Re: Mono-D v0.4.1.2 - Heavily improved performance + Completion bugs removed
alex wrote: Then I fixed several issues with template parameter deduction - and figured out several bugs or a kinda undefined behaviour of dmd: class A(T) { class SubClass {} } class C(U: A!W.SubClass, W){} class D : C!(A!int.SubClass) { } // is not allowed, but A!int is -- why? try marking SubClass with static keyword.
Re: dmd 1.075 and 2.060 release
Walter Bright wrote: Another big pile of bug fixes. More contributors than ever! http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.075.zip http://www.digitalmars.com/d/2.0/changelog.html https://github.com/downloads/D-Programming-Language/dmd/dmd.2.060.zip It's nice to see it's getting better and better. Good work!
Re: Dscanner - It exists
Brian Schott wrote: On Wednesday, 1 August 2012 at 17:36:16 UTC, Walter Bright wrote: I suggest proposing the D lexer as an addition to Phobos. But if that is done, its interface would need to accept a range as input, and its output should be a range of tokens. It used to be range-based, but the performance was terrible. The inability to use slicing on a forward-range of characters and the gigantic block on KCachegrind labeled "std.utf.decode" were the reasons that I chose this approach. I wish I had saved the measurements on this Ranges are usually taken as template parameters, so you can use static if to provide different code for arrays and regular ranges.
Re: dmd 1.074 and 2.059 release
Nick Sabalausky wrote: "Piotr Szturmaj" wrote in message news:jmbung$1tp5$1...@digitalmars.com... Btw. Is it possible to tag new releases with respective git commit hashes? This is for those who compile DMD, druntime and Phobos manually. Aren't they tagged *in* git? If not, they should be. Git hashes aren't realistically human-usable anyway. Gah... I forgot about tags... it must be a temporary brain malfunction.
Re: dmd 1.074 and 2.059 release
Walter Bright wrote: Another big pile of bug fixes. More contributors than ever! http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.074.zip http://www.digitalmars.com/d/2.0/changelog.html https://github.com/downloads/D-Programming-Language/dmd/dmd.2.059.zip Note that the changelogs on dlang.org haven't been updated yet. Hope to get that done soon. Thanks for the whole D team for your great work! Btw. Is it possible to tag new releases with respective git commit hashes? This is for those who compile DMD, druntime and Phobos manually.
Re: UFCS for D
Walter Bright wrote: On 3/30/2012 4:24 AM, Piotr Szturmaj wrote: Walter Bright wrote: I think it's far superior to the explicit friend thing in C++. Just curious. Did you take it from Delphi? :-) No. I've never looked at Delphi in detail. But in any case, for any language feature, there's always another language that had done it before, or something like it, or something that if you stand on one leg and touch your nose it resembles it, or whatever. It's also true that good ideas tend to be reinvented over and over. Yes, I agree. There have been many module systems before Delphi, too. I even have dim memories of reading about modules in the 1980 Ada spec :-) Actually, I meant allowing access to private fields within the same module. It really helped me to avoid writing boilerplate code for these fields. And I'm thinking about lots of correlated classes. I asked because Delphi and D are the only ones I know that make friend classes implicit :-)
Re: UFCS for D
Walter Bright wrote: On 3/29/2012 5:09 PM, Steven Schveighoffer wrote: The reason being, if you change anything in class A, you do not have to worry about the implementation of getXSquared, because it simply has no access to the private implementation. You only have to worry about internal methods, and friend functions. Ok, I see what you're talking about. It has nothing to do with UFCS, it is D's design decision to not have explicit friends, but to make everything in a module implicitly a friend. I think it's far superior to the explicit friend thing in C++. Just curious. Did you take it from Delphi? :-)
Re: Visual D 0.3.31 features GDC support
Rainer Schuetze wrote: Hi, the new version of Visual D includes support for building and debugging D projects with GDC, both Win32 and x64. Cool! Keep up the good work! I can't wait to test my projects with GDC-win...
Re: Mono-D 0.3.0
alex wrote: A couple of new completion features + several bugfixes - [Internal] Refactored and re-organized code structures, hopefully easier to maintain & understand; Removal of unnecessary code - [Resolver] Implemented selective imports & scoped importing - [Resolver] Foreach iterator resolution implemented; opApply technique also accepted in most cases! - [Parser] dmd v2.058 support + several improvements + less workaround - [Resolver] Rudimentary resolution of template instance arguments -- comparing parameters with arguments still todo - [Parser] No Expression to TypeDeclaration workaround anymore - [Formatting] Fixed policy serialization problem - [Options] Fixed library browsing in the project options Project: http://mono-d.sourceforge.net Bugs/Issues: https://github.com/aBothe/Mono-D/issues Great! It has the best D code completion I have seen so far.
Re: D to Javascript converter (a hacked up dmd)
Adam D. Ruppe wrote: But, wrapping might be fun. I could probably do & 0xff if and only if D otherwise forces it to be a ubyte. But, what about the bit pattern of negative numbers? Take a look at WebGL's Typed Arrays. They allow explicit size integers and binary operators. The disadvantage is they're supported only on newest browsers.
Re: D to Javascript converter (a hacked up dmd)
Adam D. Ruppe wrote: On Wednesday, 29 February 2012 at 03:24:17 UTC, Piotr Szturmaj wrote: What about passing values within object? Yeah, that's one of the first things I thought of, but what about a more complex thing: d = a(c) + 4; where will the c=wrapper.value go? It can't go at the end of the function call now. Also, if the function call is in the middle of something, we'd have to assign the wrapper somewhere too. Suppose: d = (c = 2, a(c)); I think anything that isn't inline for the argument will be too easy to break. Here's another try with objects: function Wrapper(value) { this.value = value; } Wrapper.prototype.valueOf = function() { return this.value; } Wrapper.prototype.toString = function() { return this.value.toString(); } function a(b) { b.value = 10 + b; } var c = new Wrapper(5); a(c); alert(c); // shows 15 but this implies that all value variables must be initialized with new Wrapper(x).
Re: D to Javascript converter (a hacked up dmd)
Adam D. Ruppe wrote: The reason it didn't work before wasn't just dollar, but also ref params. This was a bit of a pain.. without pointers, how can I implement this? After thinking on it for almost an hour, I decided on passing lambdas instead: void a(ref b) { b = 10; } int c = 5; a(c); assert(c == 10); The JS looks like this: function a(b) { b(10); } var c = 5; a(function(set) { if(typeof set != "undefined") c = set; return c; }); c == 5 || _d_assert(); What about passing values within object? function a(b) { b.value = 10; } var c = 5; var wrapper = { value: c }; a(wrapper); c = wrapper.value;
Re: D to Javascript converter (a hacked up dmd)
Adam D. Ruppe wrote: On Tuesday, 28 February 2012 at 19:27:57 UTC, Piotr Szturmaj wrote: Can it compile a function to native code and JS simultaneously? I want to execute the same code on both client and server side. You'd have to run dmd twice because it exits before getting to the backend when doing js. But you can run the same code: dmd -md file.d # outputs file.js dmd file.d # outputs file.exe I see. You might need versions or something for library support, but that's just because I haven't ported much over yet. I realize that work on project has just begun :) I just now tried: import std.algorithm; auto range = sort!"a < b"(["b", "a"]); window.alert(range.front); .. and it produced 44 KB of Javascript code that *almost* worked. 44 KB - that's not bad! Looks like I have to fix the dollar expression, but otherwise, almost usable. Some time ago, I was interested in translation to JS, but I rather thought about binary translation, like in http://bellard.org/jslinux/. There's similar "emscripten" project which translates LLVM bytecode to JS: https://github.com/kripken/emscripten. And there's also commercial Morfik: http://en.wikipedia.org/wiki/Morfik. Perhaps you might find these links useful, if you don't know them already.
Re: Attractive Chaos' blog entry: Timeline of the D programming
bearophile wrote: I like the suggestion of putting modules into an experimental package, and to keep them there for some months, let users use them and find suboptimal parts, to avoid freezing what's unbaked still :-) +1 (especially for BIG modules)
Re: D to Javascript converter (a hacked up dmd)
Adam D. Ruppe wrote: https://github.com/downloads/adamdruppe/dtojs/dtojs.zip Daniel Murphy's microd fork of dmd, meant to output C, made me realize it'd be fairly easy to use that same method for other languages too. So, I spent some time these last two weekends making it work to put out Javascript. Cool! Can it compile a function to native code and JS simultaneously? I want to execute the same code on both client and server side.
Re: GoingNative 6: The D Episode with Walter Bright and Andrei Alexandrescu
Walter Bright wrote: http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-6-The-D-Episode-with-Walter-Bright-and-Andrei-Alexandrescu Great talk!
Re: dmd 1.073 and 2.058 release
Bill Baxter wrote: On Tuesday, February 14, 2012 20:47:27 Walter Bright wrote: * Allow 1.userproperty syntax Where is this odd-sounding beast documented? And what is UFCS? Ultimate Fighting Championship of Syntaxes
Re: dmd 1.073 and 2.058 release
Walter Bright wrote: Anyone care to count up the number of bug fixes here? http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.073.zip http://www.digitalmars.com/d/2.0/changelog.html https://github.com/downloads/D-Programming-Language/dmd/dmd.2.058.zip Great! Keep up good work! One note thought: I see that there are some new features borrowed from 2.057 log. Is this on purpose or an oversight?
Re: D forums now live!
Walter Bright wrote: On 2/14/2012 2:12 PM, Jonathan M Davis wrote: You should probably add a note to the description for digitalmars.D.bugs that bugs should be reported to the bug tracker and _not_ that list. I agree. Could it be disabled at the server side?
Re: http://dlang.org/bugstats.php
Andrei Alexandrescu wrote: On 1/22/12 6:17 PM, Piotr Szturmaj wrote: DISPLAY=$(TR $(TD $(LINK2 http://d.puremagic.com/issues/buglist.cgi?$2, $1)) $(TD )) Did so. On Chrome things look the same. Is there improvement on other browsers? Yes, it fixed Firefox rendering.
Re: http://dlang.org/bugstats.php
Andrei Alexandrescu wrote: We just put together a page that counts the bugs per category. It's linked from "Bug tracker" in the navigation panel. http://dlang.org/bugstats.php The format is sketchy. Looking forward to your suggestions for improvements. Andrei In FF there are blank spaces between rows due to iframe's default height. Please change DISPLAY macro to the following: DISPLAY=$(TR $(TD $(LINK2 http://d.puremagic.com/issues/buglist.cgi?$2, $1)) $(TD scrolling=no frameborder=0 width="4.8em" height="1.4em" style="width:4.8em;height:1.4em;" vspace="0" hspace="0" marginwidth="0" marginheight="0" src=fetch-issue-cnt.php?$2&format=table&action=wrap&ctype=csv>))
Re: Visual D 0.3.24 released
Rainer Schuetze wrote: as the newest version of Visual D includes some major improvements, I'd like to announce its release here. Cool! I'm using VisualD since version 0.3.22. Thank you for your great work!
Re: [Article Context, First Draft] Concurrency, Parallelism and D
dsimcha wrote: On 4/7/2011 7:01 PM, dsimcha wrote: Here's a first draft of an article on D's approaches to concurrency and parallelism for D's article contest. It's not an official submission yet, but feedback would be appreciated. http://davesdprogramming.wordpress.com/2011/04/07/7/ Made a few revisions, posted to Reddit. Please vote. http://www.reddit.com/r/reddit.com/comments/gmbkg/concurrency_parallelism_and_d/ Thank you for this article! It's very well explanation of threading issues and also it clearly shows that phobos multithreading support is wisely designed and comfortable to use. Nice!