Re: DVM - D Version Manager 0.4.4

2018-07-01 Thread Tony via Digitalmars-d-announce
On Sunday, 13 September 2015 at 16:26:04 UTC, Jacob Carlborg 
wrote:

I just released a new version of DVM, 0.4.4. The most important


I am on Windows 10. Is:

dvm --latest install

a valid way to get the latest dmd? When I try that I get an 
exception


--
dvm --latest install
An unknown error occurred:
tango.core.Exception.IOException@C:\Users\doob\AppData\Roaming\dub\packages\tango-1.0.1_2.067\tango\core\Exception.d(59):
 truncated response

0x004421D4
0x00441ECD
0x00441688
0x0040A637
0x0040A4F5
0x004334EA
0x0044FC5B
0x0044FB71
0x004021E8
0x769B8484 in BaseThreadInitThunk
0x77252FEA in RtlValidSecurityDescriptor
0x77252FBA in RtlValidSecurityDescriptor


Re: I have a plan.. I really DO

2018-07-01 Thread Gheorghe Gabriel via Digitalmars-d-announce

On Friday, 29 June 2018 at 07:03:52 UTC, Dmitry Olshansky wrote:
P.S. I mean what you think the future of native code is??? 
Rust? Crystal?? Nim???


Thank you very much for mentioning about the Crystal programming 
language. I din't know there is a Crystal lang so I changed my 
project name from Crystal to Liberty, 2 days ago so people don't 
get confuzed.


Re: I have a plan.. I really DO

2018-07-01 Thread Joakim via Digitalmars-d-announce

On Sunday, 1 July 2018 at 15:40:20 UTC, Ecstatic Coder wrote:

On Sunday, 1 July 2018 at 14:01:11 UTC, Jonathan M Davis wrote:
On Sunday, July 01, 2018 13:37:32 Ecstatic Coder via 
Digitalmars-d-announce wrote:

On Sunday, 1 July 2018 at 12:43:53 UTC, Johannes Loher wrote:
> Am 01.07.2018 um 14:12 schrieb Ecstatic Coder:
>> Add a 10-liner "Hello World" web server example on the 
>> main page and that's it.

>
> There already is one in the examples:
>
> #!/usr/bin/env dub
> /+ dub.sdl:
> name "hello_vibed"
> dependency "vibe-d" version="~>0.8.0"
> +/
> void main()
> {
>
> import vibe.d;
> listenHTTP(":8080", (req, res) {
>
> res.writeBody("Hello, World: " ~ req.path);
>
> });
> runApplication();
>
> }

Yeah I know, guess who asked for it...

But the last step, which is including such functionality into 
the standard library , will never happen, because nobody here 
seems to see the point of doing this.


I guess those who made that for Go and Crystal probably did 
it wrong.


What a mistake they did, and they don't even know they make a 
mistake, silly them... ;)


What should and shouldn't go in the standard library for a 
language is something that's up for a lot of debate and is 
likely to often be a point of contention. There is no clear 
right or wrong here. Languages that have had very sparse 
standard libraries have done quite well, and languages that 
have had kitchen sink libraries have done quite well. There 
are pros and cons to both approaches.


- Jonathan M Davis


I agree.

But here I'm just talking of the "public image" of the language.

Languages which integrates HTTP-related components in their 
standard library, and advertize on that (like Crystal for 
instance), obviously apply a different "marketing" strategy 
than languages which have chosen not to do so.


That's all I say...


Two points:

- Andrei pushed to include vibe.d but it didn't happen.

"There's no web services framework (by this time many folks know 
of D, but of those a shockingly small fraction has even heard of 
vibe.d). I have strongly argued with Sönke to bundle vibe.d with 
dmd over one year ago, and also in this forum. There wasn't 
enough interest."

https://forum.dlang.org/post/nipb14$ldb$1...@digitalmars.com

- As you acknowledge, integration has drawbacks too. I thought 
this was an interesting recent article about how it has now 
hobbled one of the biggest tech companies in the world:


https://stratechery.com/2018/intel-and-the-danger-of-integration/

I don't think the web matters enough these days that it is worth 
bundling, which is why a webassembly port is also not worth it 
for most:


https://www.mobiloud.com/blog/mobile-apps-vs-the-mobile-web/


Re: libfirm-d - D bindings of Firm, a compiler IR based on the SSA form

2018-07-01 Thread ketmar via Digitalmars-d-announce

Basile B. wrote:


On Sunday, 1 July 2018 at 15:03:30 UTC, ketmar wrote:

Basile B. wrote:


I've recently ported libfirm to D.


great news and great work, thank you. yet i must admit that wrapping != 
porting. for a moment you made my heart stopped, 'cause i thought that i 
wasted alot of time trying to do a proper port (nope, not finished, but 
still...).


Thanks. BTW I remember you said on IRC that SSA form is much better 
(maybe it was once when we talked about DMD optimizations or something 
like that)... this is basically why i choose this one, although not sure 
if i'll manage to do something with it.


tbh, i gave up on porting it fully, so i prolly will go with your wrapper, 
if anything. and yeah, SSA rox. i am temporarily on C++ side now, yet 
sooner or later i'll return, and will have to restart Aliced again. maybe 
this time with a brand new backend. ;-)


Re: Funding for code-d/serve-d

2018-07-01 Thread Martin Tschierschke via Digitalmars-d-announce

On Saturday, 5 May 2018 at 11:21:29 UTC, Mike Parker wrote:
This morning at the Hackathon I announced that the D Foundation 
is raising money for code-d/serve-d, the plugin for Visual 
Studio Code and its companion Microsoft Language Server 
Protocol implementation for D.


[...]


The goal was reached, what now?


Re: I have a plan.. I really DO

2018-07-01 Thread Ecstatic Coder via Digitalmars-d-announce

On Sunday, 1 July 2018 at 14:01:11 UTC, Jonathan M Davis wrote:
On Sunday, July 01, 2018 13:37:32 Ecstatic Coder via 
Digitalmars-d-announce wrote:

On Sunday, 1 July 2018 at 12:43:53 UTC, Johannes Loher wrote:
> Am 01.07.2018 um 14:12 schrieb Ecstatic Coder:
>> Add a 10-liner "Hello World" web server example on the main 
>> page and that's it.

>
> There already is one in the examples:
>
> #!/usr/bin/env dub
> /+ dub.sdl:
> name "hello_vibed"
> dependency "vibe-d" version="~>0.8.0"
> +/
> void main()
> {
>
> import vibe.d;
> listenHTTP(":8080", (req, res) {
>
> res.writeBody("Hello, World: " ~ req.path);
>
> });
> runApplication();
>
> }

Yeah I know, guess who asked for it...

But the last step, which is including such functionality into 
the standard library , will never happen, because nobody here 
seems to see the point of doing this.


I guess those who made that for Go and Crystal probably did it 
wrong.


What a mistake they did, and they don't even know they make a 
mistake, silly them... ;)


What should and shouldn't go in the standard library for a 
language is something that's up for a lot of debate and is 
likely to often be a point of contention. There is no clear 
right or wrong here. Languages that have had very sparse 
standard libraries have done quite well, and languages that 
have had kitchen sink libraries have done quite well. There are 
pros and cons to both approaches.


- Jonathan M Davis


I agree.

But here I'm just talking of the "public image" of the language.

Languages which integrates HTTP-related components in their 
standard library, and advertize on that (like Crystal for 
instance), obviously apply a different "marketing" strategy than 
languages which have chosen not to do so.


That's all I say...

I personally appreciate that my Go and Crystal code is mostly 
based on standard components which are updated along with the 
language, but I agree that vibe.d can perfectly get the job done 
if you better trust thirdparty libraries for that.





Re: libfirm-d - D bindings of Firm, a compiler IR based on the SSA form

2018-07-01 Thread Basile B. via Digitalmars-d-announce

On Sunday, 1 July 2018 at 15:03:30 UTC, ketmar wrote:

Basile B. wrote:


I've recently ported libfirm to D.


great news and great work, thank you. yet i must admit that 
wrapping != porting. for a moment you made my heart stopped, 
'cause i thought that i wasted alot of time trying to do a 
proper port (nope, not finished, but still...).


Thanks. BTW I remember you said on IRC that SSA form is much 
better (maybe it was once when we talked about DMD optimizations 
or something like that)... this is basically why i choose this 
one, although not sure if i'll manage to do something with it.


Mir Algorithm v1.1.3

2018-07-01 Thread 9il via Digitalmars-d-announce

Mir Algorithm [1, 2]
=

Dlang core library for math, finance and a home for Dlang 
multidimensional array package - ndslice.


New features:
 - most of routines in mir.ndslice.topology (e.g. map, zip, 
stride) accept common arrays

 - `Series` got the same formating as builtin associative arrays
 - `Series` got ~ overloaded operator for set union.
 - mir.series: `unionSeries` was added (for N=2 optimised using 
`troykaSeries`)
 - mir.series: `troykaGalop` and `troykaSeries` were added. They 
are awesome too iterate over set union when both side set 
differences and/or set intersection should be handled seprately 
[6, 7]

 - ... and a lot of others I forgot since v0.8.0 announce

Few bugs was fixed.

And a small tip about syntax sugar [3]:

/+dub.sdl:
dependency "mir-algorithm" version="~>1.1.3"
+/

import mir.ndslice;
void main()
{
auto v = [1.0, 2];
auto w = [1.0, 2];

 // `map` knows about `zip`
auto lazySum1 = zip(v, w).map!((a, b) => a + b);

//  it is elementwise sum too.
auto lazySum2 = v.sliced + w.sliced;

assert(lazySum1 == lazySum2);
}

Major part of this work has been sponsored by Symmetry 
Investments [4] and Kaleidic Associates [5].


Acknowledgements:
  Sebastian Wilzbach,
  Nathan Sashihara,
  John Hall,
  Shigeki Karita.

[1] https://github.com/libmir/mir-algorithm
[2] http://docs.algorithm.dlang.io/latest/index.html
[3] https://run.dlang.io/gist/e45d9892299131cee9c90541bbc00183
[4] http://symmetryinvestments.com
[5] https://github.com/kaleidicassociates
[6] 
http://docs.algorithm.dlang.io/latest/mir_series.html#.troykaGalop
[7] 
http://docs.algorithm.dlang.io/latest/mir_series.html#.troykaSeries


Best Regards,
Ilya Yaroshenko


Re: libfirm-d - D bindings of Firm, a compiler IR based on the SSA form

2018-07-01 Thread ketmar via Digitalmars-d-announce

Basile B. wrote:


I've recently ported libfirm to D.


great news and great work, thank you. yet i must admit that wrapping != 
porting. for a moment you made my heart stopped, 'cause i thought that i 
wasted alot of time trying to do a proper port (nope, not finished, but still...).


Re: I have a plan.. I really DO

2018-07-01 Thread Jonathan M Davis via Digitalmars-d-announce
On Sunday, July 01, 2018 13:37:32 Ecstatic Coder via Digitalmars-d-announce 
wrote:
> On Sunday, 1 July 2018 at 12:43:53 UTC, Johannes Loher wrote:
> > Am 01.07.2018 um 14:12 schrieb Ecstatic Coder:
> >> Add a 10-liner "Hello World" web server example on the main
> >> page and that's it.
> >
> > There already is one in the examples:
> >
> > #!/usr/bin/env dub
> > /+ dub.sdl:
> > name "hello_vibed"
> > dependency "vibe-d" version="~>0.8.0"
> > +/
> > void main()
> > {
> >
> > import vibe.d;
> > listenHTTP(":8080", (req, res) {
> >
> > res.writeBody("Hello, World: " ~ req.path);
> >
> > });
> > runApplication();
> >
> > }
>
> Yeah I know, guess who asked for it...
>
> But the last step, which is including such functionality into the
> standard library , will never happen, because nobody here seems
> to see the point of doing this.
>
> I guess those who made that for Go and Crystal probably did it
> wrong.
>
> What a mistake they did, and they don't even know they make a
> mistake, silly them... ;)

What should and shouldn't go in the standard library for a language is
something that's up for a lot of debate and is likely to often be a point of
contention. There is no clear right or wrong here. Languages that have had
very sparse standard libraries have done quite well, and languages that have
had kitchen sink libraries have done quite well. There are pros and cons to
both approaches.

- Jonathan M Davis



Re: I have a plan.. I really DO

2018-07-01 Thread Ecstatic Coder via Digitalmars-d-announce

On Sunday, 1 July 2018 at 12:43:53 UTC, Johannes Loher wrote:

Am 01.07.2018 um 14:12 schrieb Ecstatic Coder:


Add a 10-liner "Hello World" web server example on the main 
page and that's it.


There already is one in the examples:

#!/usr/bin/env dub
/+ dub.sdl:
name "hello_vibed"
dependency "vibe-d" version="~>0.8.0"
+/
void main()
{
import vibe.d;
listenHTTP(":8080", (req, res) {
res.writeBody("Hello, World: " ~ req.path);
});
runApplication();
}


Yeah I know, guess who asked for it...

But the last step, which is including such functionality into the 
standard library , will never happen, because nobody here seems 
to see the point of doing this.


I guess those who made that for Go and Crystal probably did it 
wrong.


What a mistake they did, and they don't even know they make a 
mistake, silly them... ;)





Re: I have a plan.. I really DO

2018-07-01 Thread Johannes Loher via Digitalmars-d-announce
Am 01.07.2018 um 14:12 schrieb Ecstatic Coder:
> 
> Add a 10-liner "Hello World" web server example on the main page and
> that's it.

There already is one in the examples:

#!/usr/bin/env dub
/+ dub.sdl:
name "hello_vibed"
dependency "vibe-d" version="~>0.8.0"
+/
void main()
{
import vibe.d;
listenHTTP(":8080", (req, res) {
res.writeBody("Hello, World: " ~ req.path);
});
runApplication();
}



Re: I have a plan.. I really DO

2018-07-01 Thread Ecstatic Coder via Digitalmars-d-announce

On Sunday, 1 July 2018 at 02:57:26 UTC, RhyS wrote:

On Saturday, 30 June 2018 at 07:11:18 UTC, Joakim wrote:
I'd hope a manager would look at actually meaningful stats 
like downloads, rather than just fluffy stats such as "likes":


http://www.somsubhra.com/github-release-stats/?username=crystal-lang&repository=crystal
http://www.somsubhra.com/github-release-stats/?username=ldc-developers&repository=ldc

I see around 9k total downloads of the various Crystal 0.24 
and 0.25 versions over the last 8 months, compared to 14k 
downloads of the ldc 1.9 compiler alone from two months ago.


Its hard to compare those figure because D and Crystal also use 
package installers on the respectable platforms. Going to the 
crystal download page makes that very clear. Making tracking 
downloads more harder.


D can reach more Git downloads thanks to Windows users that do 
not rely on Linux system packages.


D its buginess in between releases also does not help. I 
probably downloaded LDC and DMD in the last 9 months a dozen 
times, being forced to go back to older versions. Then trying 
the new versions, going back. Again and again on Windows.


Downloads do not mean a lot when you can not keep the people. I 
can swear that i alone am probably responsible for over 25+ 
downloads on Windows and dozens on Linux OS. And every time D 
loses me after running into issues.


Crystal its 0.24 release is still perfectly working here. I 
literally have downloaded 2 version in the last year. 0.23 and 
0.24... That is it. No switching between version because of 
bugs or package issues or dependency issues. Kind of ironic but 
maybe because the http server and other packages are build in 
to the core, i have no need for external 3th party solutions 
like D's Vibe.d.


Of course, all these stats can be gamed, but I think it'd be 
hard to argue Crystal is more popular.


code.d
Total 1336 packages found.

crystalshards.xyz
3359 total shards

Track both sites using archive.org and notice that Crystal is 
growing faster in regards to Shards then D its packages.


Duplicates D something like 6 postgresql driver packages. 
Crystal has 2 drivers. So D is actually fluffing its numbers 
with a lot of not maintained duplicates. Mysql ... Its not hard 
to tell that Crystal its Shards community is more active.


Crystal only recently got the funding to get a full time 
employees to work on the code base. So one can expect the 
development to increase from a mostly community driven 
platform. They out gross Nim by almost double on average ( 
salt.bountysource.com ) and that does not include the 2000$ / 
month that "84 codes" directly donates.


I do not know how much D takes in per month. This has always 
been a more obscure, as is who are the people that really are 
paid full time to work on D. Walter?


Crystal needs a lot of work but so does D. You expect D to have 
more its act together for a language this old. No default http 
server in this day and age is just really weak sauce. And 
Vibe.d breaks plenty of times in between its releases and DMD 
releases.


Both have issues but one is under development for 4 year and 
the other for 16 years. You expect D to simply outclass Crystal 
and other languages. Even Rust is out developing D in many 
areas, a lot thanks to a big community.


+1

At the moement, D's default standard library obviously requires a 
garbage collector, and this won't change for a while.


Trying to convince developers to use D instead of C++ is often 
pointless, because most of the time, if you develop something in 
C++ instead of Java/C#/Go/etc, there is a reason for that.


And that reason why they don't use those nice garbage collected 
languages is generally the same reason why they won't use D 
either.


But those who currently use those same garbage collected 
languages (Go/Java/C#/etc) can be convinced to switch to D, 
because D's garbage collector won't be probably a problem for 
them either, as they are already using one in production.


So what remains a mystery for me is that the D leadership 
OBVIOUSLY CAN'T BE CONVINCED that marketing D as a Go/Java/C# 
alternative could be much more efficient than marketing D as a 
C/C++ alternative.


Why are they trying to sell D on its weakness, instead of selling 
it on its strength.


The only thing that D needs to compete on the same ground as Go 
and Crystal is to have similar default HTTP-related libraries, 
which don't rely on thirdparty libraries for the reasons you just 
explained...


Add a 10-liner "Hello World" web server example on the main page 
and that's it.


And if they REALLY want to ALSO compete with C++, then I strongly 
suggest to add weak and strong references to the syntax (for 
instance T& and T@), and provide an alternative standard library 
which doesn't require garbage collection at all, like those of 
C++ and Rust.


But I think it's quite obvious that the first option (Go-like) 
clearly requires less time and efforts than the second (C++-li

libfirm-d - D bindings of Firm, a compiler IR based on the SSA form

2018-07-01 Thread Basile B. via Digitalmars-d-announce

I've recently ported libfirm to D.

This nice C library, developed at the Karlsruhe university, 
allows to build compiler back-ends, using the SSA intermediate 
representation.


In theory it could even be used to make a new D compiler version, 
e.g "FDC", although this is obviously of no interest ;)


So this is mostly to make JIT scripting engines or back-ends for 
toy languages...


See:

- https://github.com/BBasile/libfirm-d
- https://code.dlang.org/packages/firm-d
- https://pp.ipd.kit.edu/firm/

Note that unfortunately this library is LGPL2 licensed, so much 
less usable than LLVM-d, which is a similar but a more mainstream 
library.


Re: I have a plan.. I really DO

2018-07-01 Thread punkUser via Digitalmars-d-announce

On Saturday, 30 June 2018 at 21:15:09 UTC, Ecstatic Coder wrote:

Already tried. Good luck with that... ;)


Well to be clear I'm more providing the feedback out courtesy and 
thanks for the work people have done on D and vibe.d in 
particular. While I'd love to see D succeed in the long run, 
we're blessed with enough options these days that it's not a huge 
deal to me either way.


Thanks for the link to Diamond, I'll check it out. That said, the 
majority of my use cases are exposing lower level D code as 
network accessible services and occasionally implementing custom 
network protocols rather than writing full client web apps in D, 
but always good to keep various options in mind.


Re: I have a plan.. I really DO

2018-07-01 Thread Timoses via Digitalmars-d-announce

On Sunday, 1 July 2018 at 02:57:26 UTC, RhyS wrote:


D its buginess in between releases also does not help. I 
probably downloaded LDC and DMD in the last 9 months a dozen 
times, being forced to go back to older versions. Then trying 
the new versions, going back. Again and again on Windows.


Downloads do not mean a lot when you can not keep the people. I 
can swear that i alone am probably responsible for over 25+ 
downloads on Windows and dozens on Linux OS. And every time D 
loses me after running into issues.


Been there. Just recently found out about DVM 
(https://github.com/jacob-carlborg/dvm). Not sure how well it 
works for Windows.