Re: Article: Running D without its runtime

2016-11-12 Thread Russel Winder via Digitalmars-d-announce
On Fri, 2016-11-11 at 22:51 +, Guillaume Piolat via Digitalmars-d-
announce wrote:
> On Thursday, 10 November 2016 at 06:52:12 UTC, Olivier Pisano 
> wrote:
> > I cannot read your website on Firefox 45 (no text is 
> > displayed). It works on chromium anyway.
> 
> FWIW it should work now

Definitely does. Thanks for making the change.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

signature.asc
Description: This is a digitally signed message part


Re: Article: Running D without its runtime

2016-11-11 Thread Guillaume Piolat via Digitalmars-d-announce
On Thursday, 10 November 2016 at 06:52:12 UTC, Olivier Pisano 
wrote:
I cannot read your website on Firefox 45 (no text is 
displayed). It works on chromium anyway.


FWIW it should work now


Re: Article: Running D without its runtime

2016-11-10 Thread Guillaume Piolat via Digitalmars-d-announce
On Thursday, 10 November 2016 at 17:32:36 UTC, Russel Winder 
wrote:
On Thu, 2016-11-10 at 06:52 +, Olivier Pisano via 
Digitalmars-d- announce wrote:
I cannot read your website on Firefox 45 (no text is 
displayed).

It works on chromium anyway.


I see only some (bold?) test items, the basic text is not 
visible. I am

using Chrome Stable   54.0.2840.90 (64-bit)  on Debian Sid.


This seems to be https://github.com/google/fonts/issues/206

Can't reproduce on FF 47 + Ubuntu, will probably change the 
font...


Re: Article: Running D without its runtime

2016-11-10 Thread Russel Winder via Digitalmars-d-announce
On Thu, 2016-11-10 at 06:52 +, Olivier Pisano via Digitalmars-d-
announce wrote:
> I cannot read your website on Firefox 45 (no text is displayed). 
> It works on chromium anyway.

I see only some (bold?) test items, the basic text is not visible. I am
using Chrome Stable   54.0.2840.90 (64-bit)  on Debian Sid.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

signature.asc
Description: This is a digitally signed message part


Re: Article: Running D without its runtime

2016-11-10 Thread Olivier Pisano via Digitalmars-d-announce
On Thursday, 10 November 2016 at 11:11:17 UTC, Guillaume Piolat 
wrote:
On Thursday, 10 November 2016 at 06:52:12 UTC, Olivier Pisano 
wrote:
I cannot read your website on Firefox 45 (no text is 
displayed). It works on chromium anyway.


I develop it on Firefox. What is your OS?


I am on Debian Jessie, with Firefox ESR 45.4.0.


Re: Article: Running D without its runtime

2016-11-10 Thread Guillaume Piolat via Digitalmars-d-announce

On Thursday, 10 November 2016 at 11:31:43 UTC, ag0aep6g wrote:

On 11/10/2016 12:21 PM, Guillaume Piolat wrote:

Thanks. Are you behind a proxy? I've had such reports before.


Nope. No proxy.


I'll check with Ubuntu + Firefox in about 10 hours


Re: Article: Running D without its runtime

2016-11-10 Thread ag0aep6g via Digitalmars-d-announce

On 11/10/2016 12:21 PM, Guillaume Piolat wrote:

Thanks. Are you behind a proxy? I've had such reports before.


Nope. No proxy.


Re: Article: Running D without its runtime

2016-11-10 Thread Guillaume Piolat via Digitalmars-d-announce

Thanks for reading!

On Thursday, 10 November 2016 at 06:08:22 UTC, thedeemon wrote:
This is the schizophrenic part of D, since allocations inside 
destructors are not allowed by its own runtime and cause 
immediate stop of the program.


But this restriction is only there when called by the GC. If you 
have GC and a deterministic object graph, it can be completely 
safe to allocate in destructor.

I feel this is a separate problem, "GC calling destructors".

And exceptions in destructors should not be allowed: there is 
no sane place to catch and handle exceptions arising during the 
GC phase (which can be triggered by arbitrary allocation 
anywhere in the code), so if we can't reason about them and 
handle them we shouldn't allow them.


Good point.


Re: Article: Running D without its runtime

2016-11-10 Thread Guillaume Piolat via Digitalmars-d-announce

On Thursday, 10 November 2016 at 11:20:38 UTC, ag0aep6g wrote:

On 11/10/2016 12:11 PM, Guillaume Piolat wrote:
On Thursday, 10 November 2016 at 06:52:12 UTC, Olivier Pisano 
wrote:
I cannot read your website on Firefox 45 (no text is 
displayed). It

works on chromium anyway.


I develop it on Firefox. What is your OS?


I'm on Ubuntu 16.04 and the text is missing for me too. Seems 
to be an issue with the Fira Sans font.


Thanks. Are you behind a proxy? I've had such reports before.


Re: Article: Running D without its runtime

2016-11-10 Thread ag0aep6g via Digitalmars-d-announce

On 11/10/2016 12:11 PM, Guillaume Piolat wrote:

On Thursday, 10 November 2016 at 06:52:12 UTC, Olivier Pisano wrote:

I cannot read your website on Firefox 45 (no text is displayed). It
works on chromium anyway.


I develop it on Firefox. What is your OS?


I'm on Ubuntu 16.04 and the text is missing for me too. Seems to be an 
issue with the Fira Sans font.


Re: Article: Running D without its runtime

2016-11-10 Thread Guillaume Piolat via Digitalmars-d-announce

On Thursday, 10 November 2016 at 10:30:36 UTC, qznc wrote:
On Thursday, 10 November 2016 at 00:56:02 UTC, Guillaume Piolat 
wrote:

https://www.auburnsounds.com/blog/2016-11-10_Running-D-without-its-runtime.html

"Our products now run with the D language runtime disabled. 
This post is both a post-mortem and tutorial on how to live 
without the D runtime. "


For runtime users the good news is that speed is already fine. 
:)


The hacks you needed to go through are ugly. Any ideas how this 
could be improved?


Barely.

I'm not wise enough to know what this would imply. In my 
uninformed opinion, making attribute inference work on destroy() 
and making class destructors "nothrow @nogc" would go a long way.
As it is, doing D without the runtime isolates you in a tiny 
universe.


About exceptions, if we modify Throwable to have a "release()" 
virtual function called (or better own an allocator?), then we 
could have the caller catch exception regardless of how they are 
allocated.


Re: Article: Running D without its runtime

2016-11-10 Thread Guillaume Piolat via Digitalmars-d-announce
On Thursday, 10 November 2016 at 06:52:12 UTC, Olivier Pisano 
wrote:
I cannot read your website on Firefox 45 (no text is 
displayed). It works on chromium anyway.


I develop it on Firefox. What is your OS?


Re: Article: Running D without its runtime

2016-11-10 Thread qznc via Digitalmars-d-announce
On Thursday, 10 November 2016 at 00:56:02 UTC, Guillaume Piolat 
wrote:

https://www.auburnsounds.com/blog/2016-11-10_Running-D-without-its-runtime.html

"Our products now run with the D language runtime disabled. 
This post is both a post-mortem and tutorial on how to live 
without the D runtime. "


For runtime users the good news is that speed is already fine. :)

The hacks you needed to go through are ugly. Any ideas how this 
could be improved?


(animated background ag...)


Re: Article: Running D without its runtime

2016-11-09 Thread Olivier Pisano via Digitalmars-d-announce
I cannot read your website on Firefox 45 (no text is displayed). 
It works on chromium anyway.


Re: Article: Running D without its runtime

2016-11-09 Thread thedeemon via Digitalmars-d-announce
On Thursday, 10 November 2016 at 00:56:02 UTC, Guillaume Piolat 
wrote:

https://www.auburnsounds.com/blog/2016-11-10_Running-D-without-its-runtime.html


Great post and useful pieces of code, thanks!

"every class object's destructor is assumed to throw exceptions 
and use the GC by default."


This is the schizophrenic part of D, since allocations inside 
destructors are not allowed by its own runtime and cause 
immediate stop of the program. A sane language would either 
insist on making all destructors @nogc or allow some allocations 
during the GC phase (like CLR and JVM do, I suppose).


And exceptions in destructors should not be allowed: there is no 
sane place to catch and handle exceptions arising during the GC 
phase (which can be triggered by arbitrary allocation anywhere in 
the code), so if we can't reason about them and handle them we 
shouldn't allow them.


Article: Running D without its runtime

2016-11-09 Thread Guillaume Piolat via Digitalmars-d-announce

https://www.auburnsounds.com/blog/2016-11-10_Running-D-without-its-runtime.html

"Our products now run with the D language runtime disabled. This 
post is both a post-mortem and tutorial on how to live without 
the D runtime. "


This only covers the middle road where you link with the runtime 
and not initialize it.


Basically describes the process of leaving the D runtime disabled 
for products that used to rely on it. I present a simple way to 
have MM exceptions in @nogc (an idea originally from Adam D Ruppe 
I think).


It wasn't very hard just took lots of grunt work. What striked me 
most during the process was the cascade of things that couldn't 
be "nothrow @nogc" because Object.~this isn't. So the workaround 
is rather ugly, and you don't get to reuse things using the 
regular .destroy (like Unique, scoped!, etc.)