August 02, 2011 Re: What library functionality would you most like to see in D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Piotr Szturmaj | Am 02.08.2011 01:51, schrieb Piotr Szturmaj: > 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 > Maybe http://www.dsource.org/projects/dcrypt could be used. Cheers, - Daniel |
August 02, 2011 Re: What library functionality would you most like to see in D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Roberts | On 8/1/2011 5:51 PM, Brad Roberts 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.
Also, remember, we did try to endorse a standard gui library for D a while back. It was a disaster on every front.
|
August 02, 2011 Re: What library functionality would you most like to see in D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | "Jacob Carlborg" <doob@me.com> wrote in message news:j18dfe$20rj$1@digitalmars.com... > > 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 > It does Solaris, HPUX, and AIX, but not BSD?? |
August 02, 2011 Re: What library functionality would you most like to see in D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Alex Rønne Petersen | "Alex Rønne Petersen" <xtzgzorex@gmail.com> wrote in message news:j19d45$pt5$1@digitalmars.com... > On 02-08-2011 18:44, Jacob Carlborg wrote: >> >> Some kind of console library to easy handle input from a user, displaying progress bars, outputting text in different colors and similar. >> > Perhaps a curses binding of some sort? > Maybe for linux, but it should be cross-platform and therefore use the Win API for that stuff on Windows. (For some bizarre reason, ANSI display support was removed from approx Win2k onward.) |
August 02, 2011 Re: What library functionality would you most like to see in D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | There's a win32 curses-like library around afaik. It uses escape codes instead of WinAPI calls. Btw I've tried using WinAPI for console coloring, it's so damn clumsy to use. -_- |
August 02, 2011 Re: What library functionality would you most like to see in D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Roberts | On 8/1/2011 8:51 PM, Brad Roberts wrote: > > Sorry, the gui library landscape just doesn't approach being obvious > enough to be in the standard library. > > My 2 cents, > Brad > After reading through this thread I now agree with you. I do think we need: 1. Ability to quickly install DWT (D package manager) 2. Links and documentation on d-p-l.org That way it's sort of the official GUI library, but we're not tying up Phobos development with this gigantic code base. Do you think this is a good idea? I think having some official GUI makes D more competitive with C#. It also allows IDE tools to start targeting designers for a particular library. What about wxWidgets? It has C bindings making the wrappers easy. There's already wxD (http://wxd.sourceforge.net/), but I'm not sure how mature it is. |
August 02, 2011 Re: What library functionality would you most like to see in D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On 8/1/2011 5: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
>
Ah nice, I knew he was working on a web framework but I wasn't sure about database support. Perhaps we should start taking a look at it, making it "Phobos-like", and create bindings for a set of databases.
|
August 02, 2011 Re: What library functionality would you most like to see in D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Johann MacDonagh | > On 8/1/2011 8:51 PM, Brad Roberts wrote:
> > Sorry, the gui library landscape just doesn't approach being obvious enough to be in the standard library.
> >
> > My 2 cents,
> > Brad
>
> After reading through this thread I now agree with you. I do think we need:
>
> 1. Ability to quickly install DWT (D package manager)
> 2. Links and documentation on d-p-l.org
>
> That way it's sort of the official GUI library, but we're not tying up Phobos development with this gigantic code base.
>
> Do you think this is a good idea? I think having some official GUI makes D more competitive with C#. It also allows IDE tools to start targeting designers for a particular library.
>
> What about wxWidgets? It has C bindings making the wrappers easy. There's already wxD (http://wxd.sourceforge.net/), but I'm not sure how mature it is.
I see no need for an official GUI. If there were an obvious winner, then maybe, but there isn't. And as Walter pointed out, apparently there was a previous attempt at endorsing a GUI library as the standard GUI library for D in the past and that went quite badly.
Having a package management tool for D would definitely help, and maybe some of the more major D projects should be listed on the official site so that it's easier for people to know about them and find them. But trying to make a particular GUI library official is not a good idea IMHO. What we need is for it to be easier to find and use major D projects such as GUI toolkits for D not to try and put them in the standard library so that it's easier for people to find them.
- Jonathan M Davis
|
August 02, 2011 Re: What library functionality would you most like to see in D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Johann MacDonagh | Johann MacDonagh wrote:
> Perhaps we should start taking a look at it,
> making it "Phobos-like", and create bindings for a set of databases.
In my collection, I have (kinda crappy) implementations of my interface for mysql, postgres, sqlite and most recently ODBC.
Since they all use C libs though, I'm not really completely sure on if they are license compatible with phobos. And, of course, I'm happy with a minimal set of features; I'm happy enough with strings since it's better than PHP, so mission accomplished.
(I also have a lot of other code. Check out the readme in my github
for a listing of many of them.)
|
August 02, 2011 Re: What library functionality would you most like to see in D? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jonathan M Davis | On 8/1/2011 5:50 PM, Jonathan M Davis wrote: >> On 7/31/2011 11:32 PM, Walter Bright wrote: >>> On 7/31/2011 6:29 PM, Johann MacDonagh wrote: >>>> Basically, you give it some string (string, wstring, or dstring), and >>>> it gives >>>> you a range of tokens back. The token has the type, a slice of the >>>> input that >>>> corresponds to the token, line / column, and a value (e.g. an integer >>>> constant). >>> >>> I suggest making the input a range. >> >> So, the reason I didn't do this initially was to make slicing a lot >> easier. It could easily be changed to any kind of input range of >> characters. However, it looks like something that's not a direct port of >> DMD isn't worthwhile. > > Some adjustment can be made. It _does_ need to have a range-based API, and > some changes are inevitable in order to do that. But the changes to the basic > logic need to be minimal. > > The thing is that it can be an input range _and_ take advantage of slicing > with the use of static ifs in the appropriate places. If hasSlicing!Range is > true, then you can have a static if branch for slicing it. If it's a narrow > string then you can use another branch. And if it's neither, then it won't get > the advantages of slicing. It complicates the code somewhat, but the proper > use of Phobos functions which deal with it for you should help. > > In any case, the point is that we need to port dmd's lexer over to D, changing > it enough to give it a range-based interface (so it'll take a range of dchars > but return a range of tokens) but avoiding changing more than necessary so > that it's easy to port changes and fixes back and forth between it and dmd's > front end. > > - Jonathan M Davis Ok, I'll work on that this weekend. I'll do as close to a port as possible while stripping out anything that doesn't make sense and D-ifying the code a little bit. It will accept anything that isInputRange!R && isSomeChar!(ElementEncodingType!R) and return an input range of tokens. I've already looked through quite a bit of the lexer.c source while writing my other lexer, and the port should be easy (famous last words). |
Copyright © 1999-2021 by the D Language Foundation