Re: Milestone - DMD front end is now 100% D!

2016-12-15 Thread Iain Buclaw via Digitalmars-d-announce
On 15 December 2016 at 21:03, John Colvin via Digitalmars-d-announce
 wrote:
> On Thursday, 15 December 2016 at 19:58:50 UTC, Iain Buclaw wrote:
>>
>> This will be the direction that I anticipate to head in until a time comes
>> where the frontend exposes everything GDC depends upon in order to bootstrap
>> to the latest stable branch.
>
>
> Is there a good list of what is necessary somewhere publicly visible?

Not really, as I will only know the full extent when either I or
someone else sits down and tries it out.

I can of course update the GDC on-going projects page that someone
reminds me to do on a yearly basis before GSOC comes round the corner,
but that quickly goes out of date within a month or two.

I can say that I anticipate the following will need fixing though:

- Backport CTFloat from upstream.
- Remove 'import ddmd.mars' from all frontend modules.
- Add many more static create functions - TypeStruct::create,
StructDeclaration::create, there are probably a dozen or so more.

Here's the wiki that needs TLC. http://wiki.dlang.org/GDC/ProjectIdeas

Regards.


Re: Milestone - DMD front end is now 100% D!

2016-12-15 Thread John Colvin via Digitalmars-d-announce

On Thursday, 15 December 2016 at 19:58:50 UTC, Iain Buclaw wrote:
This will be the direction that I anticipate to head in until a 
time comes where the frontend exposes everything GDC depends 
upon in order to bootstrap to the latest stable branch.


Is there a good list of what is necessary somewhere publicly 
visible?


Re: Milestone - DMD front end is now 100% D!

2016-12-15 Thread Iain Buclaw via Digitalmars-d-announce
On 15 December 2016 at 20:46, Ilya Yaroshenko via
Digitalmars-d-announce  wrote:
> On Thursday, 15 December 2016 at 19:15:41 UTC, Iain Buclaw wrote:
>>
>> On 15 December 2016 at 18:43, Ilya Yaroshenko via Digitalmars-d-announce
>>  wrote:
>>>
>>> [...]
>>
>>
>> I think I understand what you are trying to say, but I've had to re-read
>> it at least a dozen times because you' either grok very little about how the
>> internals are threaded together, or fully grok that but invented your own
>> words to describe them.
>>
>> In either case, you're complaints are easily resolved by using a
>> cross-compiler.  You don't need to building D programs for new targets on
>> the same CPU that will be running the program.
>>
>> And I think this is the point that you are missing.  Even though you are
>> alluding to wanting a D compiler that does not depend on druntime (what you
>> call betterC, which is at best a gross misunderstanding of what betterC
>> actually does).
>>
>> To almost prove a point, there are 26 cross compilers for GDC in Debian,
>> almost all of which do not have druntime library support (yet).
>>
>>
>> https://packages.debian.org/search?suite=stretch=all=any=names=gdc-6-
>
>
> Ah, this is awesome! Thank you!
> I though that we have not easy way for cross-compilation. If
> cross-compilation is not a problem then I am OK about DMD FE depends on
> DRuntime.
>
> BTW, when the next GDC release will be available?

GCC will release 6.3 before Christmas, I'll try to co-ordinate getting
downloadable binaries for travisCI out at the same time also.

Bear in mind that GDC will be feature complete up to 2.068.2, but
includes a number of bug fixes from latter versions.  This will be the
direction that I anticipate to head in until a time comes where the
frontend exposes everything GDC depends upon in order to bootstrap to
the latest stable branch.


Re: Milestone - DMD front end is now 100% D!

2016-12-15 Thread Ilya Yaroshenko via Digitalmars-d-announce

On Thursday, 15 December 2016 at 19:15:41 UTC, Iain Buclaw wrote:
On 15 December 2016 at 18:43, Ilya Yaroshenko via 
Digitalmars-d-announce  
wrote:

[...]


I think I understand what you are trying to say, but I've had 
to re-read it at least a dozen times because you' either grok 
very little about how the internals are threaded together, or 
fully grok that but invented your own words to describe them.


In either case, you're complaints are easily resolved by using 
a cross-compiler.  You don't need to building D programs for 
new targets on the same CPU that will be running the program.


And I think this is the point that you are missing.  Even 
though you are alluding to wanting a D compiler that does not 
depend on druntime (what you call betterC, which is at best a 
gross misunderstanding of what betterC actually does).


To almost prove a point, there are 26 cross compilers for GDC 
in Debian, almost all of which do not have druntime library 
support (yet).


https://packages.debian.org/search?suite=stretch=all=any=names=gdc-6-


Ah, this is awesome! Thank you!
I though that we have not easy way for cross-compilation. If 
cross-compilation is not a problem then I am OK about DMD FE 
depends on DRuntime.


BTW, when the next GDC release will be available?


Re: Milestone - DMD front end is now 100% D!

2016-12-15 Thread Iain Buclaw via Digitalmars-d-announce
On 15 December 2016 at 18:43, Ilya Yaroshenko via
Digitalmars-d-announce  wrote:
> On Thursday, 15 December 2016 at 14:40:55 UTC, Rikki Cattermole wrote:
>>
>> On Thursday, 15 December 2016 at 14:14:41 UTC, Ilya Yaroshenko wrote:
>>>
>>> On Thursday, 15 December 2016 at 13:46:36 UTC, Stefan Koch wrote:

 On Thursday, 15 December 2016 at 05:53:42 UTC, Ilya Yaroshenko wrote:
>
>
> Please, no :-(
> Mir needs betterC DMD FE


 What for ?
 Are you using the compiler frontend ?
 And the frontend is not only using the betterC subset.
 So you could not be using it right now.
>>>
>>>
>>> Yes, I hope I will be able to use ldc/gdc on new targets, which do not
>>> have DRuntime.
>>
>>
>> There is nothing wrong with dmd then.
>> Most of the code related to -betterC is in the glue code which means you
>> need to bug the ldc and gdc devs. Either way, if they don't have a working
>> druntime don't expect codegen to be valid for said target.
>
>
> If  DMD FE is a betterC library, then DRuntime is not required to build a
> betterC D program with LDC/GCC, is no it?

I think I understand what you are trying to say, but I've had to
re-read it at least a dozen times because you' either grok very little
about how the internals are threaded together, or fully grok that but
invented your own words to describe them.

In either case, you're complaints are easily resolved by using a
cross-compiler.  You don't need to building D programs for new targets
on the same CPU that will be running the program.

And I think this is the point that you are missing.  Even though you
are alluding to wanting a D compiler that does not depend on druntime
(what you call betterC, which is at best a gross misunderstanding of
what betterC actually does).

To almost prove a point, there are 26 cross compilers for GDC in
Debian, almost all of which do not have druntime library support
(yet).

https://packages.debian.org/search?suite=stretch=all=any=names=gdc-6-


Re: Milestone - DMD front end is now 100% D!

2016-12-15 Thread Nordlöw via Digitalmars-d-announce
On Thursday, 15 December 2016 at 01:04:54 UTC, Walter Bright 
wrote:

https://github.com/dlang/dmd/pull/6310


Great work!


Re: Milestone - DMD front end is now 100% D!

2016-12-15 Thread Ilya Yaroshenko via Digitalmars-d-announce
On Thursday, 15 December 2016 at 14:40:55 UTC, Rikki Cattermole 
wrote:
On Thursday, 15 December 2016 at 14:14:41 UTC, Ilya Yaroshenko 
wrote:
On Thursday, 15 December 2016 at 13:46:36 UTC, Stefan Koch 
wrote:
On Thursday, 15 December 2016 at 05:53:42 UTC, Ilya 
Yaroshenko wrote:


Please, no :-(
Mir needs betterC DMD FE


What for ?
Are you using the compiler frontend ?
And the frontend is not only using the betterC subset.
So you could not be using it right now.


Yes, I hope I will be able to use ldc/gdc on new targets, 
which do not have DRuntime.


There is nothing wrong with dmd then.
Most of the code related to -betterC is in the glue code which 
means you need to bug the ldc and gdc devs. Either way, if they 
don't have a working druntime don't expect codegen to be valid 
for said target.


If  DMD FE is a betterC library, then DRuntime is not required to 
build a betterC D program with LDC/GCC, is no it?


Re: Milestone - DMD front end is now 100% D!

2016-12-15 Thread Rikki Cattermole via Digitalmars-d-announce
On Thursday, 15 December 2016 at 14:14:41 UTC, Ilya Yaroshenko 
wrote:
On Thursday, 15 December 2016 at 13:46:36 UTC, Stefan Koch 
wrote:
On Thursday, 15 December 2016 at 05:53:42 UTC, Ilya Yaroshenko 
wrote:


Please, no :-(
Mir needs betterC DMD FE


What for ?
Are you using the compiler frontend ?
And the frontend is not only using the betterC subset.
So you could not be using it right now.


Yes, I hope I will be able to use ldc/gdc on new targets, which 
do not have DRuntime.


There is nothing wrong with dmd then.
Most of the code related to -betterC is in the glue code which 
means you need to bug the ldc and gdc devs. Either way, if they 
don't have a working druntime don't expect codegen to be valid 
for said target.


Re: Milestone - DMD front end is now 100% D!

2016-12-15 Thread Ilya Yaroshenko via Digitalmars-d-announce

On Thursday, 15 December 2016 at 13:46:36 UTC, Stefan Koch wrote:
On Thursday, 15 December 2016 at 05:53:42 UTC, Ilya Yaroshenko 
wrote:


Please, no :-(
Mir needs betterC DMD FE


What for ?
Are you using the compiler frontend ?
And the frontend is not only using the betterC subset.
So you could not be using it right now.


Yes, I hope I will be able to use ldc/gdc on new targets, which 
do not have DRuntime.




Re: Milestone - DMD front end is now 100% D!

2016-12-15 Thread Stefan Koch via Digitalmars-d-announce
On Thursday, 15 December 2016 at 05:53:42 UTC, Ilya Yaroshenko 
wrote:


Please, no :-(
Mir needs betterC DMD FE


What for ?
Are you using the compiler frontend ?
And the frontend is not only using the betterC subset.
So you could not be using it right now.



Re: Milestone - DMD front end is now 100% D!

2016-12-14 Thread Ilya Yaroshenko via Digitalmars-d-announce
On Thursday, 15 December 2016 at 05:03:20 UTC, Walter Bright 
wrote:

On 12/14/2016 7:21 PM, Joakim wrote:
How far do you plan to go in bringing D idioms to the compiler 
itself?  A simple
grep shows 3 C-style `for` loops in the frontend for every D 
`foreach`.  Do you
plan on using ranges and algorithms, which likely means 
relying on Phobos at
some point?  Any plans to turn on the GC someday?  Please 
enlighten us on your

roadmap for how far you want to take the D conversion process.


I plan to go eventually all the way. But it really needs to be 
100% D first.


Please, no :-(
Mir needs betterC DMD FE



Re: Milestone - DMD front end is now 100% D!

2016-12-14 Thread Walter Bright via Digitalmars-d-announce

On 12/14/2016 7:21 PM, Joakim wrote:

How far do you plan to go in bringing D idioms to the compiler itself?  A simple
grep shows 3 C-style `for` loops in the frontend for every D `foreach`.  Do you
plan on using ranges and algorithms, which likely means relying on Phobos at
some point?  Any plans to turn on the GC someday?  Please enlighten us on your
roadmap for how far you want to take the D conversion process.


I plan to go eventually all the way. But it really needs to be 100% D first.



Re: Milestone - DMD front end is now 100% D!

2016-12-14 Thread Joakim via Digitalmars-d-announce
On Thursday, 15 December 2016 at 01:04:54 UTC, Walter Bright 
wrote:

The last one:

https://github.com/dlang/dmd/pull/6310


Great!  I see you've started moving the backend to D too, about 
5% done so far.


How far do you plan to go in bringing D idioms to the compiler 
itself?  A simple grep shows 3 C-style `for` loops in the 
frontend for every D `foreach`.  Do you plan on using ranges and 
algorithms, which likely means relying on Phobos at some point?  
Any plans to turn on the GC someday?  Please enlighten us on your 
roadmap for how far you want to take the D conversion process.


Re: Milestone - DMD front end is now 100% D!

2016-12-14 Thread ketmar via Digitalmars-d-announce

ACHIEVEMENT UNLOCKED!


Milestone - DMD front end is now 100% D!

2016-12-14 Thread Walter Bright via Digitalmars-d-announce

The last one:

https://github.com/dlang/dmd/pull/6310