GDC with D frontend 2.081.2

2018-08-23 Thread Eugene Wissner via Digitalmars-d-announce
As some of you may know D frontend was merged into GDC some time 
ago and is up to date. D version currently supported by GDC is 
2.081.2 and it can be found in "gdc-7" and "gdc-8" branches. I 
will say a bit more about GDC development and development plans 
later.


I prepared GDC/GCC 7.3.0 binaries for x86-64 Linux built on 
Ubuntu 18.04:


https://download.dlackware.com/gdc/gdc-7.3.0_2.081.2-linux-x86_64.tar.xz

I’m not a regular Ubuntu user, and built GDC in a VM, so don't 
blame me (too much) if something doesn’t work, but let me know 
anyway. For testing I've used a minimal Ubuntu installation and 
had to install only "libc-dev" package. The package includes gcc, 
g++, gdc and standard GNU tools, but no D tools like dub. I still 
need some time to automate the building, then I can build for 
more platforms and provide some core tools.


We support several GCC versions and we still support C++-frontend 
(D version: 2.076). The reason for this is that C++-frontend 
should be merged into the next GCC version (GCC 9), then it can 
be built without another D compiler. D frontend goes into GCC 10 
and can be built with GCC 9, so GCC can be bootstrapped without 
external compilers and can be used to bootstrap other D compilers.


Current branch model. There are 2 "master" branches: master and 
stable. master contains D frontend and follows DMD master (we'll 
see if we can update every week or every two weeks). stable 
contains C++ frontend which doesn't get new D features anymore 
but of course we merge bug fixes from master. Both follow GCC 
master (master is updated weekly to GCC snapshots, stable from 
time to time).
stable has 4 derivates: gdc-8-stable, gdc-7-stable, gdc-6-stable 
and gdc-5-stable. It seems to be a lot, but the last merge from 
stable was really trivial, so the most work is done on the master 
derivates: "gdc-8" and "gdc-7" branches. These two follow DMD 
stable and contain stable D releases.




Re: reduxed - Redux for D

2018-08-23 Thread Jonathan Marler via Digitalmars-d-announce
On Thursday, 23 August 2018 at 19:48:19 UTC, Robert burner 
Schadek wrote:
It is still rough around the corners and 
https://issues.dlang.org/show_bug.cgi?id=19084 gives me 
somewhat of a hard time, but give it try and scream at me 
because it is not nogc.


I've posted a comment on issue 19084 but I'll post the response 
here as well.


This is not supposed to compile.  I've actually run into this 
before, but using T.stringof to mixin code for a type name is not 
supported. When I've asked about adding support for this, no one 
was interested.  I tried to find my forum posts on this but the 
post is so old I couldn't find it in search.


What happens is you mixin the string "Foo", but that type doesn't 
mean anyting in the scope of Bar.  The actual type name is 
something like "__unittest__20.Foo", however, even if you got the 
fully qualified type name it won't work because the type is 
private and can't be accessed outside of the unittest using the 
symbol name.  You have to access the type by "alias".


The `bitfields` function in phobos suffers from this same problem 
and I created a PR in phobos to add bitfields2 to workaround this 
issue by using a "mixin template" instead of a normal "mixin":


https://github.com/dlang/phobos/pull/5490


[QUOTE FROM THE PR]
The main advantage of bitfields2 is that it is able to 
reference the field types by alias, whereas the current 
implementation converts each field type alias to a string and 
then mixes in the type name.



I know the example you've provided is contrived so I'm not sure 
how to help you with your exact situation.  Maybe I can help you 
find a solution with a bit more detail?


Re: reduxed - Redux for D

2018-08-23 Thread visitor via Digitalmars-d-announce
On Thursday, 23 August 2018 at 19:48:19 UTC, Robert burner 
Schadek wrote:
After working some with Angular and ngrx/store I really came to 
like the redux pattern.
Unfortunately, I couldn't find a package on code.dlang.org that 
filled that spot when coming back to D.

So I build my own.

It is called reduxed.
If you're interested you can find reduxed here 
https://code.dlang.org/packages/reduxed and 
https://github.com/burner/reduxed.


It is still rough around the corners and 
https://issues.dlang.org/show_bug.cgi?id=19084 gives me 
somewhat of a hard time, but give it try and scream at me 
because it is not nogc.


Thank you :)
as for the hard timer : https://run.dlang.io/is/Bsf8Us
Works if struct Foo is defined in the scope of struct Bar(T) ?


reduxed - Redux for D

2018-08-23 Thread Robert burner Schadek via Digitalmars-d-announce
After working some with Angular and ngrx/store I really came to 
like the redux pattern.
Unfortunately, I couldn't find a package on code.dlang.org that 
filled that spot when coming back to D.

So I build my own.

It is called reduxed.
If you're interested you can find reduxed here 
https://code.dlang.org/packages/reduxed and 
https://github.com/burner/reduxed.


It is still rough around the corners and 
https://issues.dlang.org/show_bug.cgi?id=19084 gives me somewhat 
of a hard time, but give it try and scream at me because it is 
not nogc.





Re: xserial 1.0.0 - binary serialization and deserialization library

2018-08-23 Thread Atila Neves via Digitalmars-d-announce

On Thursday, 23 August 2018 at 11:11:11 UTC, Mark White wrote:

Binary serialization and deserialization library.

Features:
  - Serializes and deserializes booleans, numbers, chars, 
arrays, tuples, structs and classes.
  - Specify the endianness and the array's length when 
serializing and deserializing.

  - Numerous attributes for structs and classes.

Some code examples are available in the project's README.

DUB: https://code.dlang.org/packages/xserial
GitHub: https://github.com/Kripth/xserial
Attributes: https://github.com/Kripth/xserial#attributes


Except for the explicit endianness (which I've been meaning to 
work on), why one would use this instead of cerealed?


Atila


xserial 1.0.0 - binary serialization and deserialization library

2018-08-23 Thread Mark White via Digitalmars-d-announce

Binary serialization and deserialization library.

Features:
  - Serializes and deserializes booleans, numbers, chars, arrays, 
tuples, structs and classes.
  - Specify the endianness and the array's length when 
serializing and deserializing.

  - Numerous attributes for structs and classes.

Some code examples are available in the project's README.

DUB: https://code.dlang.org/packages/xserial
GitHub: https://github.com/Kripth/xserial
Attributes: https://github.com/Kripth/xserial#attributes


Re: LDC 1.11.0

2018-08-23 Thread Joakim via Digitalmars-d-announce

On Thursday, 23 August 2018 at 09:51:30 UTC, Brian wrote:

On Tuesday, 21 August 2018 at 15:31:16 UTC, Joakim wrote:

On Sunday, 19 August 2018 at 10:11:42 UTC, 鲜卑拓跋枫 wrote:

Many thanks for your effort!
And hope the subsequent LDC releases with LLVM 7.0 will be 
mature enough on AArch64 and RISC-V for production 
environment.


Who is actually running AArch64 or RISC-V in a "production 
environment?" Maybe a few for AArch64, but pretty much nobody 
for RISC-V. I tried looking for a RISC-V VPS or dev board 
recently and found basically nothing, just two boards from 
SiFive that are too small or too expensive.


We need support AArch64 :)


Why?


Re: LDC 1.11.0

2018-08-23 Thread Brian via Digitalmars-d-announce

On Tuesday, 21 August 2018 at 15:31:16 UTC, Joakim wrote:

On Sunday, 19 August 2018 at 10:11:42 UTC, 鲜卑拓跋枫 wrote:

Many thanks for your effort!
And hope the subsequent LDC releases with LLVM 7.0 will be 
mature enough on AArch64 and RISC-V for production environment.


Who is actually running AArch64 or RISC-V in a "production 
environment?" Maybe a few for AArch64, but pretty much nobody 
for RISC-V. I tried looking for a RISC-V VPS or dev board 
recently and found basically nothing, just two boards from 
SiFive that are too small or too expensive.


We need support AArch64 :)


Re: RFC: initial release of dtoh

2018-08-23 Thread Mihails via Digitalmars-d-announce

On Wednesday, 22 August 2018 at 17:58:15 UTC, Manu wrote:

This is very topical for me just now... but no extern(C++)??
I have some extern(C++) classes that need to have .h files 
generated

for them. Is this a goal for the project?


Not if I can get away without it. I am rather opinionated against 
`extern(C++)` on principle and stand by the point it is not a 
suitable language for inter-language operations. Sorry, I know 
you have a very different opinion here :)


Actual production cases may end up requiring it anyway but I'll 
see how it goes.