On Sunday, 25 June 2017 at 05:29:02 UTC, Axe wrote:
Since we cannot find the control flow path in a function. All
the variable
declarations are moved to the top of the function, so that
control flow doesn't determine whether
the variables are allocated or not.
Now the question is whether this
Hi there. I have found a new memory management strategy based on
whole program lifetime inference.
Disclaimer: I am no expert and hence what follows may be
completely wrong or impractical. So bear with me.
The first step is to construct an "escape" lists for each and
every function.
Escape l
On Saturday, 24 June 2017 at 18:17:42 UTC, Laeeth Isharc wrote:
what is the barest minimum we need to enable that?
The phobos devs or the dmd packager just have to grab code and
docs they are interested in. It's open source; the author has
already made it available. Drop it in the default imp
On 24.06.2017 19:42, Johan Engelen wrote:
This code no longer compiles (regression since 2.072, [1]):
```
module example;
import std.meta: staticIndexOf;
struct Attrib {}
@Attrib enum TEST = 123;
void foo() {
foreach(name; __traits(allMembers, example)) {
pragma(msg, name);
On Saturday, 24 June 2017 at 19:22:48 UTC, Ecstatic Coder wrote:
Two lines of code, that's all that's needed to serve an entire
website, with all sorts of files (html, css, js, jpg, png, etc)
located in plenty of directories.
Fun fact: I actually do *not* have code that does that in one
line.
On 25.06.2017 01:09, Adam D. Ruppe wrote:
On Saturday, 24 June 2017 at 23:00:59 UTC, Timon Gehr wrote:
Failed to listen on :::80
Listening on port 80 requires root anyway. That's why like my cgi.d uses
8085 - anything over 1024 can be listened by any user (and is less
likely to have an exist
On 25.06.2017 01:03, Wulfklaue wrote:
On Saturday, 24 June 2017 at 23:00:59 UTC, Timon Gehr wrote:
$ dub main.d
Failed to listen on :::80
Failed to listen on 0.0.0.0:80
object.Exception@../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/http/server.d(1698):
Failed to listen for incoming HTTP
On Saturday, 24 June 2017 at 23:00:59 UTC, Timon Gehr wrote:
Failed to listen on :::80
Listening on port 80 requires root anyway. That's why like my
cgi.d uses 8085 - anything over 1024 can be listened by any user
(and is less likely to have an existing program on it)
On Saturday, 24 June 2017 at 19:17:24 UTC, bachmeier wrote:
Just this morning I got things working on Windows. Now that all
three major platforms have support, it is as reasonable to
create an R package with D functions as C, C++ or Fortran.
Anyone can write up a library of D functions and pu
On Saturday, 24 June 2017 at 23:00:59 UTC, Timon Gehr wrote:
$ dub main.d
Failed to listen on :::80
Failed to listen on 0.0.0.0:80
object.Exception@../../.dub/packages/vibe-d-0.7.31/vibe-d/source/vibe/http/server.d(1698):
Failed to listen for incoming HTTP connections on any of the supplied
int
On Saturday, 24 June 2017 at 22:16:11 UTC, Wulfklaue wrote:
Attempt 1:
Attempt 2:
Attempt 3:
Attempt 4:
Attempt 5:
=
Almost forgot to mention, this was done under Windows ( where the
inline does not work ). It works under Linux but that is a
different issue.
On 25.06.2017 00:34, Sönke Ludwig wrote:
Am 25.06.2017 um 00:18 schrieb Timon Gehr:
$ cat main.d
/++ dub.sdl: <-- colon missing here
(...)
What am I doing wrong?
I forgot a colon at the end of the first line. With that it *actually*
works now.
$ dub main.d
Failed to listen on :::80
Failed
On Saturday, 24 June 2017 at 22:18:29 UTC, Timon Gehr wrote:
$ cat main.d
/++ dub.sdl
name "webserver"
dependency "vibe-d:http" version="~>0.7.31"
+/
module main;
import vibe.core.core;
import vibe.http.fileserver;
import vibe.http.server;
void main()
{
listenHTTP(new HTTPServerSett
On Saturday, 24 June 2017 at 21:56:20 UTC, Andrei Alexandrescu
wrote:
On 6/24/17 1:11 PM, Wulfklaue wrote:
[snip]
Thanks, this is a good point. The bountysource has been tried by
Facebook (with D and other projects) and was deemed
unsuccessful. It may
be the time for trying a new angle on boun
Am 25.06.2017 um 00:18 schrieb Timon Gehr:
$ cat main.d
/++ dub.sdl: <-- colon missing here
(...)
What am I doing wrong?
I forgot a colon at the end of the first line. With that it *actually*
works now.
Am 25.06.2017 um 00:16 schrieb Wulfklaue:
On Saturday, 24 June 2017 at 20:29:23 UTC, Sönke Ludwig wrote:
/++ dub.sdl
name "webserver"
dependency "vibe-d:http" version="~>0.7.31"
+/
module main;
import vibe.core.core;
import vibe.http.fileserver;
import vibe.http.server;
void main()
{
On 24.06.2017 22:29, Sönke Ludwig wrote:
Am 24.06.2017 um 21:22 schrieb Ecstatic Coder:
package main
import (
"log"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
http.ServeFile(w, r, r.URL.Path[1:]);
});
log.Fatal(ht
On Saturday, 24 June 2017 at 20:29:23 UTC, Sönke Ludwig wrote:
/++ dub.sdl
name "webserver"
dependency "vibe-d:http" version="~>0.7.31"
+/
module main;
import vibe.core.core;
import vibe.http.fileserver;
import vibe.http.server;
void main()
{
listenHTTP(new HTTPServerSettings, serve
Hello, does anyone have traces of allocations from real applications?
Looking for the sequence of calls to malloc, realloc, and free, e.g.:
0 malloc 128
1 malloc 8192
2 malloc 32
3 free 1
...
Thanks,
Andrei
On 6/24/17 1:11 PM, Wulfklaue wrote:
[snip]
Thanks, this is a good point. The bountysource has been tried by
Facebook (with D and other projects) and was deemed unsuccessful. It may
be the time for trying a new angle on bountysource though.
We'll look into defining a page listing existing sponso
On Saturday, 24 June 2017 at 02:31:09 UTC, Solomon E wrote:
I think my proposal to add another use of semicolon in
parentheses, like `foreach` or `for` but not the same as
either, was needlessly complicated.
in (a)
out (result) (a)
as syntax sugar where each (a) lowers to
{assert(a);}
and in
On 6/24/17 9:29 PM, Sönke Ludwig wrote:
Am 24.06.2017 um 21:22 schrieb Ecstatic Coder:
package main
import (
"log"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
http.ServeFile(w, r, r.URL.Path[1:]);
});
log.Fatal(htt
On Saturday, 24 June 2017 at 21:04:36 UTC, Ecstatic Coder wrote:
Just rename the three imports into std.*, make this available
at installation, et voilà :)
Or just leave it how it is and let it download the package
automatically!
I'm pretty sure that always works with an out-of-the box dmd
On Saturday, 24 June 2017 at 20:29:23 UTC, Sönke Ludwig wrote:
Am 24.06.2017 um 21:22 schrieb Ecstatic Coder:
package main
import (
"log"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r
*http.Request) {
http.ServeFile(w, r, r.URL.Path[1:]);
Am 24.06.2017 um 21:22 schrieb Ecstatic Coder:
package main
import (
"log"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
http.ServeFile(w, r, r.URL.Path[1:]);
});
log.Fatal(http.ListenAndServe(":80", nil));
}
/++ du
On Saturday, 24 June 2017 at 19:18:24 UTC, FoxyBrown wrote:
On Saturday, 24 June 2017 at 18:51:44 UTC, Johan Engelen wrote:
On Saturday, 24 June 2017 at 18:16:46 UTC, FoxyBrown wrote:
[...]
Yes indeed. LDC will output the IR when you use the
`-output-ll` (human readable) or `-output-bc` (bin
On Saturday, 24 June 2017 at 18:10:54 UTC, Adam D. Ruppe wrote:
On Friday, 23 June 2017 at 18:26:43 UTC, Ecstatic Coder wrote:
I'm also in favor that some of your personal developments be
converted into std libs.
Eh, std libs is where you lose me. I don't mind offering a
"just works" dmd down
On Saturday, 24 June 2017 at 18:51:44 UTC, Johan Engelen wrote:
On Saturday, 24 June 2017 at 18:16:46 UTC, FoxyBrown wrote:
[...]
Yes indeed. LDC will output the IR when you use the
`-output-ll` (human readable) or `-output-bc` (binary
representation) compile switches.
[...]
In theory,
On Saturday, 24 June 2017 at 17:43:36 UTC, Laeeth Isharc wrote:
R is done (thanks bachmeier)
Integration with R is largely complete, but the missing piece has
always been lack of Windows support, which meant it wasn't an
option for most users.
Just this morning I got things working on Windo
On Saturday, 24 June 2017 at 18:16:46 UTC, FoxyBrown wrote:
Nice to know it's being worked on. I am not really familiar
with llvm but it seems like it can be quite useful. I'm I
correct that basically llvm is an intermediate
representation(sorta like C#/VBS/F#/etc's IR)?
This means that one
On Saturday, 24 June 2017 at 18:10:54 UTC, Adam D. Ruppe wrote:
On Friday, 23 June 2017 at 18:26:43 UTC, Ecstatic Coder wrote:
I'm also in favor that some of your personal developments be
converted into std libs.
Eh, std libs is where you lose me. I don't mind offering a
"just works" dmd down
On Friday, 23 June 2017 at 19:56:17 UTC, Joakim wrote:
On Friday, 23 June 2017 at 19:03:01 UTC, FoxyBrown wrote:
[...]
The ldc wiki page has a rudimentary version of what you're
looking for, listing all platforms worked on and some idea of
how well they're supported:
https://wiki.dlang.org
On Saturday, 24 June 2017 at 15:31:21 UTC, Martin Nowak wrote:
On Monday, 19 June 2017 at 22:35:42 UTC, Dmitry Olshansky wrote:
My take on D's GC problem, also spoiler - I'm going to build a
new one soonish.
http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html
---
Dmitry Olshansky
On Friday, 23 June 2017 at 18:26:43 UTC, Ecstatic Coder wrote:
I'm also in favor that some of your personal developments be
converted into std libs.
Eh, std libs is where you lose me. I don't mind offering a "just
works" dmd download on my website, with my packaging dmd for some
particular pu
On Saturday, 24 June 2017 at 17:42:48 UTC, Johan Engelen wrote:
Does anybody know a workaround?
I got something with mixins now that seems to work.
```
void foo(string modname)() {
mixin("static import mod = " ~ modname ~ ";");
foreach(name; __traits(allMembers, mod)) {
pragma(
Johan Engelen wrote:
This code no longer compiles (regression since 2.072, [1]):
```
module example;
import std.meta: staticIndexOf;
struct Attrib {}
@Attrib enum TEST = 123;
void foo() {
foreach(name; __traits(allMembers, example)) {
pragma(msg, name);
pragma(msg, __tr
On Saturday, 24 June 2017 at 17:42:48 UTC, Johan Engelen wrote:
This code no longer compiles (regression since 2.072, [1]):
```
module example;
import std.meta: staticIndexOf;
struct Attrib {}
@Attrib enum TEST = 123;
void foo() {
foreach(name; __traits(allMembers, example)) {
prag
On Saturday, 24 June 2017 at 11:18:10 UTC, Ecstatic Coder wrote:
On Saturday, 24 June 2017 at 10:34:07 UTC, Ola Fosheim Grøstad
wrote:
On Saturday, 24 June 2017 at 09:35:56 UTC, Ecstatic Coder
wrote:
I'm assuming that D is for general purpose programming as
well.
That seems to be where it is
This code no longer compiles (regression since 2.072, [1]):
```
module example;
import std.meta: staticIndexOf;
struct Attrib {}
@Attrib enum TEST = 123;
void foo() {
foreach(name; __traits(allMembers, example)) {
pragma(msg, name);
pragma(msg, __traits(getAttributes, __trai
On Wednesday, 21 June 2017 at 15:11:39 UTC, Joakim wrote:
the gcc tree:
https://gcc.gnu.org/ml/gcc/2017-06/msg00111.html
Congratulations to Iain and the gdc team. :)
I found out because it's on the front page of HN right now,
where commenters are asking questions about D.
Thanks for all the
On Monday, 19 June 2017 at 22:35:42 UTC, Dmitry Olshansky wrote:
My take on D's GC problem, also spoiler - I'm going to build a
new one soonish.
http://olshansky.me/gc/runtime/dlang/2017/06/14/inside-d-gc.html
---
Dmitry Olshansky
FYI, we've tried to improve the binary pool search, but there
On Saturday, 24 June 2017 at 12:26:57 UTC, Moritz Maxeiner wrote:
Should the need ever arise for (new) contract and assert
grammar to diverge it can be dealt with then by whoever does
the diverging.
Yes, I'll keep the grammar the same for now, because there is a
benefit to doing so, in that a
On Saturday, 24 June 2017 at 12:11:29 UTC, Wulfklaue wrote:
I never considered that D has a bountysource account. Its way,
wy at the bottom of the monthly listing page. It did not
even show up until 3 days ago.
It was somewhat active for a while a couple years ago, but I
found it to be si
On 6/24/17 8:26 AM, Moritz Maxeiner wrote:
I would simply copy the current assert grammar into a separate contract
grammar, so that further modifications to the assert grammar do not
change the new contract grammar.
But as I said, it's not important to me, it was just an
observation/question.
On Saturday, 24 June 2017 at 05:16:45 UTC, MysticZach wrote:
On Friday, 23 June 2017 at 21:36:07 UTC, Moritz Maxeiner wrote:
Contracts within the DbC paradigm *are* abstractions that do
not necessitate any particular implementation.
In practice, though, what must any such implementation actual
On 24/06/2017 1:11 PM, Wulfklaue wrote:
snip
And sorry for the strong language but this is the truth! The fact that i
as a newcomer needs to point this out is just ridiculous. Its easy to
see why Nim and Crystal out fund D on bountysource.
It's fine. You're not attacking anyone and not swear
On Saturday, 24 June 2017 at 10:21:50 UTC, rikki cattermole wrote:
What on earth are you talking about[0]?
[0] https://www.bountysource.com/teams/d
*wow* ... Call me amazed and dumbstruck.
I never considered that D has a bountysource account. Its way,
wy at the bottom of the monthly list
On Saturday, 24 June 2017 at 10:17:16 UTC, Wulfklaue wrote:
On Saturday, 24 June 2017 at 09:35:56 UTC, Ecstatic Coder wrote:
With all due respect, on the contrary I think that promoting D
as a general purpose programming language could be its only
chance to really improve its popularity, and th
On Saturday, 24 June 2017 at 10:34:07 UTC, Ola Fosheim Grøstad
wrote:
On Saturday, 24 June 2017 at 09:35:56 UTC, Ecstatic Coder wrote:
I'm assuming that D is for general purpose programming as
well.
That seems to be where it is heading. I don't think D stands
a chance in that domain, but we'
On Saturday, 24 June 2017 at 02:31:09 UTC, Solomon E wrote:
I think my proposal to add another use of semicolon in
parentheses, like `foreach` or `for` but not the same as
either, was needlessly complicated.
It's very popular, actually. :)
in (a)
out (result) (a)
This resembles template fu
On Sat, 2017-06-24 at 10:34 +, Ola Fosheim Grøstad via Digitalmars-
d wrote:
>
[…]
> Most programming languages are technically "general purpose", but
> when projects look for tooling they aren't looking for something
> generic, they are looking for a solution to a specific domain.
>
> So,
On Saturday, 24 June 2017 at 09:35:56 UTC, Ecstatic Coder wrote:
I'm assuming that D is for general purpose programming as
well.
That seems to be where it is heading. I don't think D stands
a chance in that domain, but we'll see.
With all due respect, on the contrary I think that promoting
On 24/06/2017 11:17 AM, Wulfklaue wrote:
snip
Frankly, i think the best way to go about moving D to popularity, is
simply money. More fully time programmers but that requires money.
I do not understand why D does not have a BountySource account (
salt.bountysource.com ).
What on earth are
On Saturday, 24 June 2017 at 09:35:56 UTC, Ecstatic Coder wrote:
With all due respect, on the contrary I think that promoting D
as a general purpose programming language could be its only
chance to really improve its popularity, and thus significantly
grow its current user base.
I'm sorry to
On 23.06.2017 21:04, H. S. Teoh via Digitalmars-d wrote:
On Fri, Jun 23, 2017 at 06:57:57PM +, MysticZach via Digitalmars-d wrote:
On Friday, 23 June 2017 at 18:20:23 UTC, Moritz Maxeiner wrote:
On Friday, 23 June 2017 at 18:03:26 UTC, Timon Gehr wrote:
[...]
Agreed. Implementation:
https
I'm assuming that D is for general purpose programming as well.
That seems to be where it is heading. I don't think D stands a
chance in that domain, but we'll see.
With all due respect, on the contrary I think that promoting D as
a general purpose programming language could be its only cha
On Friday, 23 June 2017 at 14:45:12 UTC, Bienlein wrote:
I'm assuming that D is for general purpose programming as well.
That seems to be where it is heading. I don't think D stands a
chance in that domain, but we'll see.
On Friday, 23 June 2017 at 18:51:13 UTC, Anonymouse wrote:
On Thursday, 22 June 2017 at 00:48:25 UTC, Seb wrote:
Hi,
I am currently trying to modernize the D code example roulette
on the dlang.org front page [1]. Hence, I would love to hear
about your favorite feature(s) in D.
Ideas:
- favor
On Friday, 23 June 2017 at 19:56:17 UTC, Joakim wrote:
Just last night, I was thinking about some easy way to let ldc
users cross-compile the stdlib themselves from the regular ldc
download, and I thought of doing it with dub, the D package
manager, since we now distribute dub alongside ldc.
59 matches
Mail list logo