Jump to page: 1 2
Thread overview
DDL 1.2 Beta
Sep 05, 2006
pragma
Sep 06, 2006
Tom S
Sep 06, 2006
John Reimer
Sep 06, 2006
pragma
Sep 06, 2006
Derek Parnell
Sep 06, 2006
pragma
Sep 06, 2006
Derek Parnell
Sep 06, 2006
Chad J
Sep 06, 2006
Kyle Furlong
Sep 07, 2006
Craig Black
Sep 07, 2006
Pragma
Sep 09, 2006
BLS
Sep 09, 2006
Tom S
Sep 09, 2006
BLS
Sep 09, 2006
pragma
Sep 09, 2006
BLS
Sep 09, 2006
BLS
Sep 09, 2006
pragma
Sep 09, 2006
BLS
September 05, 2006
All,

  After much work, DDL 1.2 Beta is ready for public consumption.  The library interface is complete, the OMF loader works well, and the runtime linker performs as designed.  As such, I've labeled this as RC1 for the project.

http://www.dsource.org/projects/ddl
http://www.dsource.org/projects/ddl/wiki/Downloads
http://www.dsource.org/projects/ddl/wiki/Tutorial/Installation

This beta release features OMF object support that is stable and works very well with the Win32 version of DMD.  Linux support, completed documentation and tutorials are all still pending completion in the next few months.

Special thanks to the project contributors who made getting this far a reality.

http://www.dsource.org/projects/ddl/wiki/Contributors

As always, the project is open to critique, criticism and contributions.  Feel free to post here, on the project forum or even in the project wiki.  My mailbox is also open for all of the above.

http://www.dsource.org/projects/ddl/wiki/Community

- Pragma

---------------
So what is DDL?
---------------

DDL stands for "D Dynamic Libraries" and as the name implies, provides dynamic library loading for the D Language. It can be used as a plugin architecture, a replacment for DLL files, an interface for dynamic reflection, or as a means for working with intermediate files.

More information in the project FAQ:

http://www.dsource.org/projects/ddl/wiki/FAQ

----------
An Example
----------

(A better formatted example can be found here: http://www.dsource.org/projects/ddl/wiki/Tutorial/UsingDDL/Quick)

/////////////////
// plugin.d
module plugin;

char[] helloWorld(){
    return "hello world";
}
/////////////////

/////////////////
// example.d
import ddl.DefaultRegistry;
import ddl.Linker;

import mango.io.Stdout;

void main(){
    auto linker = new Linker(new DefaultRegistry());
    linker.loadAndRegister("example.map");

    auto plugin = linker.loadAndLink("plugin.obj");

    auto helloWorld = plugin.getDExport!(char[] function(),"plugin.helloWorld")();

    Stdout.put(helloWorld());
    Stdout.put(CR);
}
/////////////////
September 06, 2006
This is totally sweet, Eric ! I'm looking forward to using DDL in many projects. Congratulations !


--
Tomasz Stachowiak
September 06, 2006
Excellent work, Eric!

I know the many hours of work that you've put into this.  Thanks for putting all that effort into a very useful project.  I'm really following this one closely.

-JJR
September 06, 2006
On Mon, 04 Sep 2006 21:56:00 -0400, pragma wrote:

>    After much work, DDL 1.2 Beta is ready for public consumption.

Sorry for the belated congratulations. You and your 'team' have done a great service to the D community. I've been waiting eagerly for this product to come out into the light.

-- 
Derek
(skype: derek.j.parnell)
Melbourne, Australia
"Down with mediocrity!"
6/09/2006 11:24:48 AM
September 06, 2006
John Reimer wrote:
> Excellent work, Eric!
> 
> I know the many hours of work that you've put into this.  Thanks for putting all that effort into a very useful project.  I'm really following this one closely.
> 
> -JJR

Thanks John, I sincerely appreciate the support. :)
September 06, 2006
Derek Parnell wrote:
> On Mon, 04 Sep 2006 21:56:00 -0400, pragma wrote:
> 
>>    After much work, DDL 1.2 Beta is ready for public consumption.
> 
> Sorry for the belated congratulations. You and your 'team' have done a
> great service to the D community. I've been waiting eagerly for this
> product to come out into the light.
> 


No apology is needed!  Besides, I'm at least a few months late myself - what's a day or two, right? ;)

I'm just happy that you're interested.  I'm just curious to see how this helps you out with Freudo.

- Eric
September 06, 2006
On Tue, 05 Sep 2006 21:58:57 -0400, pragma wrote:

> I'm just happy that you're interested.  I'm just curious to see how this helps you out with Freudo.

Me too ;-)

My intention is to have the 'built-in' functions as pluggable modules and provide an extension mechanism so that other authors can add their own built-in functions. This will get over the problem in which a useful user-written function is written in the interpreted language, but would actually benefit from being fully compiled.

-- 
Derek
(skype: derek.j.parnell)
Melbourne, Australia
"Down with mediocrity!"
6/09/2006 12:11:11 PM
September 06, 2006
Yay!  I'm very glad this is out there, since I'll need dynamic linking at some point.  Hopefully this will work on WinCE, or I can make it.

Thanks for your effort on this technology!

pragma wrote:
> All,
> 
>   After much work, DDL 1.2 Beta is ready for public consumption.  The library interface is complete, the OMF loader works well, and the runtime linker performs as designed.  As such, I've labeled this as RC1 for the project.
> 
> http://www.dsource.org/projects/ddl
> http://www.dsource.org/projects/ddl/wiki/Downloads
> http://www.dsource.org/projects/ddl/wiki/Tutorial/Installation
> 
> This beta release features OMF object support that is stable and works very well with the Win32 version of DMD.  Linux support, completed documentation and tutorials are all still pending completion in the next few months.
> 
> Special thanks to the project contributors who made getting this far a reality.
> 
> http://www.dsource.org/projects/ddl/wiki/Contributors
> 
> As always, the project is open to critique, criticism and contributions.  Feel free to post here, on the project forum or even in the project wiki.  My mailbox is also open for all of the above.
> 
> http://www.dsource.org/projects/ddl/wiki/Community
> 
> - Pragma
> 
> ---------------
> So what is DDL?
> ---------------
> 
> DDL stands for "D Dynamic Libraries" and as the name implies, provides dynamic library loading for the D Language. It can be used as a plugin architecture, a replacment for DLL files, an interface for dynamic reflection, or as a means for working with intermediate files.
> 
> More information in the project FAQ:
> 
> http://www.dsource.org/projects/ddl/wiki/FAQ
> 
> ----------
> An Example
> ----------
> 
> (A better formatted example can be found here: http://www.dsource.org/projects/ddl/wiki/Tutorial/UsingDDL/Quick)
> 
> /////////////////
> // plugin.d
> module plugin;
> 
> char[] helloWorld(){
>     return "hello world";
> }
> /////////////////
> 
> /////////////////
> // example.d
> import ddl.DefaultRegistry;
> import ddl.Linker;
> 
> import mango.io.Stdout;
> 
> void main(){
>     auto linker = new Linker(new DefaultRegistry());
>     linker.loadAndRegister("example.map");
> 
>     auto plugin = linker.loadAndLink("plugin.obj");
> 
>     auto helloWorld = plugin.getDExport!(char[] function(),"plugin.helloWorld")();
> 
>     Stdout.put(helloWorld());
>     Stdout.put(CR);
> }
> /////////////////
September 06, 2006
pragma wrote:
> All,
> 
>   After much work, DDL 1.2 Beta is ready for public consumption.  The library interface is complete, the OMF loader works well, and the runtime linker performs as designed.  As such, I've labeled this as RC1 for the project.
> 
> http://www.dsource.org/projects/ddl
> http://www.dsource.org/projects/ddl/wiki/Downloads
> http://www.dsource.org/projects/ddl/wiki/Tutorial/Installation
> 
> This beta release features OMF object support that is stable and works very well with the Win32 version of DMD.  Linux support, completed documentation and tutorials are all still pending completion in the next few months.
> 
> Special thanks to the project contributors who made getting this far a reality.
> 
> http://www.dsource.org/projects/ddl/wiki/Contributors
> 
> As always, the project is open to critique, criticism and contributions.  Feel free to post here, on the project forum or even in the project wiki.  My mailbox is also open for all of the above.
> 
> http://www.dsource.org/projects/ddl/wiki/Community
> 
> - Pragma
> 
> ---------------
> So what is DDL?
> ---------------
> 
> DDL stands for "D Dynamic Libraries" and as the name implies, provides dynamic library loading for the D Language. It can be used as a plugin architecture, a replacment for DLL files, an interface for dynamic reflection, or as a means for working with intermediate files.
> 
> More information in the project FAQ:
> 
> http://www.dsource.org/projects/ddl/wiki/FAQ
> 
> ----------
> An Example
> ----------
> 
> (A better formatted example can be found here: http://www.dsource.org/projects/ddl/wiki/Tutorial/UsingDDL/Quick)
> 
> /////////////////
> // plugin.d
> module plugin;
> 
> char[] helloWorld(){
>     return "hello world";
> }
> /////////////////
> 
> /////////////////
> // example.d
> import ddl.DefaultRegistry;
> import ddl.Linker;
> 
> import mango.io.Stdout;
> 
> void main(){
>     auto linker = new Linker(new DefaultRegistry());
>     linker.loadAndRegister("example.map");
> 
>     auto plugin = linker.loadAndLink("plugin.obj");
> 
>     auto helloWorld = plugin.getDExport!(char[] function(),"plugin.helloWorld")();
> 
>     Stdout.put(helloWorld());
>     Stdout.put(CR);
> }
> /////////////////

Wonderful News! Like others, I've been eagerly awaiting this arrival. Well Done! Now I can get my plugin based game engine underway!
-- 
Kyle Furlong // Physics Undergrad, UCSB

"D is going wherever the D community wants it to go." - Walter Bright
September 07, 2006
Nice work!  Does DDL do dynamic class loading?

-Craig


« First   ‹ Prev
1 2