Amber

2012-12-21 Thread Lars Ivar Igesund

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

2010-02-09 Thread Lars Ivar Igesund
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

2009-04-16 Thread Lars Ivar Igesund
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

2009-04-15 Thread Lars Ivar Igesund
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

2009-04-14 Thread Lars Ivar Igesund
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

2009-03-28 Thread Lars Ivar Igesund
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

2009-03-28 Thread Lars Ivar Igesund
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

2009-03-26 Thread Lars Ivar Igesund
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!

2009-02-28 Thread Lars Ivar Igesund
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!

2009-02-28 Thread Lars Ivar Igesund
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

2008-12-22 Thread Lars Ivar Igesund
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

2008-12-21 Thread Lars Ivar Igesund
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

2008-12-20 Thread Lars Ivar Igesund
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

2008-12-20 Thread Lars Ivar Igesund
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?

2008-12-14 Thread Lars Ivar Igesund
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]

2008-12-10 Thread Lars Ivar Igesund
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

2008-11-26 Thread Lars Ivar Igesund
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

2008-11-22 Thread Lars Ivar Igesund
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

2008-11-21 Thread Lars Ivar Igesund
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

2008-11-16 Thread Lars Ivar Igesund
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

2008-11-04 Thread Lars Ivar Igesund
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

2008-10-30 Thread Lars Ivar Igesund
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

2008-10-29 Thread Lars Ivar Igesund
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

2008-10-22 Thread Lars Ivar Igesund
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

2008-10-22 Thread Lars Ivar Igesund
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

2008-10-21 Thread Lars Ivar Igesund
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