Note: This website is archived. For up-to-date information about D projects and development, please visit wiki.dlang.org.

Changes between Version 44 and Version 45 of WikiStart

Show
Ignore:
Author:
jcc7 (IP: 74.197.207.10)
Timestamp:
04/29/15 01:44:51 (6 years ago)
Comment:

changed formatting to avoid line breaks; updated project status to point to magicport

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v44 v45  
    1 = Welcome to DDMD = 
    2  
    3 DDMD is a direct port of the official Digital Mars D compiler to the D Programming Language. 
    4  
    5 It is designed with 2 goals in mind: to be a drop-in replacement for DMD, and to be capable of being integrated into other projects written in D (source-code analyzer or an IDE, for example). 
    6  
    7 It attempts to be binary compatible with DMD (i.e. produce identical binaries) for a very simple reason - following this makes it much easier to identify bugs. 
    8  
    9 DDMD is written in D2/Phobos, initially based on DMD2.032, now updated to DMD2.040. 
    10  
    11 Browse source code online: 
    12  
    13 http://www.dsource.org/projects/ddmd/browser 
    14  
    15 http://hg.dsource.org/projects/ddmd/ 
    16  
    17 Or check it out using the following command (requires Mercurial client installed): 
    18  
    19 `# hg clone http://hg.dsource.org/projects/ddmd/` 
    20  
    21 = Project status = 
    22  
    23 This project is currently in an alpha stage. It successfully compiles druntime and Phobos. I'd say it's a huge progress, but don't hold your breath too much if you are looking for a drop-in DMD replacement - complex programs are unlikely to compile (yet). 
    24  
    25 The port is almost complete, but some methods are stubbed-out (with assert(false); as their implementation). It means that you can use it as if it were complete, but it will terminate as soon as first unimplemented method is invoked, giving you a nice stack trace just before it crashes. Which is a good thing - you know exactly what method needs to be ported in order to advance. 
    26  
    27 Go on, grab it and give it a test. Or come back in a while once it goes out of an alpha. 
    28  
    29 Currently, there are 427 unimplemented methods in DDMD (last updated on October, 30) 
    30  
    31 = Known Bugs/Limitations = 
    32  
    33 * ~~Only Win32/x86 platform is supported~~ 
    34  
    35 * Only Linux32 and Win32 on x86 are supported (See http://www.dsource.org/forums/viewtopic.php?p=24262#24262 for getting started on linux) 
    36  
    37 * -g flag is not supported 
    38  
    39 * Garbage collector is temporarily disabled (it causes the compiler to malfunction for some reason) 
    40  
    41 Found a bug? Consider submitting a ticket! 
    42  
    43  
    44 = Future plans = 
    45  
    46 The code is currently too C/C++-ish. Arrays of void* are used all over the place to store Objects (type unsafe), casts everywhere, no templates, variables are declared at the top of functions, etc. Some parts will hopefully be rewritten using modern and cool D features to improve code readability and safety. 
    47  
    48 Other goals include structural changes into the code for stability, multi-threading support, absence 
    49 of memory leaks, etc. 
    50  
    51  
    52 = Build instructions = 
    53  
    54 Windows: 
    55  
    56 BuildInstructions/Windows 
    57  
    58 Linux: 
    59  
    60 For revisions from October 3, 2010 onward, Linux users should be able to use the new build instructions here: BuildInstructions/Windows 
    61  
    62 For older revisions, or to build manually, see http://www.dsource.org/forums/viewtopic.php?p=24262#24262. 
    63  
    64 = Help wanted = 
    65  
    66 Interested in a project? Consider contributing to it! The is a lot of tasks that need to be done before a release, ranging from elemental to moderate in difficulty. Code is open to everyone, just make sure your changes won't break other peoples' improvements. 
    67  
    68 = IRC = 
    69  
    70 Join us at `irc://irc.freenode.net`, channel `#ddmd` 
    71  
    72 = Questions? = 
    73  
    74 Ask your questions in forums: http://www.dsource.org/forums/viewforum.php?f=250 or contact me directly via 2korden[@]gmail.com 
     1'''Welcome to DDMD''' [[BR]][[BR]] DDMD is a direct port of the official Digital Mars D compiler to the D Programming Language. [[BR]][[BR]] It is designed with 2 goals in mind: to be a drop-in replacement for DMD, and to be capable of being integrated into other projects written in D (source-code analyzer or an IDE, for example). [[BR]][[BR]] It attempts to be binary compatible with DMD (i.e. produce identical binaries) for a very simple reason - following this makes it much easier to identify bugs. [[BR]][[BR]] DDMD is written in D2/Phobos, initially based on DMD2.032, now updated to DMD2.040. [[BR]][[BR]] Browse source code online: [[BR]][[BR]] http://www.dsource.org/projects/ddmd/browser [[BR]][[BR]] http://hg.dsource.org/projects/ddmd/ [[BR]][[BR]] Or check it out using the following command (requires Mercurial client installed): [[BR]][[BR]] `# hg clone http://hg.dsource.org/projects/ddmd/` [[BR]][[BR]]  '''Project status''' [[BR]] [[BR]] As of 04-28-2015, the code is in this project's repository hasn't been updated for about 2 years. On the other hand, code to autogenerate D code for the DMD frontend has been integrated into the official DMD repository at https://github.com/D-Programming-Language/dmd/tree/master/src/magicport. [[BR]] [[BR]] This project is currently in an alpha stage. It successfully compiles druntime and Phobos. I'd say it's a huge progress, but don't hold your breath too much if you are looking for a drop-in DMD replacement - complex programs are unlikely to compile (yet). [[BR]][[BR]] The port is almost complete, but some methods are stubbed-out (with assert(false); as their implementation). It means that you can use it as if it were complete, but it will terminate as soon as first unimplemented method is invoked, giving you a nice stack trace just before it crashes. Which is a good thing - you know exactly what method needs to be ported in order to advance. [[BR]][[BR]] Go on, grab it and give it a test. Or come back in a while once it goes out of an alpha. [[BR]][[BR]] Currently, there are 427 unimplemented methods in DDMD (last updated on October, 30) [[BR]][[BR]] '''Known Bugs/Limitations''' [[BR]][[BR]] * ~~Only Win32/x86 platform is supported~~ [[BR]] * Only Linux32 and Win32 on x86 are supported (See http://www.dsource.org/forums/viewtopic.php?p=24262#24262 for getting started on linux) [[BR]] * -g flag is not supported [[BR]] * Garbage collector is temporarily disabled (it causes the compiler to malfunction for some reason) [[BR]] Found a bug? Consider submitting a ticket! [[BR]][[BR]] '''Future plans''' [[BR]] [[BR]] The code is currently too C/C++-ish. Arrays of void* are used all over the place to store Objects (type unsafe), casts everywhere, no templates, variables are declared at the top of functions, etc. Some parts will hopefully be rewritten using modern and cool D features to improve code readability and safety. [[BR]][[BR]] Other goals include structural changes into the code for stability, multi-threading support, absence of memory leaks, etc. [[BR]][[BR]] '''Build instructions''' [[BR]][[BR]] Windows: [[BR]][[BR]] BuildInstructions/Windows [[BR]][[BR]] Linux: [[BR]][[BR]] For revisions from October 3, 2010 onward, Linux users should be able to use the new build instructions here: BuildInstructions/Windows [[BR]][[BR]] For older revisions, or to build manually, see http://www.dsource.org/forums/viewtopic.php?p=24262#24262. [[BR]][[BR]] '''Help wanted''' [[BR]][[BR]] Interested in a project? Consider contributing to it! The is a lot of tasks that need to be done before a release, ranging from elemental to moderate in difficulty. Code is open to everyone, just make sure your changes won't break other peoples' improvements. [[BR]][[BR]] '''IRC''' [[BR]][[BR]] Join us at `irc://irc.freenode.net`, channel `#ddmd` [[BR]][[BR]] '''Questions?''' [[BR]][[BR]] Ask your questions in forums: http://www.dsource.org/forums/viewforum.php?f=250 or contact me directly via 2korden[@]gmail.com