Amber
Dear D community, I've been urged by many others to post about Amber here. It is a programming language being derived from D1, with a compiler written using D1 and Tango, with LLVM and C backends. The quality of code and documention is alpha (or pre-alpha). Project page: https://bitbucket.org/larsivi/amber Background: http://www.dsource.org/projects/tango/forums/topic/920 We hold house in #amber on Freenode. Regards, Lars Ivar Igesund larsivi @ #amber on Freenode
Tango 0.99.9 Kai released
Dear D community A new version of Tango is now available for download, named after Kai for his several contributions in this cycle. The main focus of this release has been final cleanup and a lot of bugfixing for the upcoming v1.0 package. This release has seen 356 tickets resolved, 932 commits, and is current with the latest DMD compiler (v1.056). Some new features include: * Safe weak references * Arguments module * RIPE-MD128, RIPE-MD160 and Whirlpool digests by Kai * Vector and Stack containers can now be grown * !HomeFolder module For a complete list of changes please see http://www.dsource.org/projects/tango/wiki/0_99_9_Changelog . We welcome all feedback and are always looking for new participants, so feel free to contact us via the page linked below. Downloads and their install instructions are found at http://www.dsource.org/projects/tango/wiki/TopicInstallTangoDmd for DMD or http://www.dsource.org/projects/tango/wiki/TopicInstallTangoLdc for LDC. Contact: Need support, or wish to help? Please see http://www.dsource.org/projects/tango/wiki/Contact . Home: The Tango homepage is at http://www.dsource.org/projects/tango. Signed, The Tango Team
Re: dmd 1.043 alpha for FreeBSD 7.1
Anders F Björklund Wrote: > Lars Ivar Igesund wrote: > > > FreeBSD breaks existing code, and so will OSX whenever darwin is removed. > > Now a developer already active on those platform is forced to somehow make > > sure both identifiers are in place until some unknown point in the future. > > > > Since the version identifiers have been established in GDC a very long time > > ago, and they do follow an acceptable convention, I find it very > > unnecessary > > to change that. > > One *could* argue the same thing about the introduced Posix identifier, > versus the already established Unix so I'm not sure it's entirelly fair > to bash DMD doing the same thing as Tango had already done before it... That is a fair question to bring up, although I never got the impression that Unix was well established (except possibly from you :) ). It was also a feeling back then that Unix probably didn't describe the features as well as Posix did (an established standard followed by a wider range of systems than the older unix standards, and some of those really not wanting to be Unices). Maybe there is also a difference between the time between 2005 and 6 and 2006 and 2009, but in the end it comes down to whether it makes sense to change the colour of this bikeshed (the Unix shed was larger and more visible and I claim it was worth the change); I don't think this change is worth it. Lars Ivar
Re: dmd 1.043 alpha for FreeBSD 7.1
Walter Bright wrote: > Lars Ivar Igesund wrote: >> Walter Bright wrote: >> >>> Now works for FreeBSD 7.1! >> >> Nice! >> >> But is there a particularly good reason for disregarding version >> identifiers already established by gdc and ldc? >> >> freebsd vs FreeBSD, darwin vs OSX > > FreeBSD is how it is normally written in the official FreeBSD > literature, such as : http://www.freebsd.org/ > > Also, gcc on FreeBSD predefines __FreeBSD__ > > Clearly, FreeBSD is the term preferred by the FreeBSD community. > > The Mac OSX documentation does not refer to it as darwin, it normally > refers to it as OSX. You have to work hard to find any references to > darwin on the Apple web site. Nevertheless, "darwin" is predefined for > legacy compatibility on the Mac dmd compiler. > > I was concerned that people would see "darwin" support and wonder what > that is. OSX is an order of magnitude better known and associated with > Apple. Macs are not called "darwins". I suspect we'd get real tired of > saying "yes, darwin really means OSX." > > (As an aside, back in the 80's the ubiquitous and famous Wordstar > program was produced by Micropro. Nobody could ever remember the company > name. After many years of people assuming that Wordstar was made by > Wordstar Inc. and fruitlessly trying to find Wordstar Inc., Micropro > finally wised up and changed their name to Wordstar Inc. > > Also, note that most bands put out their first CD as a self-titled one.) I don't mind your conventions if DMD had pioneered these platforms, but it did not. FreeBSD breaks existing code, and so will OSX whenever darwin is removed. Now a developer already active on those platform is forced to somehow make sure both identifiers are in place until some unknown point in the future. Since the version identifiers have been established in GDC a very long time ago, and they do follow an acceptable convention, I find it very unnecessary to change that. As for the darwin vs OSX issue, what I heard is that darwin is technically the more correct one as it is with linux vs Ubuntu, Suse, etc. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: dmd 1.043 alpha for FreeBSD 7.1
Walter Bright wrote: > Now works for FreeBSD 7.1! Nice! But is there a particularly good reason for disregarding version identifiers already established by gdc and ldc? freebsd vs FreeBSD, darwin vs OSX -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: Tango 0.99.8 Sean released
Chad J wrote: > Lars Ivar Igesund wrote: >> Dear D community >> >> -- >> >> Signed, >> >> The Tango Team >> > (Also Jacob commented on the docs.) > > I'll give some critique on the new dil-generated docs as well. > > I'm looking at these two links: > http://www.dsource.org/projects/tango/docs/0.99.8/ > http://dil.googlecode.com/svn/doc/Tango_0.99.7/tango.text.xml.Document.html > > I'm assuming the latter are an older version of dil/kandil?. I think so yes (at least a few patches difference). > I was a bit annoyed by the API/Modules modality in the latter docs. > It'd be nice if the "Modules" list became collapsible and put the API > elements as children of each module. It seems the newer(?) version of > the docs is collapsible, but has yet to eliminate the modality. The > newer version is tolerable though since it doesn't just hijack the frame > when I click on a module. It made me have to navigate back to the > "Modules" mode every time I wanted to go to a different module. So > yeah, forced modality here is a bad thing. I'd prefer to just get rid > of the modality entirely and merge it all into one collapsible index. Not sure it is feasible to put _all_ public Tango symbols in the same tree, JS performance seems to very quickly become a potential issue. In that case the modality is a very acceptable workaround IMO. Feel free to work with Aziz on it though. Or create ticket(s). > Also, it seems dil has yet to make types found in the documentation act > as hyperlinks to their definitions or at least module of definition. > This one is big for me. I'm hoping it's been planned. Not sure what you mean here -if you mean that a return type should link to the docs of that type, then yes, that is something that we very much want but that requires more semantic processing than dil currently has. > Other than that I like the new docs, and I like how progress is being > made on more intelligent generated docs. That I can at least click on > things and see how they are defined in code is rather useful, especially > given all the trickery D can play with its type system. Good job! > > - Chad -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: Tango 0.99.8 Sean released
Jacob Carlborg wrote: > Lars Ivar Igesund wrote: >> Dear D community >> >> A new version of Tango is now available for download. The release is >> named after Sean Kelly for his past work on the Tango runtime and now >> druntime. The release have several new features, and fairly major changes >> to tie the IO even closer together. To make the transition easier, the >> previous incarnation is still available for this release. >> >> This has been a much delayed release compared to the earlier Tango >> releases, but time has been spent fairly well, covering 301 closed >> tickets and more than 600 commits. >> >> * Final refinement of the IO >> * JSON parser/builder >> * FTP adapter for the VFS by Lester L. Martin II >> * Serial port support by Robin Kreis >> * Inter-thread communication by Steven Schveighoffer >> * /dev/null support by Fawzi Mohamed >> * Random framework by same Fawzi >> * BigInt by Don Clugston >> * Updated for DMD 1.041, including Mac support >> * Support for LDC >> * OpenSolaris support by BlueZeniX >> * New API docs courtesy of Aziz and Moritz >> * More containers such as HashFile >> >> For a complete list of changes please see the changelog. We welcome all >> feedback and testing. >> >> We're in the process of updating to new API docs as mentioned above, now >> generated by dil. You can see the docs for 0.99.8 at >> http://www.dsource.org/projects/tango/docs/0.99.8 or later download them >> from via the download pages. >> >> We are always looking for new participants, so feel free to contact us >> via the page linked below. In particular, we are looking for someone to >> help drive the online presence via our Trac pages. >> >> The Tango homepage can be found at http://www.dsource.org/projects/tango >> >> Downloads: >> http://www.dsource.org/projects/tango/wiki/Download >> >> See http://www.dsource.org/projects/tango/wiki/TopicInstallTango for more >> detailed installation instructions for your system. >> >> Contact information at http://www.dsource.org/projects/tango/wiki/Contact >> >> -- >> >> Signed, >> >> The Tango Team >> > > That's great. > > A few thoughts on the new documentation: > > The new dil generated documentation is a little hard to read. There is > no space after the documentation of an item and the text item. I also > liked the old font better than the new. Now when the documentation for > object.di is actually generated we could perhaps get some documentations > for it. The CSS and DDoc macro's are in SVN, I think most of what you mention can be fixed via that so feel free to suggest patches. A note on fonts; I think none are currently specified meaning that what you see are the browswer defaults. > Other from that I really like the new documentation. Me too :) -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Tango 0.99.8 Sean released
Dear D community A new version of Tango is now available for download. The release is named after Sean Kelly for his past work on the Tango runtime and now druntime. The release have several new features, and fairly major changes to tie the IO even closer together. To make the transition easier, the previous incarnation is still available for this release. This has been a much delayed release compared to the earlier Tango releases, but time has been spent fairly well, covering 301 closed tickets and more than 600 commits. * Final refinement of the IO * JSON parser/builder * FTP adapter for the VFS by Lester L. Martin II * Serial port support by Robin Kreis * Inter-thread communication by Steven Schveighoffer * /dev/null support by Fawzi Mohamed * Random framework by same Fawzi * BigInt by Don Clugston * Updated for DMD 1.041, including Mac support * Support for LDC * OpenSolaris support by BlueZeniX * New API docs courtesy of Aziz and Moritz * More containers such as HashFile For a complete list of changes please see the changelog. We welcome all feedback and testing. We're in the process of updating to new API docs as mentioned above, now generated by dil. You can see the docs for 0.99.8 at http://www.dsource.org/projects/tango/docs/0.99.8 or later download them from via the download pages. We are always looking for new participants, so feel free to contact us via the page linked below. In particular, we are looking for someone to help drive the online presence via our Trac pages. The Tango homepage can be found at http://www.dsource.org/projects/tango Downloads: http://www.dsource.org/projects/tango/wiki/Download See http://www.dsource.org/projects/tango/wiki/TopicInstallTango for more detailed installation instructions for your system. Contact information at http://www.dsource.org/projects/tango/wiki/Contact -- Signed, The Tango Team
Re: QtD 0.1 is out!
Eldar Insafutdinov wrote: > Lars Ivar Igesund Wrote: > >> Eldar Insafutdinov wrote: >> >> > We faced a bug that module static constructors don't work with cyclic >> > imports. Currently it's fixed with a dirty hack which is not really >> > acceptable. Is there any chance for this to be fixed? >> >> IMO it is the cyclic import that is the bug ;) >> >> -- >> Lars Ivar Igesund >> blog at http://larsivi.net >> DSource, #d.tango & #D: larsivi >> Dancing the Tango >> > > I am not an expert but, Qt is a good example in my opinion, beause it is a > mature API (fourth version) which shows that you can't go without cyclic > dependencies in a very complex project. I do not agree that this proves anything. My opinion is that a circular dependency at the very least is a hazardous design decision. In a class hierarchy this may work out well if there never ever will be any sub-classes to the involved classes, but typically this will come back and bite you in the toe when you cannot afford to redesign. I know D is less forgiving about this than other languages, and so it is a good help in creating a good design. Note that Java allows circular import dependencies, but not class dependencies at construction time (instance variables initialised prior to the constructor being run) which is similar to the static construction restriction in D. I understand that your issue is due to Qt's design and not your own, and as such the compiler could be more helpful, but in general I think the compiler should flag this at least at warning level (I agree with those who think it should be a compile time rather than a runtime error). -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: QtD 0.1 is out!
Eldar Insafutdinov wrote: > We faced a bug that module static constructors don't work with cyclic > imports. Currently it's fixed with a dirty hack which is not really > acceptable. Is there any chance for this to be fixed? IMO it is the cyclic import that is the bug ;) -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: DMD 1.038 and 2.022 releases
John Reimer wrote: > Since I'm not a Java developer (or, to be honest, any kind of developer > beyond a language enthusiast), I'd say I'm not in a good position to > question the design decision of Java source that uses cyclic dependencies > (such as SWT). > All I can say is that I can agree that it looks like a bad idea because > I can certainly see the painful problems it can produce. I haven't used SWT enough, and certainly not looked much at the internals, to say whether I consider this a problem there or not. However, I've been using GWT for a while, and there was this widget I wanted to use. Unfortunately for me it missed a feature (or the ability to turn off a feature really) that I needed. And since it wasn't possible to fix this by subclassing either, I had to reimplement it all. Now, this wouldn't be so bad, but as it turned out it depended on a few other classes, and 4 or 5 of those had a back dependency on the main widget, meaning I had to reimplement those too. As it was, the discerning functionality of the main widget could have (should have) been put into an interface, the helper classes depend on that interface instead, the feature exposed, and by that time it would already be of much higher quality. Some more work would probably be needed with regards to the helper classes, but in the original code all of them could as well have been privat! e classes of the widget. It is definately much more difficult to properly design code such that it has fewer cyclic dependencies, but I think that the choice between bottom-up or top-down approach will affect this a lot. If you start at the bottom, you're probably more likely to get a good result in this respect, just because there is only lower-level functionality to pick from when building the higher-level components. I do of course understand that bottom-up may not be the most obvious choice if high-level functionality is what you need in the first place. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: DMD 1.038 and 2.022 releases
John Reimer wrote: > Hello Lars, > >> bearophile wrote: >> >>> Walter Bright: >>> >>>> Excess isn't the problem, I want to see if import cycles is. >>>> >>> Generally all the modules in my dlibs import each other. This is >>> nearly unavoidable, if a module contains string functions, and >>> another one contains math stuff, the string module will want to use >>> some math stuff and the math module may need string representations >>> and processing. In the D specs I haven't seen an advice to not use >>> cyclic imports, so I don't want such compiler flag, I prefer a >>> compiler able to manage such cyclic imports efficiently. >>> >> Cyclic imports is very often a sign of bad design, it typically mean >> (if it is unavoidable), that the modules shouldn't be separated in the >> first place. And in D it _is_ a bad idea because static initialization >> cannot depend on each other, that is cyclic imports of modules with >> static ctors. >> > > > And yet it appears practically unavoidable in D in many situations, > especially > in porting software that with C, Java, or C++ heritage. Being mostly a Java developer, I am well aware of the usage of cyclic dependencies in Java. Although it usually works fine technically, unless the dependencies are in the constructor itself, usage patterns are often made more difficult because of unnecessary cyclic dependencies and/or tight coupling. When porting something from Java, I don't really propose that you fix the errors of the original code, just saying that also the original code in that respect probably has made questionable design decisions. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: DMD 1.038 and 2.022 releases
Yigal Chripun wrote: > Denis Koroskin wrote: >> On Sat, 20 Dec 2008 20:41:23 +0300, Yigal Chripun >> wrote: >> >>> Denis Koroskin wrote: >>>> On Mon, 15 Dec 2008 10:58:23 +0300, Bill Baxter >>>> wrote: >>>> >>>>> For me, V1.038 compiles my code but takes a really really really long >>>>> time to do so. >>>>> >>>>> It now takes 1 min 20 secs for a full build, when it used to compile >>>>> in 13 seconds. >>>>> Forget the 60% slowdown from LDC -- this is 515% slower! >>>>> >>>>> (building with DSSS and tango) >>>>> >>>>> --bb >>>>> >>>> >>>> I generally make all my imports private and run a command line tool >>>> that strips unnecessary imports once in a while to minimize >>>> intermodular dependencies. Maybe it could help in your case, too? >>> >>> When programming in Java, Eclipse knows to handle all of this for you. >>> it will suggest adding missing imports, it can remove unused imports >>> and it can convert a foo.bar.* into a list of the specific modules you >>> actually used in the code. >>> I wish that kind of tool would be available for D. Is this >>> functionality implemented in descent? if not, is it planned? >>> >>> I do realize that it's more difficult to do this for D than it is for >>> Java, because of Conditional compilation and other issues already >>> mentioned in this thread. But it would be awesome if I could just write: >>> >>> Stdout("whatever").newline; >>> >>> and get a quick-fix action (Ctrl+1) to add tango.io.Stdout to the list >>> of imports. >>> >>> --Yigal >> >> You should watch Descent videos on youtube, it is *much* smarter that >> that! >> >> http://www.youtube.com/user/asterite > > I watched the video. > the functionality is that if you write: new Foo; it added automatically > an import for Foo. that's very cool and all but I was asking for > something more than that. > > for Java, Eclipse can add and manage imports for you not only when you > do new Somthing() but also for functions - like recognizing that > Stdout("string") needs to import tango.io.Stdout. More over, if you > wrote some of the imports yourself, or edited some code and removed the > only call to some function, you can ask eclipse to orginize your imports > and it'll remove unneeded imports and expand Java's Foo.* kind of import > to a list of the actual modules the code needs. > > Descent is a great project and I want to thank all the developers > involved in this great undertaking. All I'm saying is that it would be > nice to also have an "organize imports" function in Descent. And you know for certain that it doesn't have this? -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: DMD 1.038 and 2.022 releases
bearophile wrote: > Walter Bright: >> Excess isn't the problem, I want to see if import cycles is. > > Generally all the modules in my dlibs import each other. This is nearly > unavoidable, if a module contains string functions, and another one > contains math stuff, the string module will want to use some math stuff > and the math module may need string representations and processing. In the > D specs I haven't seen an advice to not use cyclic imports, so I don't > want such compiler flag, I prefer a compiler able to manage such cyclic > imports efficiently. Cyclic imports is very often a sign of bad design, it typically mean (if it is unavoidable), that the modules shouldn't be separated in the first place. And in D it _is_ a bad idea because static initialization cannot depend on each other, that is cyclic imports of modules with static ctors. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: Anyone use twitter for D?
Daniel de Kok wrote: > On Sat, 13 Dec 2008 21:08:32 -0500, Nick Sabalausky wrote: > >> "Walter Bright" wrote in message >> news:ghs5kf$9d...@digitalmars.com... >>>I started one to see how that works out for D. >>>http://twitter.com/WalterBright >> >> Call me a curmudgeon, but does anyone ever read twitters? They seem to >> be enormously popular to write, though I've never understood why. > > I made a Twitter account a while back, just to try. But I really have > difficulty to keep up with other people's tweets: there is no serious > threading whatsoever and 80% of the people tweet about entering/leaving > the train, their meals, etc. As a result, if you have more than a few > friends, it's impossible to catch up with Twitter, unless you make it a > hourly activity. Although some of those I follow are friends, I really only follow those with a common interest (ie mainly D) - I followed a couple of people that put in really personal stuff, whom I promptly disfollowed. The biggest potential issue as I see it, are "personal" (@nickname) messages that are publicized, since you very often have little or no way to relate to it when they aren't meant for you. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: Bug #2429 [ was DMD 1.037 and 2.020 releases]
Spacen Jasset wrote: > Fawzi Mohamed wrote: >> On 2008-12-08 19:06:42 +0100, Kagamin <[EMAIL PROTECTED]> said: >> >>> torhu Wrote: >>> >>>> Tango also opens files for writing with shared reading disabled by >>>> default. I'm not sure why, but maybe someone can remember the reason >>>> for it. >>> >>> they just forgot? :) >> >> consistency with windows as far as I know, so the program behaves the >> same on windows and unix. >> >> Fawzi >> > Its not consistent with any other libraries of any other compilers I > know of. The Linux implementation is in my opinion certainly incorrect. On Windows, the "default" is not shared in the sense that that is what you get if you pass no specific sharing parameters (0). I'm not windows expert, but if I read the CreateFile docs correctly, having some form of sharing as default can be wrong (causing errors) in some cases? On Posix, the situation is quite different in that sharing is default. In fact non-sharing is not enforced by the system such that it is up to the application to figure out whether it should stay away or not. I believe there is room for improvement, but I'm not sure the default should be different? -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: DMD 1.037 and 2.020 releases
Walter Bright wrote: > http://www.digitalmars.com/d/2.0/changelog.html > http://ftp.digitalmars.com/dmd.2.021.zip It is nice that there is now a way to have non-heap-allocating delegates, but it is bad that it is a breaking change (in terms of D1 vs D2). But how does it work? If I have foo(scope void delegate()) { } will then foo({ ... }); not allocate? -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: I'm off to Oredev, be back in a few days
torhu wrote: > Lars Ivar Igesund wrote: >> Walter Bright wrote: >> >>> Lars Ivar Igesund wrote: >>>> Walter Bright wrote: >>>> >>>>> In Sweden! >>>> >>>> It is Øredev ;) >>> >>> When I get a keyboard that does umlauts, I'll stick them in! >> >> There were no umlauts there :D If anything, it shows your lack of a >> unicode enabled newsreader ;) >> > > Well, Walter made a Latin-1 post. You replied with no charset selected. > :P You are right ... second time I've been bitten by this upgrade. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: I'm off to Oredev, be back in a few days
Walter Bright wrote: > Lars Ivar Igesund wrote: >> Walter Bright wrote: >> >>> In Sweden! >> >> It is redev ;) > > When I get a keyboard that does umlauts, I'll stick them in! There were no umlauts there :D If anything, it shows your lack of a unicode enabled newsreader ;) -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: I'm off to Oredev, be back in a few days
Walter Bright wrote: > In Sweden! It is ??redev ;) -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: D on stackoverflow.com
Walter Bright wrote: > We've got our own tag now! > > http://stackoverflow.com/questions/tagged/d It's been there most of the time ;) It has just been buggy :P -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: DDBI update
bobef wrote: >> I want feedback! In particular regarding how to fetch values not as >> strings > > I imagine the db engines return something like this: > > struct { > int type; > int int_data; > char* char_data; > bool bool_data; > etc etc_data; > } Actually, in mysql, you get the results (in normal mode, not prepared) as strings, so that is the natural way to return them, but this means that the user would have to convert them, which they may not want to do. For prepared statements, you bind storage to the result, and so you get those data directly into your storage. > So I image Row.get should look like this: > > T get (T=char[])(int idx) { > static if(is(T == char[])) { > if(fieldtype == string) return field.char_data; > else if(fieldtype == int) return toString(field.int_data); > else throw new Exception("Don't know how to convert from > "~field.typename~" to "~T.stringof); > } > else static if() etc > } If this is how SQLite returns the data, then this approach is feasible, but I need to make sure that the interface used is "portable" over the various dbms. > At least this is what I do with Sciter to work seamlessly with D, and this > is what I plan to do with sqlite soon, if there is no other project doing > it :) In my experience this stuff works great. SQLite support is the next task for me on DDBI. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: DDBI update
BCS wrote: > Yesterday, larsivi committed an update to DDBI. It's the first work in a > month or so. More than a month, but yeah :) Note that this is not a release, I expect those to appear when sqlite is back in. > http://www.dsource.org/projects/ddbi/changeset/95 > >> >> Initial commit for the next phase of DDBI development (I am really sorry > that it has taken this long). >> * First revision of the new base interfaces (in dbi/model) >> * Implemented interfaces (95%) for mySQL - it is heavily tested, and >> since > this commit does a lot, there may >> be some glitches >> * Support for other databases will be added (sqlite is next in line), >> although > this commit clear out all of the >> old implementations. They can still be found in the tags/branches area > of the repository. >> * I want feedback! In particular regarding how to fetch values not as > strings >> * Is this an ideal minimal API that more complex functionality can be > built on top of? >> * This code is only tested on 32 bit linux >> > > As I don't known where else to put it, I'm posting some "feedback"* and > questions** here: > > Does it support stored procedures? It certainly isn't a case of _not_ supporting them, but I haven't actually tried or given them any thought (unlike prepared statements which is definately supported). > I've been using DDBI on MySQL for a few projects and almost exclusively > working via stored procedures. The old version didn't support multiple > queries so it couldn't use them at all and I had to actually dig out the > MySQL C API docs and figure out how to hack in support. Would you mind sending me the relevant hacks so I understand your question better? The email works. > > *I don't have time to look at the code yet so it's not really feedback. > > **it's not questions either as I only have one. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: DMD 1.036 and 2.020 releases
Andrei Alexandrescu wrote: > Lars Ivar Igesund wrote: >> Sean Kelly wrote: >> >>> Don wrote: >>>> We also now have two modules called 'bitmanip', which is somewhat >>>> ironic since we brainstormed for ages trying to come up with a better >>>> name for it. Modules with duplicate names have caused linking problems >>>> in the past -- not sure if that applies here. >>> It applies if the modules from both Phobos and druntime end up in the >>> same library on *nix. Windows doesn't appear to have the same issue. >>> But I'd love to hear suggestions for alternative names-- I'm not >>> terribly good at naming modules :-p. >>> >>> Also, any I'd like to see how people feel about having three top-level >>> packages in druntime vs. one-- an alternative I'd considered was to put >>> everything under core. >>> >>> >>> Sean >> >> Functionality exposed from the runtime should reside in core, std >> shouldn't be used in druntime and any other packages (sys) is presumingly >> reserved for what corresponds to tango.sys >> >> In any case, a hierarchy of the type >> >> common/ >> core/ >> sys/ >> stdc/ >> >> should be highly considered. This would allow a namespace for >> functionality that is truly common, not only the runtime, but math and >> eventually other functionality. In addition it is naive to believe that >> just because druntime is meant to be a common runtime, that it will be >> the only runtime in the long run. > > A problem I see with the proliferation of top-level packages in the > standard library is that each of them makes homonym user-defined > packages inaccessible. Heck, I have a package called "common" today. This is not about proliferation, but having _one_ for common functionality. common was just a suggestion that I like, it could be something else that fits the purpose. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: DMD 1.036 and 2.020 releases
Sean Kelly wrote: > Don wrote: >> >> We also now have two modules called 'bitmanip', which is somewhat ironic >> since we brainstormed for ages trying to come up with a better name for >> it. Modules with duplicate names have caused linking problems in the >> past -- not sure if that applies here. > > It applies if the modules from both Phobos and druntime end up in the > same library on *nix. Windows doesn't appear to have the same issue. > But I'd love to hear suggestions for alternative names-- I'm not > terribly good at naming modules :-p. > > Also, any I'd like to see how people feel about having three top-level > packages in druntime vs. one-- an alternative I'd considered was to put > everything under core. > > > Sean Functionality exposed from the runtime should reside in core, std shouldn't be used in druntime and any other packages (sys) is presumingly reserved for what corresponds to tango.sys In any case, a hierarchy of the type common/ core/ sys/ stdc/ should be highly considered. This would allow a namespace for functionality that is truly common, not only the runtime, but math and eventually other functionality. In addition it is naive to believe that just because druntime is meant to be a common runtime, that it will be the only runtime in the long run. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Re: DMD 1.036 and 2.020 releases
Extrawurst wrote: > Walter Bright wrote: >> >> http://www.digitalmars.com/d/1.0/changelog.html >> http://ftp.digitalmars.com/dmd.1.036.zip >> >> The 2.0 version splits phobos into druntime and phobos libraries (thanks >> to Sean Kelly). This will enable both Tango and Phobos to share a common >> core library. >> >> http://www.digitalmars.com/d/2.0/changelog.html >> http://ftp.digitalmars.com/dmd.2.020.zip >> >> There are a lot of structural changes that go along with this, so expect >> some rough patches with this release. It may take a followup release to >> file them down. There's also some renaming of imports and function >> names, as a compromise with Tango names. > > > Sounds great ! > > But why is it that since 2.020 i cannot name a package "shared" anymore? > > moudle shared.foo; > > dmd: "Identifier expected following module" > > WTF ? Because shared is now a keyword. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango