Re: Battle-plan for CTFE

2016-06-30 Thread Martin Nowak via Digitalmars-d-announce
On 06/30/2016 05:17 AM, Stefan Koch wrote:
> Both. Actually I could not imagine fixing the memory problem without
> doing IR interpretation.
> I will tackle compiling more difficult code later today.
> As soon as I can run my compiletime brainfuck I will open a PR.
> 
> Until then you can see my progress at
> https://github.com/UplinkCoder/dmd/tree/newCTFE
> I will try to always keep the branch in a healthy state.

Looks good and will definitely lead to a proper CTFE interpreter.

You might want to go back and look at
https://github.com/MartinNowak/dmd/blob/28ffb0ab4fa6950f60c085f33f8a2ce23df7c0cd/src/interpret.c,
it could already do a few more things than your interpreter atm.

[¹]: https://github.com/MartinNowak/dmd/commits/ctfe


Re: Battle-plan for CTFE

2016-06-29 Thread Martin Nowak via Digitalmars-d-announce

On Thursday, 30 June 2016 at 01:20:08 UTC, Stefan Koch wrote:

First small code example compiles!

int bug6498(int x) {
 int n = 0;

 while (n < x) {
  n++;
 }

 return n;
}

evaluation of bug6498(100_000_00) took 226 msecs.
evaluation of bug6498(100_000_000) took 2228 msecs.

The memory allocated by the Evaluator is exactly 12 bytes.


The speedup comes from interpreting the IR or fixing the memory 
leaking?


Re: one-file pure D decoders for vorbis, flac and mp3

2016-06-29 Thread Martin Nowak via Digitalmars-d-announce

On Wednesday, 29 June 2016 at 09:07:18 UTC, ketmar wrote:
i decided to make some noise about those, as people may 
thinking about doing the ports themselves, and effectively 
double (or triple, or...) the work.


so, here they are:
* Vorbis decoder[1] (stb_vorbis port), PD;
* FLAC decoder[2] (drflac port), PD;
* MP3 decoder[3] (minimp3 port), GPL.

they may or may not work for you, i don't know.


[1] http://repo.or.cz/iv.d.git/blob_plain/HEAD:/stb/vorbis.d


Nice, just recently use stb_vorbis.c. Any chance you'll turn this 
into a dub package?


Release D 2.071.1

2016-06-27 Thread Martin Nowak via Digitalmars-d-announce
Glad to announce D 2.071.1.

http://dlang.org/download.html

This point release fixes a few issues over 2.071.0, see the changelog
for more details.

http://dlang.org/changelog/2.071.1.html

-Martin


Re: Beta D 2.071.1-b2

2016-06-27 Thread Martin Nowak via Digitalmars-d-announce
On 06/16/2016 08:43 PM, Jack Stouffer wrote:
> On Sunday, 29 May 2016 at 21:53:23 UTC, Martin Nowak wrote:
>> Second beta for the 2.071.1 release.
>>
>> http://dlang.org/download.html#dmd_beta
>> http://dlang.org/changelog/2.071.1.html
>>
>> Please report any bugs at https://issues.dlang.org
>>
>> -Martin
> 
> This release would fix some pretty serious bugs. What's the holdup?

I couldn't find enough time to fix
https://issues.dlang.org/show_bug.cgi?id=16085. Let's do the point
release now anyhow and follow-up later on.



Re: Beta D 2.071.1-b2

2016-06-27 Thread Martin Nowak via Digitalmars-d-announce
On 06/16/2016 09:47 PM, deadalnix wrote:
> 196418a8b3ec1c5f284da5009b4bb18e3f70d99f still not in after 3 month.
> This is typesystem breaking. While I understand it wasn't picked for
> 2.071 , I'm not sure why it wasn't for 2.071.1 .

Because it didn't target stable.



Re: LDC 1.0.0 has been released!

2016-06-06 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 6 June 2016 at 07:00:56 UTC, Kai Nacke wrote:

Hi everyone,

It is a great pleasure to announce that version 1.0.0 of LDC, 
the LLVM-based D compiler, is now available for download!


Congratulations!
And please update https://ldc-developers.github.io/LATEST.



Beta D 2.071.1-b2

2016-05-29 Thread Martin Nowak via Digitalmars-d-announce
Second beta for the 2.071.1 release.

http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.071.1.html

Please report any bugs at https://issues.dlang.org

-Martin


Re: Battle-plan for CTFE

2016-05-21 Thread Martin Nowak via Digitalmars-d-announce
On 05/21/2016 11:18 PM, Martin Nowak wrote:
> The debugging metaphor would be comparing a program that only uses
> pointer arithmetic against one that is memory safe, the former can
> randomly write everywhere from anywhere, the latter could use the wrong
> reference.

It's also similar to comparing assembly code to C.


Re: Battle-plan for CTFE

2016-05-21 Thread Martin Nowak via Digitalmars-d-announce
On 05/18/2016 04:59 PM, Daniel Murphy wrote:
> The bytecode generator and bytecode interpreter can be debugged (and
> tested!) independently.  So the total amount of code will increase but
> the components themselves will be better isolated and easier to work with.

It's simpler to debug an AST interpreter working with a stack of
high-level values, than it is to debug a bytecode interpreter where lots
of context has been converted to jumping goto code.

Just to illustrate my point, here are an AST and a BC interpreter for
very simplistic functional language I wrote recently. The later one
still missing the actual interpretation.
https://github.com/MartinNowak/CC1/commit/ed28b8966de86e7449f93ce4e4cf7aed3082180b
https://github.com/MartinNowak/CC1/commit/899e67cf7038050b86eed533c9165bd2ba06e609

There is nothing simpler about a BC interpreter. Instead you have to
deal with converting control flow and computing addressing.

The debugging metaphor would be comparing a program that only uses
pointer arithmetic against one that is memory safe, the former can
randomly write everywhere from anywhere, the latter could use the wrong
reference.

> I don't think a possible future need for a JIT is a good reason to avoid
> an bytecode interpreter.

It's a very good reason, b/c once you work on JIT, there is no benefit
for BC left, e.g. all the extra work for nothing.
That said, I doubt we'll need a JIT anytime soon.

> A large part of the work of adding a new (JIT) backend is pinning down the 
> semantics,
> and adding a bytecode interpreter will certainly help to do that.

The semantic problem is already solved, in a file called interpret.d by
sth. that's an AST interpreter, that just happens to use the wrong value
structures and leaks memory. Converting that to BC will be quite
difficult, cleaning it up and changing it to use a better stack and
deterministic memory management is rather straightforward.

Last but not least, don't forget that we have the same situation since
over 3 years already. It has always been similarly easy to write a
better interpreter, it just never happened b/c the ambitions never
matched the available resources.

-Martin



Re: Battle-plan for CTFE

2016-05-21 Thread Martin Nowak via Digitalmars-d-announce
On 05/18/2016 07:50 PM, Stefan Koch wrote:
> Indeed.
> 
> I am currently designing an IR to feed into the CTFE Evaluator.
> I am aware that this could potentially make it harder to get things
> merged since DMD already has the glue-layer.

As a compat layer between different interpreters or as a compat layer
between all backends? Adding another translation might not be
acceptable, at least for real backends.

> However I do think that the benefits outweigh the drawbacks by far.
> Especially when one looks at the possibility to eventually plug llvm or
> the gcc-jit in.

Indeed, but it heavily increases the chance that your project lands on
the unfinished D project pile.

> My CTFE needs are rather heavy weight. So I will go for a solution that
> can support this.
> I believe the pressure on CTFE performance will increase as soon as the
> preformance increases. Since this will enable much more things.
> I.E. running a query optimizer at compile-time.

That might be true, but scripting languages are still fast enough to be
used everywhere. You won't need native CTFE performance for it to be an
enabling technique.

-Martin


Re: D's Auto Decoding and You

2016-05-20 Thread Martin Nowak via Digitalmars-d-announce

On Tuesday, 17 May 2016 at 14:06:37 UTC, Jack Stouffer wrote:

Related discussion 
https://trello.com/c/4XmFdcp6/163-rediscuss-redundant-utf-8-string-validation.


Re: Battle-plan for CTFE

2016-05-17 Thread Martin Nowak via Digitalmars-d-announce
On 05/17/2016 12:42 PM, Don Clugston wrote:
> There's no need for grandiose plans, as if there is some
> almost-insurmountable problem to be solved. THIS IS NOT DIFFICULT. With
> the interface cleaned up, it is the well-studied problem of creating an
> interpreter. Everyone knows how to do this, it's been done thousands of
> times. The complete test suite is there for you. Someone just needs to
> do it.

Yes, exactly my words.

> I think I took the approach of using syntax trees about as far as it can
> go. It's possible, but it's really vile. Look at the code for doing
> assignments. Bleagh. The only thing in its favour is that originally it
> was the only implementation that was possible at all. Even the first,
> minimal step towards creating a ctfe backend -- introducing a
> syntax-tree-validation step -- simplified parts of the code immensely.

Yes, this
https://github.com/dlang/dmd/blob/7d00095301c4780b41addcfeb50f4743a9a6c5d4/src/dinterpret.d#L3418
is really ugly and complex, but you won't get rid of this inherent
complexity. The e2ir code for AssingExp looks almost the same
https://github.com/dlang/dmd/blob/7d00095301c4780b41addcfeb50f4743a9a6c5d4/src/e2ir.c#L2466.

> You might imagine that it's easier to work with syntax trees than to
> start from scratch but I'm certain that's not true. I'm pretty sure that
> the simplest approach is to use the simplest possible
> machine-independent bytecode that you can come up with. I had got to the
> point of starting that, but I just couldn't face doing it in C++.

All I'm saying is that interpreting the AST to generate bytecode is
going to be as complex as interpreting the AST directly, but then you
still a bytecode interpreter and later might still want a JIT.

Using dedicated value types during interpretation instead of recycling
the AST for that will also make the transitions clearer and get rid of
some of the lifetime complexities in the current code.

-Martin



Re: The D language online tour - tour.dlang.org

2016-05-16 Thread Martin Nowak via Digitalmars-d-announce
On 05/16/2016 07:32 PM, André wrote:
> Hi,
> 
> after another round of polishing, bug fixing, very useful user
> contributions and suggestions, I'd like to present the new home of the D
> language online tour:
> 
> http://tour.dlang.org/
> 
> Thank you very much to the D foundation for hosting this service!

How is this deployed, don't know the server? Can anyone give me details?

> If you would like to report errors or have suggestions, please use GitHub:
> 
> https://github.com/stonemaster/dlang-tour

Nice, I always wanted to do such a markdown tutorial on top of my D
REPL. Glad you did it first ;).

Small PR
https://github.com/stonemaster/dlang-tour/pull/62

-Martin


Re: Battle-plan for CTFE

2016-05-16 Thread Martin Nowak via Digitalmars-d-announce
On 05/16/2016 03:03 PM, Martin Nowak wrote:
>   ~this()
>   {
> if (impl.onHeap && --impl.heap.refCount == 0)
>   heapAllocator.free(impl.heap);
>   }

Of course missing the increment for copies.

this(this)
{
  if (impl.onHeap)
++impl.heap.refCount;
}



Re: Battle-plan for CTFE

2016-05-16 Thread Martin Nowak via Digitalmars-d-announce
On 05/16/2016 01:36 PM, Andrei Alexandrescu wrote:
> 
> A reap would be great there! std.experimental.allocator offers that and
> a variety of others. -- Andrei

Yes indeed, a malloc backed Region Allocator w/ a FreeList or a
BitmappedBlock would be a good starting point.

That might finally be a compelling enough case to start using phobos in
dmd. Last time people forced me to spend several hours on reimplementing
and debugging a BitArray implementation [¹].

[¹]: https://github.com/dlang/dmd/pull/5426#discussion_r52833955


Re: Battle-plan for CTFE

2016-05-16 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 16 May 2016 at 10:01:47 UTC, Kagamin wrote:
Wasn't it possible to enable GC for entire compiler? There can 
be hybrid approach: 1) first allocate from bump heap 2) when it 
reaches, say, 200MB, switch to GC.


Well, I wouldn't use D's GC for that dedicated heap.
Allocation of CTFE values are completely independent and call be 
freed once the evaluation is finished.


Re: Battle-plan for CTFE

2016-05-15 Thread Martin Nowak via Digitalmars-d-announce
On 05/15/2016 04:00 PM, Daniel Murphy wrote:
> The problem is, if index refers to a single variable on the stack, then
> it's insufficient to refer to a variable inside an aggregate on the
> stack.  Then you need to start building constructs for member of struct
> in array of struct pointers and it gets fairly messy...  It's all
> solvable, I'm not sure the simplicity would survive.

Taking what I said further down below there would be one union Value
type (untagged b/c the compiler knows what it is).

Then an Array could be implementd as HeapValueRef[], a hash table as
HeapValueRef[ValueRef], a struct/class as HeapValueRef[] (with
HeapValueRef being a pointer or int to a heap allocated Value and
ValueRef being a pointer or int to either a stack value or a heap value).
A D Pointer/Ref would just be a ValueRef in the interpreter and the
aforementioned int (2B + for stack, 2B - for heap) encoding should still
work for that.
Depending on how much pointer arithmetic we support, Pointer must
contain a ValueRef to the outermost aggregate and needs to store the
type of that an additional byte offset. The type and offset could then
be used to compute the actual pointee. While that sounds a bit complex,
it's merely just https://en.wikipedia.org/wiki/Offsetof.

> Flow control is really not where the complexity lies IMO.  The weird
> ways in which different types of reference types can combine leads to
> either very complicated or very low level descriptions of memory.

Maybe you're right, but it'll be hard to figure out w/o an actual
implementation. And the AST still looks like a lot less to code and execute.



Re: Battle-plan for CTFE

2016-05-15 Thread Martin Nowak via Digitalmars-d-announce
On 05/15/2016 02:54 PM, Daniel Murphy wrote:
> 
> We really should have discussed this last week!

I talked about it w/ Stefan, and asked him to volunteer for an
implementation, that's why we have this thread ;).
In any case I'm convinced that the simple-first strategy has a much
higher chance to be implemented this year, whereas the bug report [¹]
for slow CTFE is already 5 years old.

[¹]: https://issues.dlang.org/show_bug.cgi?id=6498



Re: Battle-plan for CTFE

2016-05-15 Thread Martin Nowak via Digitalmars-d-announce
On 05/15/2016 02:13 PM, Ola Fosheim Grøstad wrote:
> 
> Well, you can, but it won't bring improvements to the language down the
> line.

Maybe you don't know the actual problem of the current interpreter?
I leaks memory like hell b/c it allocates new AST nodes for almost every
expression evaluation.
Even an interpreter that is as slow as ruby will fly during compile time
in comparision to the current one.

Let me illustrate the point.

---
import std.algorithm, std.array, std.random, std.range;

enum count = 2 ^^ 10;
enum sorted = {
auto gen = Random(123);
return generate!(() => uniform(byte.min, byte.max,
gen)).take(count).array.sort().release;
}();
pragma(msg, sorted.length);
---
count = 2 ** 10
nums = Enumerator.new do |yielder|
  prng = Random.new(123)
  loop do
yielder.yield prng.rand(-128 .. 127)
  end
end.take(count).sort
print nums.length
---

   N   | CTFE | Ruby
   | Time  | Mem  | Time  | Mem
---|---|--|---|--
 2^^10 | 0.16s | 82M  | 0.11s | 9.3M
 2^^11 | 0.22s | 110M | 0.12s | 9.3M
 2^^12 | 0.4s  | 190M | 0.12s | 9.4M
 2^^13 | 0.7s  | 450M | 0.12s | 9.5M
 2^^14 | 1.5s  | 1.4G | 0.12s | 9.7M
 2^^15 | 3.7s  | 4.8G | 0.13s | 10.0M
 2^^16 | 5:30m | 15G  | 0.13s | 10.8M

D's CTFE grows O(N^2) b/c it leaks for almost every operation.
We don't currently need a superfast interpreter, even the simplest
possible interpreter will allow so much more that we're more likely
limited by the lack of I/O before we need a faster interpreter.



Re: Battle-plan for CTFE

2016-05-15 Thread Martin Nowak via Digitalmars-d-announce
On 05/15/2016 02:17 PM, Daniel Murphy wrote:
> 
> For simple types that's true.  For more complicated reference types...
> 
> Variable indexes are not enough, you also need heap memory, but slices
> and pointers (and references) can refer to values either on the heap or
> the stack, and you can have a slice of a member static array of a class
> on the stack, etc.  Then there are closures...

So we do need a GC or RC for arrays, structs, classes (anything
heapish). Values for those could be allocated by a simple bump/region
allocator or a dedicated allocator that support individual freeing (via
RC or GC).

In any case struct Pointer { int index; /* 2B positive values for stack,
2B negative for heap*/ } wouldn't be much more complicated than a raw
pointer (and a bit simpler to garbage collect).

> Neither e2ir or s2ir are actually that complex.  A lot of the mess there
> comes from the backend IR interface being rather difficult to work with.

Think of a simple switch statement where you even need to introduce
relocations (or keep a list of fixup addresses) b/c you don't know the
jump addresses in advance.
In a visitor you simply test the cases and execute the first case body.

Not to mention that we can reuse existing solutions from the current
interpreter (e.g. for gotos see
https://github.com/dlang/dmd/blob/0757504342e48e272372b7ac52cda5a333b2a2bc/src/dinterpret.d#L1014
and
https://github.com/dlang/dmd/blob/0757504342e48e272372b7ac52cda5a333b2a2bc/src/dinterpret.d#L1094).


Re: Battle-plan for CTFE

2016-05-15 Thread Martin Nowak via Digitalmars-d-announce
On 05/15/2016 02:02 PM, Stefan Koch wrote:
> 
> Correct. A ByteCode Interpreter will add even more implementation
> overhead, and the benefit is only realizable if the ByteCode  is a
> standard format that can be read other backends such as a jit.

This indeed would be an interesting proposal, interpretable IR that is
portable between the backends. But I guess we won't find such IR or at
least need to lower it into RealIR for dmd/gcc/llvm.
Sounds like an interesting candidate for the next GSoC.


Re: Battle-plan for CTFE

2016-05-15 Thread Martin Nowak via Digitalmars-d-announce
On 05/15/2016 01:55 PM, Ola Fosheim Grøstad wrote:
> If you are going to have fast evaluation of loops/recursion then you
> need to use a solver. And well, doing worse than O(log N) at compile
> time is a very bad idea.
> 
> Why not start with the most difficult case first? Then the simple cases
> will resolve themselves for free, most likely.

Why not do something that takes about a month and is much more likely to
succeed?
If someone has more time and needs an even faster interpreter she can
write a new one, or add optimizations or JIT to the simple interpreter.


Re: Battle-plan for CTFE

2016-05-15 Thread Martin Nowak via Digitalmars-d-announce
On 05/15/2016 01:58 PM, Daniel Murphy wrote:
> The biggest advantage of bytecode is not the interpreter speed, it's
> that by lowering you can substitute VarExps etc with actual references
> to memory without modifying the AST.
> 
> By working with something lower level than the AST, you should end up
> with something much less complex and with fewer special cases.

Which is a bad assessment, you can stick variable indexes into
VarDeclaration (we already do that) and thereby access them in O(1).
Converting control flow and references into byte code is far from
trivial, we're talking about another s2ir and e2ir here.

-Martin


Re: Battle-plan for CTFE

2016-05-15 Thread Martin Nowak via Digitalmars-d-announce
On 05/09/2016 06:57 PM, Stefan Koch wrote:
> I was shocked to discover that the PowExpression actually depends on
> phobos! (depending on the exact codePath it may or may not compile...)
> which let to me prematurely stating that it worked at ctfe
> [http://forum.dlang.org/thread/ukcoibejffinknrbz...@forum.dlang.org]

There is a really old bug report for that [Issue 3749 – cannot evaluate
yl2x (log) and exp functions at compile
time](https://issues.dlang.org/show_bug.cgi?id=3749). The lack of exp is
really limiting for many nice table precomputation use-cases in
scientific contexts.

-Martin


Re: Battle-plan for CTFE

2016-05-15 Thread Martin Nowak via Digitalmars-d-announce
On 05/13/2016 06:32 PM, Stefan Koch wrote:
> I would like to work on a solution that does scale. The Problem is 
> not making a byteCode-interpreter. That part is relatively easy. 
> Currently I am trying to get a detailed understanding of dmd and 
> it's data-structures. (mainly it's AST.)
> 
> Generating the byte-code seems to be non-trivial.
> 
> I wonder in how far the glue layer can be of help...

Seems like I've to repeat this once more, b/c everyone including me
didn't got it in the first place. We don't need a bytecode
interpreter, it mostly adds overhead and a complicated second layer
between walking the AST and interpreting it (think of transforming a
for loop with goto into linear bytecode, almost as complicated as in
the glue layer).

What we basically need is a stack of values, a stack of frames (for
function calls and variables in scopes), and an AST visitor that does
the interpretation.
It would be most helpful for the success of this to follow common CS
examples like [¹], [²], or [³].
With realistic expectations we might have a working implementation in
a month or so. With more requirements like bytecode, using dmd's
backend, or JIT we end up with a long newsgroup discussion ;).

Tricky things for a CTFE interpreter include:

- enumerating VarDeclarations (they already have a ctfeAdrOnStack
field) in each scope, and referring to outer variables from nested scopes

At best just use a continuous stack and just set the stack pointer to
the last frame pointer when leaving a scope.

- getting function calls right

Push arguments, on return shift top of stack under arguments and pop
them (caller cleanup). If possible detect and support tail recursion.

- converting AST values to and from Interpreter Values.

Literals and constant VarExp from the AST need to be converted to an
interpreter Value before being pushed on the stack. The result of
interpretation (top of stack) needs to be converted back to an AST
literal.
Using separate data types (instead of creating AST values in the
interpreter) will be a major performance improvement over using AST
values (e.g. 16 vs. ~100 bytes). It also creates a clear boundary
between Interpreter and AST values. Currently quite some complexity is
thrown at cleaning interpreter generated AST values, and
distinguishing interpreter owned from normal AST values (which allows
some optimizations) [⁴].

We don't need a tagged union b/c the AST already contains the type
information, but a tag could be helpful for debugging [⁵].

Values can be deleted when popped from stack (no ref counting needed I
think).

- Implementing more complex data structures (arrays, strings, hash
tables, aggregates)

Use Value[], Value[Value], and a dedicated String
(char[]/wchar[]/dchar[]). For structs/classes field indexes are known
=> use fix-sized Value[]. Value.class_ needs to hold a reference to
the actual class instance for vtable calls.

Last time I was working on this (also on a bytecode interpreter) the
entry point was fairly clear [⁶] (thanks to Don).

-Martin

[¹]: [The Interpreter In An Undergraduate Compilers Course
](http://arxiv.org/pdf/1412.0426.pdf)
[²]: [L8: Interpreters &
Visitors](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-005-elements-of-software-construction-fall-2011/lecture-notes/MIT6_005F11_lec08.pdf)
[³]: [PA 2:
Interpreter](https://sites.google.com/a/bodik.org/cs164/projects/pa2)
[⁴]: https://github.com/dlang/dmd/search?q=ownedByCtfe
[⁵]:
https://github.com/MartinNowak/dmd/blob/28ffb0ab4fa6950f60c085f33f8a2ce23df7c0cd/src/interpret.c#L73
[⁶]:
https://github.com/MartinNowak/dmd/blob/28ffb0ab4fa6950f60c085f33f8a2ce23df7c0cd/src/interpret.c#L693


Re: Battle-plan for CTFE

2016-05-15 Thread Martin Nowak via Digitalmars-d-announce
On 05/10/2016 08:45 AM, Jacob Carlborg wrote:
> 
> I was listening to a discussion Don and Daniel had about the current
> implementation of CTFE. They talked about using a byte code interpreter.
> Even implementing a really crappy byte code interpreter would be a huge
> improvement.

No need for a byte-code interpreter, it mostly just adds overhead and
complexity over an AST interpreter. If you want to go really fast you
need some sort of JIT anyhow, but a proper interpreter will be orders of
mangnitude faster than the current implementation.

I might refer you to
http://dconf.org/2013/talks/chevalier_boisvert.pdf
page 59 ff.


Beta D 2.071.1-b1

2016-05-14 Thread Martin Nowak via Digitalmars-d-announce
First beta for the 2.071.1 point release.
A few issues remain to be fixed before the next beta.

http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.071.1.html

Please report any bugs at https://issues.dlang.org

-Martin


Re: Release D 2.071.0

2016-04-09 Thread Martin Nowak via Digitalmars-d-announce
On Wednesday, 6 April 2016 at 14:13:16 UTC, Vladimir Panteleev 
wrote:
I know the all-platform .zip files are wasteful, but any 
practical reason for removing them? Unless the hosting cost is 
not negligible, breaking existing tools/scripts may not be 
worth it.


Sorry that you missed that, it's been decided and discussed 
several times since half a year ago that we want to get rid of 
the huge useless downloads, even more so since we're releasing 
much more often. Any user of your tools will be thankful for a 
much quicker download as well.

http://forum.dlang.org/post/mp2ou8$1qrf$1...@digitalmars.com
http://forum.dlang.org/post/55d9df2a.8090...@dawg.eu
https://github.com/D-Programming-Language/installer/commit/5a2ed94953c007b1bc374f46073a60bda53635d1


Re: Release D 2.071.0

2016-04-09 Thread Martin Nowak via Digitalmars-d-announce

On Thursday, 7 April 2016 at 02:21:30 UTC, Cy Schubert wrote:

It builds and packages nicely.

~Cy


Thanks, are you the current FreeBSD port maintainer?


Re: Release D 2.071.0

2016-04-09 Thread Martin Nowak via Digitalmars-d-announce

On Wednesday, 6 April 2016 at 13:19:08 UTC, Cy Schubert wrote:
Is there a source URL published anywhere? 
http://ftp.digitalmars.com/dmd.2.071.0.zip doesn't appear to 
work.


~Cy


We've deprecated the combined package b/c of it's sheer size and 
uselessness.
Each platform specific package does contain the source code as 
well.


Re: Release D 2.071.0

2016-04-09 Thread Martin Nowak via Digitalmars-d-announce

On Wednesday, 6 April 2016 at 13:05:31 UTC, sigod wrote:

module test;

struct S {
package int field;
}

void main() {
S s;
		s.field = 1; // Deprecation: test.S.field is not visible from 
module test

}


https://github.com/D-Programming-Language/dmd/pull/5642

Would've been great to fix this during the beta ;).


Re: Release D 2.071.0

2016-04-09 Thread Martin Nowak via Digitalmars-d-announce

On Wednesday, 6 April 2016 at 07:56:03 UTC, Jacob Carlborg wrote:
If I understand correctly the "this.outer" issue was resolved 
by slightly modifying the language. If that's correct, does it 
deserves an entry in the changelog besides the fixed issue?


It's just fixing the existing typing. Before you would get the 
nested functions context pointer typed as outer class, now you 
correctly get the outer class through the function context.


Release D 2.071.0

2016-04-05 Thread Martin Nowak via Digitalmars-d-announce
Glad to announce D 2.071.0.

http://dlang.org/download.html

This release fixes many long-standing issues with imports and the module
system.
See the changelog for more details.

http://dlang.org/changelog/2.071.0.html

-Martin


Re: Graylog integration for std.experimental.logger

2016-04-01 Thread Martin Nowak via Digitalmars-d-announce

On Friday, 1 April 2016 at 11:14:19 UTC, 9il wrote:
Graylog Extended Log Format (GELF) D implementation was 
released.


Great, thanks a lot.




Beta D 2.071.0-b2

2016-03-30 Thread Martin Nowak via Digitalmars-d-announce
Second beta for the 2.071.0 release.

http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.071.0.html

Please report any bugs at https://issues.dlang.org

-Martin


Re: Blog article on new import changes

2016-03-30 Thread Martin Nowak via Digitalmars-d-announce
On 03/29/2016 05:25 PM, Steven Schveighoffer wrote:
> I wrote a blog post (actually my first ever) on this, let me know what
> you think (and please, any clarifications/errors, let me know):
> 
> http://www.schveiguy.com/blog/2016/03/import-changes-in-d-2-071/

Thanks


Re: Beta D 2.071.0-b1

2016-03-30 Thread Martin Nowak via Digitalmars-d-announce
On 03/28/2016 10:54 PM, deadalnix wrote:
>> This doesn't look like a bugfix or anything urgent, so it seems like
>> it can wait for 2.072.
> 
> This is type system breaking, if that is not important or a bugfix, I'm
> not sure what is.

The PR didn't address the stable branch, but also missed the merging of
master, and thus isn't beta tested.
It fixes an issues that is already 16 month old.
We're releasing every 2 month.
Please take care of landing fixes in time on the right branch (stable),
just wait for the next release, or use the nightly.

-Martin


Re: Beta D 2.071.0-b1

2016-03-28 Thread Martin Nowak via Digitalmars-d-announce
On 03/27/2016 09:46 PM, deadalnix wrote:
> The one I intended to talk about:
> https://github.com/D-Programming-Language/phobos/pull/4099

This doesn't look like a bugfix or anything urgent, so it seems like it
can wait for 2.072.



Re: Beta D 2.071.0-b1

2016-03-25 Thread Martin Nowak via Digitalmars-d-announce

On Friday, 25 March 2016 at 09:18:31 UTC, ag0aep6g wrote:

On 25.03.2016 10:06, Martin Nowak wrote:
But it's not in the changelog.


Well, the commit message doesn't say that the issue was fixed, 
hence it's not in the bugfix list, also see the dlang-bot comment 
https://github.com/D-Programming-Language/dmd/pull/5470#issuecomment-186661863.
I'd suggest you manually add a small compiler changes entry here 
https://github.com/D-Programming-Language/dmd/blob/stable/changelog.dd, make sure to use the stable branch.


$(LI Foreach loops..., also see $(Bugzilla 12345).)

No need for a more detailed section.


Re: Beta D 2.071.0-b1

2016-03-25 Thread Martin Nowak via Digitalmars-d-announce
On 03/24/2016 06:06 PM, John Colvin wrote:
> 
> As usual, `brew update && brew reinstall dmd --devel` :)

Or `curl -fsS https://dlang.org/install.sh | bash -s dmd-beta`.


Re: Beta D 2.071.0-b1

2016-03-25 Thread Martin Nowak via Digitalmars-d-announce

On Thursday, 24 March 2016 at 17:20:58 UTC, Joakim wrote:
Looking forward to getting rid of the remaining top-level 
non-selective imports in phobos.


Let's not rush this before the deprecation of the import changes 
is over (2 or 3 releases from now), people might still use the 
old behavior w/ -transition=import.




Re: Beta D 2.071.0-b1

2016-03-25 Thread Martin Nowak via Digitalmars-d-announce
On Thursday, 24 March 2016 at 14:36:57 UTC, Guillaume Chatelet 
wrote:

Shouldn't this be part of the release ?
https://issues.dlang.org/show_bug.cgi?id=15581


It's in the beta, see the list of branches/tags 
https://github.com/D-Programming-Language/dmd/commit/3002a9683619957ce0d3f1379f99970f1664d087.


Re: Beta D 2.071.0-b1

2016-03-24 Thread Martin Nowak via Digitalmars-d-announce
On 03/24/2016 03:00 AM, deadalnix wrote:
> No bug report for it, but a PR:
> https://github.com/deadalnix/pixel-saver/pull/53

That seems unrelated. Bugfixes should simply go into stable for them to
be released.


Re: Beta D 2.071.0-b1

2016-03-24 Thread Martin Nowak via Digitalmars-d-announce
On 03/24/2016 06:49 AM, ag0aep6g wrote:
> 
> The changelog page has the wrong version number is the heading and in
> the download link.

Thanks, fixed.


Beta D 2.071.0-b1

2016-03-23 Thread Martin Nowak via Digitalmars-d-announce
First beta for the 2.071.0 release.

This release comes with many import and lookup related changes and
fixes. You might see a lot of deprecation warnings b/c of these changes.
We've added the -transition=import switch and -transition=checkimports
[¹] switches to ease updating existing code.

http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.071.0.html

Please report any bugs at https://issues.dlang.org

-Martin

[¹]: -transition=checkimports currently has a bug that creates false
positive warnings about the $ symbols, this will be fixed in the next
beta (Bugzilla 15825)


Release D 2.070.2

2016-03-03 Thread Martin Nowak via Digitalmars-d-announce
Glad to announce D 2.070.2.

http://dlang.org/download.html

This unplanned point release fixes just a single issue over 2.070.2, see
the changelog for more details.

http://dlang.org/changelog/2.070.2.html

-Martin


Re: nanomsg for Deimos collection

2016-02-28 Thread Martin Nowak via Digitalmars-d-announce
On 02/27/2016 04:48 PM, Ilya Yaroshenko wrote:
> Hi all,
> 
> D interface to nanomsg library http://nanomsg.org/ was released. This
> bindings follows Deimos style. 90% of tests was ported to D.
> 
> github: https://github.com/9il/nanomsg
> dub: http://code.dlang.org/packages/nanomsg
> 
> BTW, what should I do to include it to Deimos collection?
> https://github.com/D-Programming-Deimos

Send a mail to Walter and ask him to create a repo.
You could also transfer your existing repo. This would leave you w/ full
commit access, reducing friction when fixing sth. or tagging a new release.


Release D 2.070.1

2016-02-27 Thread Martin Nowak via Digitalmars-d-announce
Glad to announce D 2.070.1.

http://dlang.org/download.html

This point release fixes a few issues over 2.070.1, see the changelog
for more details.

http://dlang.org/changelog/2.070.1.html

-Martin


Re: Beta D 2.070.1-b1

2016-02-25 Thread Martin Nowak via Digitalmars-d-announce

On Thursday, 25 February 2016 at 08:52:14 UTC, nkgu wrote:
That's nothing but the DL link in 
http://dlang.org/changelog/2.070.1.html is broken.


Thanks, fixed.


Beta D 2.070.1-b1

2016-02-23 Thread Martin Nowak via Digitalmars-d-announce
First beta for the 2.070.1 point release.

http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.070.1.html

Please report any bugs at https://issues.dlang.org

-Martin


Re: Release D 2.070.0

2016-01-27 Thread Martin Nowak via Digitalmars-d-announce
On 01/27/2016 11:16 PM, Yazan D wrote:
> Thanks for all the work.
> 
> Looks like the changelog is missing some stuff. For example: https://
> issues.dlang.org/show_bug.cgi?id=15434 and https://issues.dlang.org/
> show_bug.cgi?id=15433.

The commit messages are parsed by quite a few tools to find bug fixes.
In order to automatically close bugzilla tickets, get a link from
dlang-bot, and appear on the changelog you should mention `fix Issues
15433` in the relevant commit.

The regex goes like this:

((close|fix|address)e?(s|d)? )?(ticket|bug|tracker item|issue)s?:? *([\d

Re: Release D 2.070.0

2016-01-27 Thread Martin Nowak via Digitalmars-d-announce
On 01/27/2016 10:37 PM, jmh530 wrote:
> 
> I don't see a mention of the native exception handling on 64-bit linux
> in the changelog.

Yes, sorry for that nobody wrote the changelog entry.

We now have changelog.dd files in each repo, and PRs should only be
merged w/ the corresponding changelog entry. Unfortunately this isn't
always followed.


Re: Vision for the first semester of 2016

2016-01-27 Thread Martin Nowak via Digitalmars-d-announce
On Tuesday, 26 January 2016 at 12:38:09 UTC, Andrei Alexandrescu 
wrote:
including things that some people argue shouldn't be part of a 
standard library: archives and compression, cryptography, 
databases, character encodings (including json and xml!), html 
templating, image processing, suffix arrays (sic), logging, 
networking, regexp, testing, tokenization.


See my answer below, most of these are standard solutions that 
you need on a daily basis (except for the suffix array).


I do agree with Dub's importance. What's unclear to me is what 
are reasonable criteria for including some given functionality 
within the stdlib vs. an external one.


A good criteria is whether some area has an established and hard 
to debate solution, then it can go into the standard library. But 
if there are many different ways around the same topic you should 
leave the decision to the users.


So for example there are 3 established ways to parse something, 
dom, stax and event based parsers. So you can add those parsers 
as sth. like std.xml or std.json.


There are about 500 different configuration file formats, so 
anything that isn't as established as xml or json should be left 
for libraries.


Likewise there are plenty of different GUI toolkits (taking 
imperative or declarative approaches). Leave it to people to pick 
one that suites their need.


You could discuss endlessly about the syntax of html templating, 
but how such a library should work is clear. This is at the edge 
of standardizable, b/c by putting it into std, you're making a 
decision for all language users. It's albeit possible, just like 
declaring a particular code style as standard.


Anything that is highly innovative or experimental should never 
go into standard libraries.


Release D 2.070.0

2016-01-27 Thread Martin Nowak via Digitalmars-d-announce
Glad to announce D 2.070.0

http://dlang.org/download.html

This release comes with the new std.experimental.ndslice, heavily
expanded Windows bindings, and native exception handling on 64-bit linux.
See the changelog for more details.

http://dlang.org/changelog/2.070.0.html

-Martin


Re: Vision for the first semester of 2016

2016-01-27 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 25 January 2016 at 16:26:36 UTC, Russel Winder wrote:
PyPI has is an highly opinionated metric that helps you decide 
what is good and what is dross.


Could you help us on designing one for code.dlang.org as well?



Re: Beta D 2.070.0-b2

2016-01-20 Thread Martin Nowak via Digitalmars-d-announce

On Tuesday, 19 January 2016 at 13:07:50 UTC, Nordlöw wrote:

I'm still missing entries for

- 
https://github.com/D-Programming-Language/phobos/pulls?utf8=%E2%9C%93=is%3Apr+is%3Aclosed++author%3Anordlow

- https://github.com/D-Programming-Language/phobos/pull/3288


Well, please write them (targeting stable). Changelog entries 
should nowadays be part of pull requests.

https://github.com/D-Programming-Language/phobos/blob/ca3b4c839770a02f2414b20aa11c38f79419871b/changelog.dd#L9


Re: Airfares to Berlin for DConf 2016

2016-01-20 Thread Martin Nowak via Digitalmars-d-announce
On 01/20/2016 10:04 AM, Walter Bright wrote:
> I saw on the news this evening that air fares for the next 3 weeks will
> be at a 3 year low. It's a good time to book the flights to Berlin!

Though subway tickets were increased in 2015 and reached an all-time
high of 2,70€ ;). It's great to have the conference in Berlin, looking
forward to see all of you.


Re: Beta D 2.070.0-b2

2016-01-18 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 18 January 2016 at 00:33:11 UTC, Andrei Amatuni wrote:
Changelog doesn't include ndslice. Wasn't it merged for the 
2.070 release?


Fixed, I simply forgot to update the changelog from phobos.
https://github.com/D-Programming-Language/dlang.org/commit/128de6cce74b6fe8f98c35d2e3b44c44517152c8
http://dlang.org/changelog/2.070.0.html


Re: Beta D 2.070.0-b2

2016-01-18 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 18 January 2016 at 10:58:46 UTC, Rory McGuire wrote:
The TypeTuple disappearance issue is still there. Should at 
least be marked deprecated first. Right?


It didn't disappear, std.typetuple is still there and deprecated.
What I found during testing was an incorrect `import std.range : 
TypeTuple` that no longer works. It's unfortunate that the import 
system doesn't prevent such mistakes.


Re: Beta D 2.070.0-b2

2016-01-18 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 18 January 2016 at 15:08:51 UTC, Rory McGuire wrote:
What I meant was it used to be available by importing 
std.typecons and now it isn't. There is a library on 
code.dlang.org that uses it, painlessjson I think it was.


That's what I meant above, thought it was std.range.
TypeTuple was never part of std.typecons. The fact that it could 
be imported from there is a bug in our import system 
https://issues.dlang.org/show_bug.cgi?id=314.


Re: Beta D 2.070.0-b2

2016-01-17 Thread Martin Nowak via Digitalmars-d-announce
Second and last beta for the 2.070.0 release.

http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.070.0.html

Please report any bugs at https://issues.dlang.org

-Martin


Re: Beta D 2.070.0-b1

2016-01-17 Thread Martin Nowak via Digitalmars-d-announce
On 01/14/2016 11:13 AM, Nordlöw wrote:
> I'm missing changelog entry for
> 
> - new algorithm `std.algorithm.comparison.either`
> - update for return type of `findSplit*` enabling bool-conversion in for
> instance
> 
> if (const hit = haystack.findSplit(needle))
> {
> // use hit
> }

There is a changelog for each project, those entries should be part of PRs.
https://github.com/D-Programming-Language/phobos/blob/7f24ccfeb503445dc56fee0c3e7ee41268ef80a5/changelog.dd


Beta D 2.070.0-b2

2016-01-17 Thread Martin Nowak via Digitalmars-d-announce
Second and last beta for the 2.070.0 release.

http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.070.0.html

Please report any bugs at https://issues.dlang.org

-Martin


Re: Beta D 2.070.0-b1

2016-01-11 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 11 January 2016 at 16:24:56 UTC, ponce wrote:

it builds with flags -release -inline -O -w BUT NOT -unittest


Makes sense 
https://github.com/D-Programming-Language/dub/issues/747. The 
compiler does check assertions in unittest blocks even in release 
builds, right?
It's really trivial to add so you might have a try yourself 
https://github.com/D-Programming-Language/dub/blob/3ab683b023bd58dd101e110cf2f6199911eb7477/source/dub/package_.d#L307.
In the meantime it's possible to define a custom build type 
http://code.dlang.org/package-format?lang=json#build-types.


Re: Beta D 2.070.0-b1

2016-01-11 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 11 January 2016 at 07:56:18 UTC, Jacob Carlborg wrote:

On 2016-01-11 00:58, Martin Nowak wrote:


Please test the beta.


The introduction of "message" in Throwable is a breaking change 
[1], but I guess it's not worth reporting an issue for.


Oh it's well worth to mention any update issues, in particular if 
we're breaking code to introduce problematic designs.

https://github.com/D-Programming-Language/druntime/pull/1445#issuecomment-170530377


Re: Beta D 2.070.0-b1

2016-01-11 Thread Martin Nowak via Digitalmars-d-announce
On 01/11/2016 08:37 AM, Jacob Carlborg wrote:
> On 2016-01-11 00:58, Martin Nowak wrote:
> 
>> [¹]: https://github.com/MartinNowak/project_tester
> 
> Can one request for adding projects to this?
> 
If the project is well maintained and relevant, just make a PR.
https://github.com/MartinNowak/project_tester/blob/dd2afea122048dbcb90d0d9b637d31134a6a82ce/projects.xml#L94



Re: Testing Nightly Build Service

2016-01-06 Thread Martin Nowak via Digitalmars-d-announce

On Tuesday, 5 January 2016 at 18:34:57 UTC, Johan Engelen wrote:

Hi Martin,
  Any news on this?

(and it'd be great if LDC could be added too! ;-)

cheers,
  Johan


Yes, test phase successful, waiting for time to do the rest.
http://forum.dlang.org/post/56806778.2040...@dawg.eu

I'm not in charge of any ldc building, but can offer to 
collaborate on integrating any ldc nightly build service.


Re: Better docs for D (WIP)

2016-01-06 Thread Martin Nowak via Digitalmars-d-announce

On Wednesday, 6 January 2016 at 15:41:29 UTC, Adam D. Ruppe wrote:
I know projects get bugs open when they are used, but ddox is a 
one-person project and that one person doesn't seem terribly 
active in it.


I'm another user of ddox and fix things when they annoy me.
I don't have many problems with it though.
It you'd joined we'd already be 3.


https://github.com/rejectedsoftware/ddox/graphs/contributors


The main reasons why work has stalled is that the future of 
dpl-docs is unclear. Instead of fixing the remaining issues w/ 
ddox people have spend a huge amount of time to improve ddoc 
output, so b/c of this weird course Söhnke stopped working on 
dpl-docs for now.
The other reason is that the existing tool already does most 
things you want from a documentation system. The styling sucked 
so I wrote scod, but most of the remaining issues are minor 
problems that will eventually be addressed. And even if you don't 
agree w/ some aspect of it, working on a common documentation 
engine/library makes more sense than having everyone write it's 
own, in particular if you're arguing about limited time.


Re: Hash Tables in D

2016-01-04 Thread Martin Nowak via Digitalmars-d-announce
On 01/04/2016 09:06 AM, Bastiaan Veelo wrote:
> 
> This would be a bug (segfault on my machine):
> 
>> foreach (key; aa.byKey)
>> aa.remove(key);
> 
> Note that, in this example, there is no need to remove every element
> separately, you can also just do

Sorry my mistake, I never use aa.keys (instead of aa.byKey) b/c it
allocates.
So it's still sort of a bug to recommend people allocating an array ;).


Re: Beta D 2.070.0-b1

2016-01-04 Thread Martin Nowak via Digitalmars-d-announce
On 01/04/2016 04:29 PM, Joakim Brännström wrote:
> Regression?
> Found when compiling dub-package scriptlike (struct Path).

Thanks for reporting. It's not acceptable to break code like that
without a proper deprecation cycle.
https://issues.dlang.org/show_bug.cgi?id=15515



Re: Beta D 2.070.0-b1

2016-01-03 Thread Martin Nowak via Digitalmars-d-announce
On 01/03/2016 09:20 PM, tsbockman wrote:
> 
> Any hope for this?
>
> https://github.com/D-Programming-Language/dmd/pull/3407#issuecomment-136974686
> 
> It's been bugging a lot of people lately.

Well, this still needs a lot of work that nobody was did.
Walter spend almost the whole release cycle on EH, I spend a huge amount
of time on nightlies/install scripts and was away half of the cycle. So
while I still think 313&314 should be one of our main priorities, it
seems I couldn't convince anyone.


Beta D 2.070.0-b1

2016-01-03 Thread Martin Nowak via Digitalmars-d-announce
First beta for the 2.070.0 release.

Still a few things missing from the changelog, there is a new package
std.experimental.ndslice, and native (DWARF based) exception handling on
linux.

http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.070.0.html

Please report any bugs at https://issues.dlang.org

-Martin


Re: Hash Tables in D

2016-01-03 Thread Martin Nowak via Digitalmars-d-announce
On 01/01/2016 04:27 PM, Minas Mina wrote:
> On Friday, 1 January 2016 at 13:59:35 UTC, Walter Bright wrote:
>> http://minas-mina.com/2016/01/01/associative-arrays/
>>
>> https://www.reddit.com/r/programming/comments/3z03ji/hash_tables_in_the_d_programming_language/
>>
> 
> Thanks for sharing this. I am the author. :)

There is a bug.

You should never do this b/c of iterator/range invalidation.

foreach (key; aa.keys)
aa.remove(key);



Re: Testing Nightly Build Service

2015-12-13 Thread Martin Nowak via Digitalmars-d-announce

On Sunday, 13 December 2015 at 10:22:56 UTC, Suliman wrote:

https://builds.dawg.eu/dmd-nightly/


Why not https://builds.dlang.org ?


Because we're testing the service, once it's reliable, we'll move 
this to a dlang subdomain or integrate it with 
downloads.dlang.org.


Testing Nightly Build Service

2015-12-12 Thread Martin Nowak via Digitalmars-d-announce
As you might already know from the last sprint review 
(http://forum.dlang.org/post/56592679.3010604@dawg.), we've setup 
a server to build nightlies. The service is still in a test phase 
but seems to work steadily.


You can try it using the install script

curl -fsSL https://builds.dawg.eu/install.sh | bash -s dmd-nightly

or by simply downloading the latest archive for your platform.

https://builds.dawg.eu/dmd-nightly/


Release D 2.069.2

2015-12-02 Thread Martin Nowak via Digitalmars-d-announce

Glad to announce D 2.069.2.

http://dlang.org/download.html

This point release fixes a few issues over 2.069.1, see the 
changelog for more details.


http://dlang.org/changelog/2.069.2.html

-Martin


Re: Beta D 2.069.2-b2

2015-11-30 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 30 November 2015 at 11:22:08 UTC, John Colvin wrote:

Safe to ignore for non-windows, yes?


Yes


Beta D 2.069.2-b2

2015-11-29 Thread Martin Nowak via Digitalmars-d-announce
Second beta for the 2.069.2 point release.

New fixes:

Bugzilla 15281: std\experimental\allocator\package.d not included in
build script

http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.069.2.html

Please report any bugs at https://issues.dlang.org

-Martin


Beta D 2.069.2-b1

2015-11-28 Thread Martin Nowak via Digitalmars-d-announce
First beta for the 2.069.2 point release.

http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.069.2.html

Please report any bugs at https://issues.dlang.org

-Martin


Re: Beta D 2.069.2-b1

2015-11-28 Thread Martin Nowak via Digitalmars-d-announce

On Saturday, 28 November 2015 at 21:37:35 UTC
IMO, this should not be released until 
https://issues.dlang.org/show_bug.cgi?id=15281 is fixed. It's a 
very obvious and embarrassing bug.


Yes, but someone has to do it.
It's really trivial to extend the Windows makefiles accordingly, 
but I never use Windows myself, so someone else (a Windows 
stakeholder) should simply fix this.


Re: The D Language Foundation has $5000 to its name

2015-11-27 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 23 November 2015 at 12:35:35 UTC, Dicebot wrote:
Whoa, this must be pretty new. Though subkey used seems to be 
almost 1 year old now.


sub   rsa4096/12BB1939 2015-02-27


Why should I renew the subkey w/o cause?
Then everybody would need to redownload my public keys.
In any case I'd be in favor if more people sign my key, though we 
could do that next time we meet in person ;).


Re: https everywhere!

2015-11-27 Thread Martin Nowak via Digitalmars-d-announce
On Tuesday, 24 November 2015 at 08:48:58 UTC, Vladimir Panteleev 
wrote:
Sorry, I'm not going to pay for my own SSL certificate :) 
You'll either have to share, or wait until Let's Encrypt goes 
live and I get around to setting it up.


You could either get a free startssl certificate 
https://gist.github.com/mgedmin/7124635 or we try to reverse 
proxy through dlang.org/forum or so.




Re: https everywhere!

2015-11-27 Thread Martin Nowak via Digitalmars-d-announce

On Monday, 23 November 2015 at 20:55:32 UTC, Walter Bright wrote:
I'm pleased to announce that Jan Knepper has gotten us some 
proper certificates now, and dlang.org and digitalmars.com are 
now fully https!


Glad to hear that as it's a requirement to host installer scipts 
and our gpg keyring with some trust.

https://github.com/D-Programming-Language/installer/pull/162

Guess we'll quickly fix the few non-shema relative urls.


Re: Release D 2.069.1

2015-11-22 Thread Martin Nowak via Digitalmars-d-announce

On Saturday, 21 November 2015 at 08:57:45 UTC, Thomas Mader wrote:

[1] http://www.jrsoftware.org/isinfo.php


Thanks this looks indeed like a good choice.


Re: Release D 2.069.1

2015-11-20 Thread Martin Nowak via Digitalmars-d-announce
On Wednesday, 11 November 2015 at 12:18:55 UTC, Rikki Cattermole 
wrote:
This has already been talked about on D.learn. It's a very bad 
look especially since this is a major addition for this release.
Hence why I have even mentioned this to Andrei. Bad bad bad bad 
situation for us.


Did anyone bother to fix this? The next point release is due soon.


Release D 2.069.1

2015-11-11 Thread Martin Nowak via Digitalmars-d-announce
This is an unplanned point release whose sole purpose is to fix a severe
Windows installer bug.

http://dlang.org/download.html
http://downloads.dlang.org/releases/2.x/2.069.1/
http://dlang.org/changelog/2.069.1.html

-Martin


Re: 2.069.0 Installation problem with .exe for Windows

2015-11-11 Thread Martin Nowak via Digitalmars-d-announce
On 11/11/2015 11:22 AM, wobbles wrote:
> I also tried on Windows 8.1 64-bit. To test, I installed it over DMD
> 2.067 and 2.068, both were successful.

Now released, http://forum.dlang.org/post/n1vatr$1106$1...@digitalmars.com.



Re: Release D 2.069.1

2015-11-11 Thread Martin Nowak via Digitalmars-d-announce
On 11/11/2015 01:18 PM, Rikki Cattermole wrote:
> 
> This has already been talked about on D.learn. It's a very bad look
> especially since this is a major addition for this release.
> Hence why I have even mentioned this to Andrei.

Well, test the beta.
Both, the installer bug and the lack of allocator in win*.mak could have
easily been found.

> Bad bad bad bad situation for us.

It's not the end of the world, but a good chance too think about how we
could use nightlies or weeklies to bridge this gap.
>From my side it's very simple to build tarballs, and when combined with
an nice install script [¹] should work.
It's more difficult to do the packaging because that relies on sensible
version tags.

[¹]: http://forum.dlang.org/post/n1v541$r99$1...@digitalmars.com


Re: 2.069.0 Installation problem with .exe for Windows

2015-11-10 Thread Martin Nowak via Digitalmars-d-announce

On Tuesday, 10 November 2015 at 14:17:28 UTC, Mike James wrote:

The x64 sub-directory does not exist on my system.


We found the bug and I build a new installer with the fix.
https://dlang.dawg.eu/downloads/dmd.2.069.0~fix15824/
As soon as someone confirms the fix, we'll make a new point 
release.


Re: 2.069.0 Installation problem with .exe for Windows

2015-11-09 Thread Martin Nowak via Digitalmars-d-announce
On 11/09/2015 09:46 AM, Mike James wrote:
> 
> Hi Martin,
> 
> I've tried the new install with Windows Vista and Windows 7 and the
> problem is the same as before.
> 
> Regards,
> -=mike=-

Can you try again, I updated the installer and tried to revert the other
part of the change (though I don't see why that would fix the problem).
More details would help a lot at this point, e.g. what windows are open
(also look whether the uninstaller hides any window) and what files are
left in the install dir (C:\D by default) while the installation hangs.

And let's please continue this in Bugzilla.
https://issues.dlang.org/show_bug.cgi?id=15284



Re: Release D 2.069.0

2015-11-09 Thread Martin Nowak via Digitalmars-d-announce
On 11/09/2015 07:08 PM, Dicebot wrote:
> More common practice is to declare such dependencies as optional though.

I made a ticket https://issues.dlang.org/show_bug.cgi?id=15308.
Simply changing
https://github.com/D-Programming-Language/installer/blob/41fb25ce5e5ff2c14728f490ee4579ac49bb989a/linux/dmd_rpm.sh#L266
doesn't work b/c the rpmtool from debian used to build the rpm packages
doesn't support Recommends.



Re: 2.069.0 Installation problem with .exe for Windows

2015-11-08 Thread Martin Nowak via Digitalmars-d-announce
On 11/04/2015 10:05 AM, Mike James wrote:
> Copied here for extra visibility...
> 
> Hi.
> 
> There seems to be an install problem with the .exe version for
> Windows. The installer removes the old DMD then doesn't install
> the 2.069.0 version. In the task manager it's still running at
> 50% CPU time. It fails on Windows Vista and Windows 7.

Could some try and verify that this installer fixes the issue. I wasn't
able to reproduce the issue myself.
https://dlang.dawg.eu/downloads/dmd.2.069.0~fix15824/


Re: 2.069.0 Installation problem with .exe for Windows

2015-11-05 Thread Martin Nowak via Digitalmars-d-announce

On Wednesday, 4 November 2015 at 09:05:07 UTC, Mike James wrote:

Regards,
--


Could anyone help us to reproduce the 
issue?https://issues.dlang.org/show_bug.cgi?id=15284


Re: Release D 2.069.0

2015-11-04 Thread Martin Nowak via Digitalmars-d-announce
On Wednesday, 4 November 2015 at 17:52:23 UTC, Dmitry Olshansky 
wrote:
If host machine is x64 bit windows try setting large address 
aware bit on the executable (there are tools to do that IRC), 
would allow it to eat up to ~4 gigs.


We're already doing that since quite a while.
https://github.com/D-Programming-Language/dmd/commit/172b55d22bd4a144d889c3fa8d9279d8e0a0ce1c


Re: Release D 2.069.0

2015-11-04 Thread Martin Nowak via Digitalmars-d-announce
On 11/04/2015 10:01 AM, deadalnix wrote:
> 
> Bonus question: how soon can we expect travis to pick up the new version ?

I updated http://ftp.digitalmars.com/LATEST now and added that step to
http://wiki.dlang.org/DMD_Release_Building.


Re: Release D 2.069.0

2015-11-04 Thread Martin Nowak via Digitalmars-d-announce
On 11/04/2015 10:01 AM, Suliman wrote:
>> Regards,
>> --
> 
> Same problem.

It's likely related to this fix which now let's the installer wait on
the uninstaller to finish.
https://github.com/D-Programming-Language/installer/commit/526f35495cdc615b26b65d73fa7b4aa0477b1d12

Did anything go wrong with the uninstall?


Release D 2.069.0

2015-11-03 Thread Martin Nowak via Digitalmars-d-announce
Glad to announce D 2.069.0.

http://dlang.org/download.html
http://downloads.dlang.org/releases/2.x/2.069.0/

This is the first release with a self-hosted dmd compiler and comes with
even more rangified phobos functions, std.experimental.allocator, and
many other improvements.

See the changelog for more details.
http://dlang.org/changelog/2.069.0.html

-Martin


Re: D 2.068.2 test runner for Android ARM, please test and report results from your Android device

2015-11-01 Thread Martin Nowak via Digitalmars-d-announce
On 11/01/2015 10:50 AM, Joakim wrote:
> http://forum.dlang.org/thread/bafrkjfwmoyriyhmq...@forum.dlang.org

Nice works for me as well (Galaxy S3 on cm-12.1 (5.1.1)).
Would be nice to run this as automated test on an Android Emulator.


Re: Release Candidate D 2.069.0-rc2

2015-11-01 Thread Martin Nowak via Digitalmars-d-announce
On 10/31/2015 01:00 PM, BBasile wrote:
> 
> Despite of what I had say previously I've encountered another "inliner"
> bug today that looks like a regression. I don't know what's the 2.069
> ETA but I'm not sure to be able to file a bugzilla entry quickly.

Please just file ticket with whatever you have (e.g. project x fails
with ...). We can reduce the code ourself or might already recognize the
issue.
Regarding the ETA, we're already overdue by 2 weeks.

-Martin


<    1   2   3   4   5   6   7   >