August 02, 2011
On 2011-08-02 00:34, Andrei Alexandrescu wrote:
> On 8/1/11 4:35 PM, Nick Sabalausky wrote:
>> "Johann MacDonagh"<johann.macdonagh.no@spam.gmail.com> wrote in message
>> news:j1501g$tbs$1@digitalmars.com...
>>>
>>> 1. Database interface. Should support sqlite, mysql, postgres, etc...
>>> 3. Some kind of web framework.
>>
>> Agreed, but fortunately Adam's stuff for that is shaping up nicely:
>>
>> https://github.com/adamdruppe/misc-stuff-including-D-programming-language-web-stuff
>>
>>
>>> 2. DWT fixed up and merged into Phobos.
>>
>> That'd certainly be nice.
>
> Interesting. What platforms does DWT work on? What is the general
> community opinion on integrating it within Phobos? Is there anyone
> willing to take on this task?
>
> Thanks,
>
> Andrei

Windows and Linux (GTK) 32bit. I'm in the middle of porting the Mac OS X version. These are the platforms that SWT supports:

Windows 32/64bit
Windows CE
Linux 32/64bit and PPC64
Solaris 10 x86 and Sparc
HPUX IA64_32
AIX PPC/64
Mac OS X 32/64bit

Graphics systems used:
Windows - win32
Posix - GTK2
Mac OS X - Cocoa

I would be willing to take on this task, but it's not a priority I have right now. If anyone else wants to do it I have no problems with that.

It would probably be best if at least three people did the integration, ,one for windows, one for linux and one for osx, and work close together for any non-platform specific code. I'm using Mac OS X as my main system. BTW, the Mac OS X specific code could really benefit from Michel Fortin's Objective-C fork of DMD.

-- 
/Jacob Carlborg
August 02, 2011
On 2011-08-02 01:48, Jesse Phillips wrote:
> Andrei Alexandrescu Wrote:
>
>> On 8/1/11 4:35 PM, Nick Sabalausky wrote:
>>> "Johann MacDonagh"<johann.macdonagh.no@spam.gmail.com>   wrote in message
>>>> 2. DWT fixed up and merged into Phobos.
>>>
>>> That'd certainly be nice.
>>
>> Interesting. What platforms does DWT work on? What is the general
>> community opinion on integrating it within Phobos? Is there anyone
>> willing to take on this task?
>>
>> Thanks,
>>
>> Andrei
>
> I think DWT for D2 worked with Windows and Linux (tested on).
>
> The port is very Java style, it doesn't have a D layer to make it work nicely with ranges (err last time I used it 3 yrs ago). All the packages are org.eclipse... The library itself is huge and the port isn't complete.

How would the ranges be used in a GUI library?

> It probably isn't a good idea to bring it into Phobos since it needs to be easy to keep up with SWT development. However it might be reasonable to take DWT, mold it into a D like library and continue development separate from SWT. I don't know if that is easier than developing a D2 GUI library from scratch, but having such a library in Phobos is probably a *great* idea.


-- 
/Jacob Carlborg
August 02, 2011
On 02-08-2011 01:51, Piotr Szturmaj wrote:
> Jonathan M Davis wrote:
>> I think that it would be useful to query the community for what piece of
>> library functionality they don't currently have in D and would most
>> like to
>> see. For instance, there is no official logging framework in D or any
>> 3rd party
>> libraries which do it AFAIK. So, that could be one type of
>> functionality that
>> you may like to see. Now, there is a prospective implementation for
>> std.log
>> which shouldn't be all that far away from being reviewed, so listing
>> that here
>> wouldn't be all that useful, since it's on its way. But what other major
>> functionality do you miss in D that other languages' that you use have
>> available in their libraries?
>>
>> My hope here would be that we could get some good ideas going here
>> such that
>> we have can have a better idea what type of functionality it would be
>> particularly useful to be working on for Phobos or 3rd party D
>> libraries for
>> the community, and maybe it'll even get some people to actually go and
>> work on
>> these ideas so that we can improve the libraries that we have to work
>> with in
>> D. We can always use more help, and we definitely need a richer library
>> ecosystem for D. But even just discussing ideas could be of benefit.
>>
>> So, what major functionality which we don't currently have would you
>> like to
>> see in either Phobos or in a 3rd party library so that you could use
>> it in
>> your D programs?
>>
>> - Jonathan M Davis
>
> 1. Cryptography (I already wrote all SHA hash implementations and HMAC,
> they will be open sourced under Boost license, I'm also working on
> Rijndael/AES impl.)
>
> some of the proposed namespaces (just thinking loud):
>
> std.crypto.cipher - block and stream ciphers
> std.crypto.hash - message digests (SHA1, RIPEMD, ...)
> std.crypto.mac - message auth codes like HMAC, CMAC, UMAC
> std.crypto.mode - block cipher modes like CBC, GCM, ...
> std.crypto.padding - padding schemes
> std.crypto.pki - asymmetric cryptography (RSA), PKI
> std.crypto.x509 - certificate support

Sounds good to me!

- Alex
August 02, 2011
On 8/2/11, Marco Leise <Marco.Leise@gmx.de> wrote:
> Am 02.08.2011, 04:48 Uhr, schrieb Adam D. Ruppe <destructionator@gmail.com>:
>
>> I've been thinking about a minimalist drawing library for phobos - just basic 2d stuff, but with easy enough hooks to add more (native api events and handles.
>>
>> Nobody is likely to agree on a widget set, but basic drawing functions give a little usability with pretty small cost.
>>
>> I had a decent start a month or two ago but have since stalled out as my schedule became more ridiculous.
>
> I used a few drawing APIs: Delphi/Win32, Java2D, HTML5 Canvas, Gtk+ and
> recently Cairo. If there was a drawing API in Phobos I wish it was like
> Cairo. While some basic APIs have some special ability (like shadows in
> the HTML canvas) they often lack some essential functions. Java2D offers a
> lot, but I consider it bloated, YMMW. When I was writing a tool I came to
> need more and more advanced features:
> - fonts and text drawing
> - clipping
> - scaling (part of matrix manipulation)
> - transparency
> - measuring of the extents of what is about to be drawn
> I was using GtkD, the D wrapper for Gtk and Gtk lacked a lot of this.
> Fortunately Gtk comes with Cairo bindings which offered all that. This is
> just one example and just me, but I really think Cairo's API is very well
> designed, similar to Java2D and HTML5 Canvas and would be my reference for
> a drawing API in D. It doesn't need to offer bezier curves and
> anti-aliasing in the first version, but the idea of filling and stroking
> shapes or drawing surfaces that can be rendered into each other are kind
> of a standard now that can be built upon :)
>
> - Marco
>

Johannes Pfau is working on a D2 wrapper for Cairo: https://github.com/jpf91/cairoD

Unlike gtkD the bindings are Boost licensed, so I think one could make a small trivial windowing library with Cairo drawing and put that into Phobos. Of course the user would have to install either Gtk itself or the Cairo DLLs from the Gtk website before they can use the code.
August 02, 2011
On Tue, 02 Aug 2011 10:49:45 +0200, Jacob Carlborg wrote:

>> The port is very Java style, it doesn't have a D layer to make it work nicely with ranges (err last time I used it 3 yrs ago). All the packages are org.eclipse... The library itself is huge and the port isn't complete.
> 
> How would the ranges be used in a GUI library?

Well, not much thought has gone into it, but I'm thinking list displays could take ranges and provide a range interface. But maybe a ranges laziness is of no benefit and array() isn't so bad. I suppose working with Phobos containers would be a better example.

I should probably look at using DWT again. I started used DFL because I needed a dependencyless Windows library for D2 and DWT wasn't there yet, and in general it is pretty big...
August 02, 2011
On Sun, 31 Jul 2011 14:51:17 +0300, Peter Alexander <peter.alexander.au@gmail.com> wrote:

> - Fast vector math library suitable for games.

Speed is mostly up to the compilers' ability to optimize, especially inlining in this case.
We already have math libraries and there are one in the works for phobos, if they are not enough for you please everyone state your requirements.
August 02, 2011
On Tue, 02 Aug 2011 03:51:56 +0300, Brad Roberts <braddr@slice-2.puremagic.com> wrote:

> I don't think that any gui library belongs in phobos because there's
> essentially no agreement about what cross-platform library is standard.
> Pick any random 10 gui developers about what library they used (assuming
> they do anything cross-platform) and you'll get more than 1 answer.  I'd
> be shocked if you get a clear enough majority to suggest 1 that'd make a
> big set of people happy.
>
> Sorry, the gui library landscape just doesn't approach being obvious
> enough to be in the standard library.
>
> My 2 cents,
> Brad
>

I agree, GUIs (and other huge libraries that everyone has their own favorite) don't belong standard library. Other languages get away with it because they are either platform themselves or support only one platform.
Another reason not to include them to the standard library, remember phobos has rules (we might need to change many things).
But if we have something small, simple and cross-platform somewhere, why not!
August 02, 2011
2011/8/2 so <so@so.so>

> On Tue, 02 Aug 2011 03:51:56 +0300, Brad Roberts < braddr@slice-2.puremagic.com> wrote:
>
>  I don't think that any gui library belongs in phobos because there's
>> essentially no agreement about what cross-platform library is standard. Pick any random 10 gui developers about what library they used (assuming they do anything cross-platform) and you'll get more than 1 answer.  I'd be shocked if you get a clear enough majority to suggest 1 that'd make a big set of people happy.
>>
>> Sorry, the gui library landscape just doesn't approach being obvious enough to be in the standard library.
>>
>> My 2 cents,
>> Brad
>>
>>
> I agree, GUIs (and other huge libraries that everyone has their own
> favorite) don't belong standard library. Other languages get away with it
> because they are either platform themselves or support only one platform.
> Another reason not to include them to the standard library, remember phobos
> has rules (we might need to change many things).
> But if we have something small, simple and cross-platform somewhere, why
> not!
>

If a GUI library were included in Phobos, that would make D a much better competitor against C#.  That's why I hope such an inclusion would be possible in the future.  I see why it might not be possible, though.


August 02, 2011
On Tue, 02 Aug 2011 06:10:29 +0300, bearophile <bearophileHUGS@lycos.com> wrote:

> - I'd also like a std.image module to load and save images in png, gif, jpeg, ppm, bmp. This is a very common need, even more common than a GUI toolkit, and there are far less ways to load a PNG than to create the API of a GUI toolkit.

Wrapper over http://nothings.org/stb_image.c and no license issue.
Sean Barrett wouldn't mind Boost i think.
Though i am not sure it serves the general needs.
August 02, 2011
2011/8/2 so <so@so.so>

> On Tue, 02 Aug 2011 03:51:56 +0300, Brad Roberts < braddr@slice-2.puremagic.com> wrote:
>
>  I don't think that any gui library belongs in phobos because there's
>> essentially no agreement about what cross-platform library is standard. Pick any random 10 gui developers about what library they used (assuming they do anything cross-platform) and you'll get more than 1 answer.  I'd be shocked if you get a clear enough majority to suggest 1 that'd make a big set of people happy.
>>
>> Sorry, the gui library landscape just doesn't approach being obvious enough to be in the standard library.
>>
>> My 2 cents,
>> Brad
>>
>>
> I agree, GUIs (and other huge libraries that everyone has their own
> favorite) don't belong standard library. Other languages get away with it
> because they are either platform themselves or support only one platform.
> Another reason not to include them to the standard library, remember phobos
> has rules (we might need to change many things).
> But if we have something small, simple and cross-platform somewhere, why
> not!
>

If a GUI library were included in Phobos, that would make D a much better competitor against C#.  That's why I hope such an inclusion would be possible in the future.  I see why it might not be possible, though.