What library functionality would you most like to see in D?

Jonathan M Davis jmdavisProg at gmx.com
Thu May 10 14:38:14 PDT 2012

On Thursday, May 10, 2012 12:08:27 H. S. Teoh wrote:
> On Thu, May 10, 2012 at 09:00:40PM +0200, Tove wrote:
> > On Sunday, 31 July 2011 at 14:10:12 UTC, Heywood Floyd wrote:
> > >- Incremental Garbage collector (for real-time apps)
> > >- More example code snippets in the docs (for all libs)
> > 
> > The entire compiler as a library. :D
> Or at the very least, the front-end. That would open the door to many
> useful tools like lints, superior IDE integration, pretty-printers, all
> kinds of neat stuff.

That's the plan more or less (at least, we definitely intend to have the lexer 
and the parser included - I don't know what beyond that, and I don't know how 
far the front-end goes before passing stuff off to the backend). The problem is 
implementing it. Walter already gave permission for the front-end's lexer to 
be ported to D (with a range-based API) under the Boost license to be put into 
Phobos. I volunteered to do it and made some progress, but I haven't time to 
work on it in a while. A couple of other people have said that they'd do it, 
but no one has ever gotten to the point that they've attempted to submit 
anything to Phobos. Taking what ddmd did, updating it, and adjusting it 
accordingly might reduce the coding effort (or it might not, depending on how 
out-of-date ddmd is), but you'd have to get ahold of all of the relevant ddmd 
developers so that you could get their permission to change the license to 

I'd _like_ to finish the lexer, but I honestly have no idea when I'll be able 
to finish it. Regardless, it's definitely the plan to at minimum have a lexer 
and parser for D in Phobos.

There was also some discussion on adding lexer and parser generator framework 
of some kind to Phobos to make generating lexers and parsers easy. But no one 
has submitted anything like that to Phobos yet either.

- Jonathan M Davis

More information about the Digitalmars-d mailing list