Meta via Digitalmars-d | 24 Oct 15:26 2014

Re: D in my trashbin

On Friday, 24 October 2014 at 13:04:48 UTC, ketmar via 
Digitalmars-d wrote:
> On Fri, 24 Oct 2014 10:42:47 +0000
> Martin Nowak via Digitalmars-d <digitalmars-d <at> puremagic.com> 
> wrote:
>
>> On Friday, 24 October 2014 at 02:44:48 UTC, Adam D. Ruppe 
>> wrote:
>> > I always just use the zip which works fine out of the box 
>> > without even needing to be installed.
>> 
>> We're missing an installation guide on a prominent place on 
>> the front page.
>> Such things really scare away a lot of people.
> if we scaring away people who can't download and run one .exe, 
> this
> can't be bad thing. there is clear link do download insteller on
> dlang.org. when i was in need to write simple program on win8 
> box, i
> downloaded that .exe, started it, pressed some "next" and 
> "finish"
> buttons and... voila, dmd compiler is here and working. if this 
> is way
> too hard for someone, then i doubt that he should write 
> programs at all.

There are other more subtle problems that someone can run into. 
One problem I've encountered on Windows is that having a '+' in 
your path trips up Optlink (Notepad++ triggered this issue for 
me). Linking starts failing for no apparent reason, and it is 
(Continue reading)

Re: Blaming the D language

On Wednesday, 22 October 2014 at 07:42:22 UTC, Jonathan M Davis 
via Digitalmars-d wrote:
> Well, the reality of the matter is that you can't truly clear 
> it safely,
> though we could definitely get closer. The in operator gives 
> pointer access to
> the internals, and the byKey and byValue may do the same (not 
> to mention,
> opApply), and they could be in progress when you try and clear 
> out the AA, so
> if you cleared it out, all of those would still have to work 
> (or maybe throw
> an Error in the cases where iteration is going on).

This is already the case because of .remove(). Adding a clear 
method wouldn't introduce any *new* problems.

Stackless resumable functions

This is so much better than Fibers.
http://youtu.be/KUhSjfSbINE

What I like most about the proposal is that you can adapt await 
by specializing template functions, similar to how range based 
foreach works.
It also isn't tied to a particular scheduling mechanism and of 
course consumes much less memory than stack based suspension.

tcak via Digitalmars-d | 24 Oct 09:29 2014

Change Tab Sizes in Forum Posts

Most of us print out codes in posts, especially D codes. I use 
tabs
instead of spaces in my code editor, and I directly copy codes
from there into a post. Problem is that when a line is too long, 
it
becomes multiline mostly due to the very narrow width of pages 
(Forum
takes half of my screen only.)

One of the biggest reason in this problem is the width of tabs. 
They
are just unbelievably wide.

CSS has "tab-size" keyword that allows to change to with of tabs. 
So,
if the CSS is to be updated for let's say 4 spaces for a tab, that
will make codes much more good looking I think.

Example:
pre{
	tab-size: 4
}

Links:
https://developer.mozilla.org/en-US/docs/Web/CSS/tab-size
http://css-tricks.com/almanac/properties/t/tab-size/

D in my trashbin

Two days later and I still cant get a 'Hello World' to compile.
It is far beyond me how a project can exist for so many years
and still not have a straightforward installation that works out
of the box. Yes.. read the forums and search google for solutions
that may or may not work depending on the phases of the moon,
I have to ask you:
Why bother ?
Why would anybody trust a compiler written by people
who regard making it run out of the box an after-thought ?

rst256 via Digitalmars-d | 23 Oct 08:07 2014

Re: Who pays for all this?

On Tuesday, 7 October 2014 at 01:11:42 UTC, Shammah Chancellor 
wrote:
> On 2014-10-06 22:28:52 +0000, Andrei Alexandrescu said:
>
>> On 10/6/14, 12:59 PM, Shammah Chancellor wrote:
>>> I'm willing to put in the work if Walter is on board also.  I 
>>> don't want
>>> to do all that work to end up being a DPL Foundation in name 
>>> only.
>> 
>> That's very generous of you, thanks! We'll discuss this. From 
>> what I read at http://lwn.net/Articles/561336/, my 
>> understanding is that we'll need significant ongoing expenses 
>> in additional to the initial setup expenditure of time and 
>> money. Anyone who knows more about this please chime in. -- 
>> Andrei
>
> I'll start doing some research.   To be forward,  I am 100% 
> ignorant of the process at the moment as well.
>
> -S.

Very good idea. If you want i can help you.
I can suggest a few directions of to explore.
Source code toolkit: analytic, transformation...
I see this as script engine like js(dmdscript?) with extension 
for access to source code in object form, like this:
void foo(int i){
     int e;
   if(i<0){
(Continue reading)

via Digitalmars-d | 22 Oct 13:10 2014

Algorithms, term rewriting and compile time reflection

Generic programming without high level analytical capabilities 
are problematic since you cannot optimize everything on a low 
level.

For instance, some algorithms run better if the input is sorted, 
and although you can cover one property with typing (e.g. sorted 
range) the combinatorial explosion is too big and the code 
becomes very messy.

The better approach is to let the compiler deduce properties of 
the input/output based on stronger assertions than 
postconditions. And it should work for FFI as well as for D. That 
way D can obtain meta-information about C functions.

Let's call it input-output-assumptions and take a look at:

y = f(x)

After calling f on x, f could provide propositions about y such 
as:

- y is null iff x is null
- length(y) == length(x) if x is not null
- y is sorted for all x if x is not null
- y contains the same elements as x
- y is alias free (copy by value)

It should also state whether the semantic side effects has been 
completely described.

(Continue reading)

Value Range Propigation Spec

A couple of us working on SDC are trying to get ValueRange propigation 
implemented.   I was wonder if someone could offer some insight as to 
how VRP works in DMD.   If for example, trying to get the value range 
of a global, what is the expected behavior?

It seems as though VRP is a language feature, and not a compiler 
feature -- since this allows some code to compile and not others.   Is 
there a specification for how it should work somewhere?  If not, it's 
hard to implement other compilers that will not generate errors in the 
same circumstances as DMD.

ponce via Digitalmars-d | 22 Oct 10:13 2014

Library request thread

I feel like we need a NG thread for D users to come and ask for 
new libraries/bindings.

Express your needs! Here are mines.

1. A windowing library to replace some of SDL usage. Some 
programs like audio plugins are usually done without any 
dependent dynamic library. It could also make one less dependency 
on many small programs. I would expect it to be based on 
Win32/X11/Cocoa.

2. A binary serialization library that support versions of data 
schemes. Would allow to load previous versions of data when the 
scheme has changed and fields have been added/removed.

Blaming the D language

Hello !

I'll start here a place to blame the D language with the intent 
of register here the dark sides of the language and it's 
libraries with the hope that it will drive efforts to fix then.

First a bit of my experience with the D language, I hear about it 
some years ago and it was an interesting language but it gave me 
the impression of immaturity like a bit more than a toy language, 
most recently I gave it another look and it seems that it 
progressed a lot since then.

I started searching the net for interesting opensource projects 
using D language to test then and compare with C/C++ in terms of 
performance.

Here are my folder with what I found interesting:

ae            dmd-script            harmonia-dad
arsd          DMDScript             harmonia-dad.tgz          
tango-trunk
bcd.gen       dmd-script-1          HarmoniaDemo              
Tiny-Redis
               dmd-script-2          Higgs
bindings      dranges               languagemachine-0.2.5     
ubjsond
Croc          dstep                 ldc2-0.13.0-linux-x86_64  
userman
ctags-d       D-templates-tutorial  libasync                  uv.d
d2sqlite3     d-tui                 LuaD                      
(Continue reading)

Meta via Digitalmars-d | 22 Oct 01:37 2014

Re: Adding the ?. null verification

Did you ever get around to making a pull request for this? It'd 
be nice to have this in Phobos, so I can make one for you (all 
attribution to you, of course) if you don't have time to push it 
through.


Gmane