VisualD now on github.com/d-programming-language

2013-09-10 Thread Walter Bright

https://github.com/D-Programming-Language/visuald

Congratulations to Rainer Schuetze and collaborators for this great work!


Re: VisualD now on github.com/d-programming-language

2013-09-10 Thread Tove
On Tuesday, 10 September 2013 at 06:42:06 UTC, Walter Bright 
wrote:

https://github.com/D-Programming-Language/visuald

Congratulations to Rainer Schuetze and collaborators for this 
great work!


Horray! Great news.

Some initial nit-picking:

According to 
http://www.dsource.org/projects/visuald/wiki/Installation

Visual Studio Shell 2012 is supported.

But https://github.com/D-Programming-Language/visuald only 
mentions:

* Supported Visual Studio versions
  - VS.NET 2003 (some limitations apply)
  - VS 2005
  - VS 2008
  - VS 2010

1) I assume that the full non express 2012 is supported also?

2) VS Shell 2010 link @ 
http://www.dsource.org/projects/visuald/wiki/Installation is 
broken.


3) Preferably the two links to The Visual Studio Shell 2012 
should be visible in the github readme.


Re: VisualD now on github.com/d-programming-language

2013-09-10 Thread Manu
Indeed, massive thanks!
On 10 Sep 2013 16:45, Walter Bright newshou...@digitalmars.com wrote:

 https://github.com/D-**Programming-Language/visualdhttps://github.com/D-Programming-Language/visuald

 Congratulations to Rainer Schuetze and collaborators for this great work!



Re: D simple web server

2013-09-10 Thread gedaiu

Hi,

I added websocket support to the server.

This is the link to the git repo:
https://github.com/gedaiu/DSWS

Thanks,
Bogdan


Re: [OT] My C++ talk at GoingNative 2013

2013-09-10 Thread deadalnix
On Monday, 9 September 2013 at 16:43:54 UTC, Andrei Alexandrescu 
wrote:

http://www.reddit.com/r/programming/comments/1m1izv/goingnative_2013_writing_quick_code_in_c_quickly/

Andrei


So I'll jump in as I've seen the conf before that post.

It is really worthwhile to watch. Quite informative on the 
technical side (funilly, I did implement the solution presented 
in the devirtualization part on a platform where virtual function 
were not available because of crappy compiler, but had no idea it 
was worthwhile for speed, it wasn't the goal so I never measured, 
and it also may not the case on the given plateform).


Many discussed subject apply as well to D. By the way, what is 
the state of std.bitmanip in comparison to what is presented in 
the conf ?


Also, Andrei, did you try LLVM/clang ?

Related to going native, Chandler the discussion on signess of 
integers and I really wonder if we should follow the rule that 
make unsigned spread like a virus, as C does.


Re: VisualD now on github.com/d-programming-language

2013-09-10 Thread develop32
On Tuesday, 10 September 2013 at 06:42:06 UTC, Walter Bright 
wrote:

https://github.com/D-Programming-Language/visuald

Congratulations to Rainer Schuetze and collaborators for this 
great work!


Do you have plans for changing the homepage for VisualD? The one 
on dsource is more related to the old repository.


Re: [OT] My C++ talk at GoingNative 2013

2013-09-10 Thread Olivier Grant
First of all, I very much enjoyed the talk. It was as interesting 
as it was entertaining.


I do have a question regarding the talk's section on 
devirtualization. As a language that imposes virtual methods for 
classes, how well does D play when it comes to devirtualization? 
And on a side note, does D have a different way of implementing 
virtual methods than most C++ compilers do?


Thanks,

O.

On Monday, 9 September 2013 at 16:43:54 UTC, Andrei Alexandrescu 
wrote:

http://www.reddit.com/r/programming/comments/1m1izv/goingnative_2013_writing_quick_code_in_c_quickly/

Andrei




Re: [OT] My C++ talk at GoingNative 2013

2013-09-10 Thread Iain Buclaw
On 10 September 2013 13:54, Olivier Grant olivier.gr...@gmail.com wrote:
 First of all, I very much enjoyed the talk. It was as interesting as it was
 entertaining.

 I do have a question regarding the talk's section on devirtualization. As a
 language that imposes virtual methods for classes, how well does D play when
 it comes to devirtualization? And on a side note, does D have a different
 way of implementing virtual methods than most C++ compilers do?


All class methods are virtual by default in D, unless declared 'final'.

Devirtualisation is not something done by the front-end, but recent
updates and interest from compiler back-ends may provide a solution.

-- 
Iain Buclaw

*(p  e ? p++ : p) = (c  0x0f) + '0';


Re: [OT] My C++ talk at GoingNative 2013

2013-09-10 Thread Iain Buclaw
On 10 September 2013 11:10, deadalnix deadal...@gmail.com wrote:
 On Monday, 9 September 2013 at 16:43:54 UTC, Andrei Alexandrescu wrote:


 http://www.reddit.com/r/programming/comments/1m1izv/goingnative_2013_writing_quick_code_in_c_quickly/

 Andrei


 So I'll jump in as I've seen the conf before that post.

 It is really worthwhile to watch. Quite informative on the technical side
 (funilly, I did implement the solution presented in the devirtualization
 part on a platform where virtual function were not available because of
 crappy compiler, but had no idea it was worthwhile for speed, it wasn't the
 goal so I never measured, and it also may not the case on the given
 plateform).


Interestingly enough, gcc recently added (about a month before Andrei
did the talk) a new interprocedural analysis pass that sets all
methods that can be devirtualised.  I expect that LLVM have something
cooking up for this too.  As of yet, I haven't ran any tests which
show that this works though...


-- 
Iain Buclaw

*(p  e ? p++ : p) = (c  0x0f) + '0';


Re: [OT] My C++ talk at GoingNative 2013

2013-09-10 Thread PauloPinto

On Tuesday, 10 September 2013 at 13:20:18 UTC, Iain Buclaw wrote:
On 10 September 2013 11:10, deadalnix deadal...@gmail.com 
wrote:
On Monday, 9 September 2013 at 16:43:54 UTC, Andrei 
Alexandrescu wrote:



http://www.reddit.com/r/programming/comments/1m1izv/goingnative_2013_writing_quick_code_in_c_quickly/

Andrei



So I'll jump in as I've seen the conf before that post.

It is really worthwhile to watch. Quite informative on the 
technical side
(funilly, I did implement the solution presented in the 
devirtualization
part on a platform where virtual function were not available 
because of
crappy compiler, but had no idea it was worthwhile for speed, 
it wasn't the
goal so I never measured, and it also may not the case on the 
given

plateform).



Interestingly enough, gcc recently added (about a month before 
Andrei

did the talk) a new interprocedural analysis pass that sets all
methods that can be devirtualised.  I expect that LLVM have 
something
cooking up for this too.  As of yet, I haven't ran any tests 
which

show that this works though...


The main problem with devirtualization is that you can only have 
full benefits when targeting VM based environments.


With native generated code, it is only possible to apply 
devirtualization on static linked code.


--
Paulo


Re: DCD: Autocomplete without the IDE

2013-09-10 Thread André

I just tried it with the Kate and it's working like a charm! All
contributors keep up the good work :-) I really like the
client/server approach because it enables everyone to use his or
hers favourite editor.

Is there a blog or changelog which allows to follow the further
progress?

Cheers
André

On Sunday, 1 September 2013 at 10:58:28 UTC, Brian Schott wrote:

* What is it?
DCD is a client and server program that work together to 
provide autocomplete suggestions and function call tips to 
almost any text editor that supports scripting or plugins.


* Who is it for?
People who would like autocomplete, but don't want to give up 
their favorite editor for an IDE.


* Where is it?
GitHub! https://github.com/Hackerpilot/DCD

* What does it look like?
There's a short demo video on Youtube: 
http://www.youtube.com/watch?v=Vo2POmn2_9U


* What editors does it work with?
Textadept, Kate/KDevelop, Vim, and Emacs. The Textadept 
integration script is the reference implementation.


* This sounds a lot like GoCode
It does, doesn't it?

* Does it work?
Yes and no. DCD is fairly new, and not all of the features 
you'd expect from a D autocompletion engine are present. I do 
feel that it's enough of an improvement over not having 
autocomplete to make this alpha announcement.


* Should I file bug reports in this announcement thread?
No. Add them here: 
https://github.com/Hackerpilot/DCD/issues?state=open


Re: vibe.d 0.7.17 released

2013-09-10 Thread Daniel Davidson

On Monday, 9 September 2013 at 08:03:46 UTC, Sönke Ludwig wrote:

Major changes:

 - Compiles on DMD 2.063.2 and DMD HEAD

 - Deprecates/removes a lot of non-conforming parts of the API 
(resp.

   naming convention)

 - New TaskLocal!T for more efficient and type safe task local 
storage


 - New TaskPipe class for stream based inter-fiber 
communication (can
   be used to connect classic blocking I/O with asynchronous 
I/O using a

   separate thread)

 - New SyslogLogger class by Jens Mueller

 - A bunch of smaller fixes/additions


Full change log:

  http://vibed.org/blog/posts/vibe-release-0.7.17

Download:

  http://vibed.org/download

GitHub:

  https://github.com/rejectedsoftware/vibe.d


Thanks for the great work!

Do you think you are closer to feeling comfortable including in 
some benchmark sites (e.g. maybe add to 
http://www.techempower.com/benchmarks/#section=data-r5)?


Thanks
Dan


Re: VisualD now on github.com/d-programming-language

2013-09-10 Thread Rainer Schuetze



On 10.09.2013 12:24, develop32 wrote:

On Tuesday, 10 September 2013 at 06:42:06 UTC, Walter Bright wrote:

https://github.com/D-Programming-Language/visuald

Congratulations to Rainer Schuetze and collaborators for this great work!


Do you have plans for changing the homepage for VisualD? The one on
dsource is more related to the old repository.


It is planned to move the homepage to dlang.org. It might take some time 
to convert the wiki pages to some other format which can be used to 
generate the pages (ddoc?). Easiest would probably be to add it to 
wiki.dlang.org, but I'm unsure whether this is appropriate.


Re: VisualD now on github.com/d-programming-language

2013-09-10 Thread Rainer Schuetze



On 10.09.2013 11:50, Tove wrote:

On Tuesday, 10 September 2013 at 06:42:06 UTC, Walter Bright wrote:

https://github.com/D-Programming-Language/visuald

Congratulations to Rainer Schuetze and collaborators for this great work!


Horray! Great news.

Some initial nit-picking:

According to http://www.dsource.org/projects/visuald/wiki/Installation
Visual Studio Shell 2012 is supported.

But https://github.com/D-Programming-Language/visuald only mentions:
* Supported Visual Studio versions
   - VS.NET 2003 (some limitations apply)
   - VS 2005
   - VS 2008
   - VS 2010

1) I assume that the full non express 2012 is supported also?

2) VS Shell 2010 link @
http://www.dsource.org/projects/visuald/wiki/Installation is broken.

3) Preferably the two links to The Visual Studio Shell 2012 should be
visible in the github readme.


Thanks for pointing these out. The README didn't receive a lot of 
attention lately, most of the documentation and news is on the web site. 
I agree, with it being displayed on the front github page it should be 
updated.


Re: vibe.d 0.7.17 released

2013-09-10 Thread Dicebot
On Tuesday, 10 September 2013 at 17:13:09 UTC, Daniel Davidson 
wrote:

Thanks for the great work!

Do you think you are closer to feeling comfortable including in 
some benchmark sites (e.g. maybe add to 
http://www.techempower.com/benchmarks/#section=data-r5)?


Thanks
Dan


I think I can safely answer this question in absence of Sonke as 
someone subscribed to vibe.d commit log :)


It was asked and answered: 
forum.rejectedsoftware.com/groups/rejectedsoftware.vibed/thread/1670 
- not much has changed since then. Basically, almost all popular 
benchmarks tends to focus on speed of utility modules, not speed 
of HTTP server / application router itself. That is something 
that has never been tested or put serious efforts into.


Area where vibe.d truly shines performance-wise is core request 
handling framework and I am not aware of any public benchmark 
game in that domain.


Now, if someone takes the time to run those tests manually and 
tell how bad situation really is - that stuff would have been 
really interesting to learn :)


Re: vibe.d 0.7.17 released

2013-09-10 Thread Daniel Davidson

On Tuesday, 10 September 2013 at 17:37:21 UTC, Dicebot wrote:

I think I can safely answer this question in absence of Sonke 
as someone subscribed to vibe.d commit log :)




Thanks

It was asked and answered: 
forum.rejectedsoftware.com/groups/rejectedsoftware.vibed/thread/1670 
- not much has changed since then. Basically, almost all 
popular benchmarks tends to focus on speed of utility modules, 
not speed of HTTP server / application router itself. That is 
something that has never been tested or put serious efforts 
into.




In that thread Sonke said:

   Agreed, I'd say we should start to prepare the benchmark 
cases and see how they actually compare against the others.


I can understand reservations about not wanting to publish 
benchmarks too early before some chance at optimization. OTOH, if 
it is utility modules that distort the numbers then maybe they 
need attention and data is the best way to draw it. And, just 
maybe, you and Sonke are too pessimistic? For example, shouldn't 
Json serialization be a win for D with its compile time approach?


Area where vibe.d truly shines performance-wise is core request 
handling framework and I am not aware of any public benchmark 
game in that domain.




I bet you are correct. But then, how can you know if there is no 
public benchmark game in that domain  :-)


Maybe the best approach is to find a way to work more 
sophisticated tests into the benchmark that show where vibe/D 
shines. Without benchmarks it is all guesswork... but I'll bet 
the compile time diet templates shine. Other guesses?


Now, if someone takes the time to run those tests manually and 
tell how bad situation really is - that stuff would have been 
really interesting to learn :)


Agreed!


Re: vibe.d 0.7.17 released

2013-09-10 Thread Andrei Alexandrescu

On 9/9/13 1:03 AM, Sönke Ludwig wrote:
[snip]

http://www.reddit.com/r/programming/comments/1m4eon/vibed_web_application_toolkit_in_d_0717_has_been/

VOTE UP!!!


Andrei


Re: DCD: Autocomplete without the IDE

2013-09-10 Thread Kiith-Sa

On Tuesday, 10 September 2013 at 16:15:55 UTC, André wrote:

I just tried it with the Kate and it's working like a charm! All
contributors keep up the good work :-) I really like the
client/server approach because it enables everyone to use his or
hers favourite editor.

Is there a blog or changelog which allows to follow the further
progress?

Cheers
André

On Sunday, 1 September 2013 at 10:58:28 UTC, Brian Schott wrote:

* What is it?
DCD is a client and server program that work together to 
provide autocomplete suggestions and function call tips to 
almost any text editor that supports scripting or plugins.


* Who is it for?
People who would like autocomplete, but don't want to give up 
their favorite editor for an IDE.


* Where is it?
GitHub! https://github.com/Hackerpilot/DCD

* What does it look like?
There's a short demo video on Youtube: 
http://www.youtube.com/watch?v=Vo2POmn2_9U


* What editors does it work with?
Textadept, Kate/KDevelop, Vim, and Emacs. The Textadept 
integration script is the reference implementation.


* This sounds a lot like GoCode
It does, doesn't it?

* Does it work?
Yes and no. DCD is fairly new, and not all of the features 
you'd expect from a D autocompletion engine are present. I do 
feel that it's enough of an improvement over not having 
autocomplete to make this alpha announcement.


* Should I file bug reports in this announcement thread?
No. Add them here: 
https://github.com/Hackerpilot/DCD/issues?state=open


https://github.com/Hackerpilot/DCD/commits/master


Re: vibe.d 0.7.17 released

2013-09-10 Thread Dicebot
On Tuesday, 10 September 2013 at 18:10:40 UTC, Daniel Davidson 
wrote:
I can understand reservations about not wanting to publish 
benchmarks too early before some chance at optimization. OTOH, 
if it is utility modules that distort the numbers then maybe 
they need attention and data is the best way to draw it. And, 
just maybe, you and Sonke are too pessimistic? For example, 
shouldn't Json serialization be a win for D with its compile 
time approach?


Well, we don't know. Now one has been ever benchmarking this. 
Ever. Someone needs to step up and provide the data. I will do it 
eventually, but that will happen later rather than sooner.


Area where vibe.d truly shines performance-wise is core 
request handling framework and I am not aware of any public 
benchmark game in that domain.




I bet you are correct. But then, how can you know if there is 
no public benchmark game in that domain  :-)


I've done some testing on my own ;) 
https://github.com/Dicebot/web-performance-tests - unfortunately, 
I was not able to get meaningful results for high concurrency 
cases because of h/w limits generic crappy laptop network cards 
have (should probably delete existing ones as they are mostly 
useless), but it provides all the tools for one to try and see :P


Maybe the best approach is to find a way to work more 
sophisticated tests into the benchmark that show where vibe/D 
shines. Without benchmarks it is all guesswork... but I'll bet 
the compile time diet templates shine. Other guesses?


There is always an option to create your own benchmarking game :P 
All you need is production-grade networking hardware and pair of 
PC's (with client being considerably more powerful than server).


Re: VisualD now on github.com/d-programming-language

2013-09-10 Thread Walter Bright

On 9/10/2013 11:18 AM, Rainer Schuetze wrote:

It is planned to move the homepage to dlang.org. It might take some time to
convert the wiki pages to some other format which can be used to generate the
pages (ddoc?). Easiest would probably be to add it to wiki.dlang.org, but I'm
unsure whether this is appropriate.


The main documentation should be in ddoc and part of dlang.org. The wiki is for 
user-supplied supplemental information.


I know this will be a fair amount of work, and will take time. I'm sure Rainer 
could use some help from anyone who wants to step up!


Re: VisualD now on github.com/d-programming-language

2013-09-10 Thread Tove
On Tuesday, 10 September 2013 at 18:10:33 UTC, Rainer Schuetze 
wrote:


Thanks for pointing these out. The README didn't receive a lot 
of attention lately, most of the documentation and news is on 
the web site. I agree, with it being displayed on the front 
github page it should be updated.


No problem, I thought of one additional idea to enhance first 
impressions...


Is this stable enough to be made default enabled in future 
releases?

Use Alexander Bothe's D parsing engine for semantic analysis
writing '.'

I only found it because I remember reading about it on this very 
forum, it is my fear that other new users won't find it and hence 
consider the intellisense-experience lacking.


After enabling this tiny checkbox,... wow, I love it! Thanks 
again!


Re: VisualD now on github.com/d-programming-language

2013-09-10 Thread FrogLegs

 Does VisualD work with VS2013?


Re: [OT] My C++ talk at GoingNative 2013

2013-09-10 Thread Olivier Pisano
On Monday, 9 September 2013 at 16:43:54 UTC, Andrei Alexandrescu 
wrote:

http://www.reddit.com/r/programming/comments/1m1izv/goingnative_2013_writing_quick_code_in_c_quickly/

Andrei


This talks are amazing. I learned a lot. Thank you all guys for 
your dedication and pedagogy.


BTW, I really liked your face during the 'Ask us anything' panel, 
when STL talked about Garbage Collection!


Congratulations for resisting the need to shout 'D does already 
solves this problem' at least a dozen of times. Too bad Native 
means C++ in Microsoft speak.


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Joseph Rushton Wakeling

On 09/09/13 21:26, Flamaros wrote:

Personally I think that phobos contains some parts that are in Qt base, so a
wrapper isn't a perfect solution for D. It's certainly the fastest way to extend
the D framework and add a GUI library, but Qt phylosophy doesn't match perfectly
with D. Just take a look to moc, in D it's possible and preferable to do without
it.

That why we started DQuick to create a complete adaption of QtQuick to D, this
is much hard to do but DQuick has the potential to be much more suitable for D.


I've just had a read through your DQuick announcement thread.  It looks like a 
really nice project -- I wish you a lot of success with this.


Now, that said, while Qt may have some issues with respect to D, supporting it 
isn't just a matter of wanting a GUI solution.  It's not just a graphical 
toolkit -- it's THE most important cross-platform toolkit, and has been chosen 
as a first-class SDK component by various platforms.  I'd say that makes good 
and up-to-date QtD bindings a very important strategic goal.


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Joseph Rushton Wakeling

On 09/09/13 23:45, Ettienne Gilbert wrote:

Ahh, ok. I see where you are coming from - you were evaluating the implications
of what Jacob Carlborg proposed if mixed in with Walter's DIP47, right?


The code that Jacob proposed is currently legit D code and that isn't going to 
change -- and if that solution works for you (or other people), great.  However, 
I don't think it completely address the requirements the DIP is attempting to 
meet.  In my previous email I was simply trying to show that implementing new 
functionality to allow class functions to be defined outside the class 
declaration, wouldn't be incompatible with writing code like Jacob's (although I 
don't see why anyone would mix the approaches in this way).


In terms of where I'm coming from, it's more in line with Dicebot -- I think 
both of us have been focused on the simultaneous usefulness and necessity of 
being able to check declaration against definition for class member functions 
that are declared and defined separately.



If you mix the 2 I agree with you for the most part. But the real question for
me (and I suspect Jacob) is this:

Is this...


 [ ... snip code ...]


...really so much better than this?


 [ ... snip again ...]


Granted, this sacrifices some flexibility from DIP47. But these are of such
dubious quality/use/potential pitfalls (as discussed in this thread), that I
hardly think DIP47 is worth implementing as a result. Especially since, what we
currently have (as shown by Carl,) already gives you arguably 90%+ (IMHO) of
Manu's request for (I quote) You don't need to see the function bodies in the
class definition, you want to quickly see what a class has and does. Does it
really matter that the function definitions are also present inside the class
definition, as long as you can also see what a class has and does in the
declarations list at the top?


The point is about being able to check that your declaration list has a 
one-to-one match with your definition list.  If you just decide to place 
declarations at the top of the class definition, and definitions lower down, you 
run the risk of accidentally missing one of the defined functions out of the 
declaration list:


class Foo
{
// Declarations
void foo();
void bar();

// Definitions
void foo() { ... }
void bar() { ... }
void goo() { ... }  // Whoops!  This is part of the class API but
// we forgot to include it in our declaration
// list ...
}

But Andrej Mitrovic has suggested a means to implement those kind of 
introspective checks at compile-time, so maybe it's not as urgent as I first 
thought.  (My one caveat is that I think solutions based on programmer virtue, 
like remembering to insert a line: mixin VerifyDeclarations; into a class, are 
generally less nice than solutions where the compiler does your checking for you 
without you having to ask.)



Of course fixing the current issues with .di generation is important as a
separate issue.


Yes, absolutely.


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Rainer Schuetze



On 07.09.2013 21:04, Walter Bright wrote:

Recent threads here have made it pretty clear that VisualD is a critical
piece of D infrastructure. (VisualD integrated D usage into Microsoft
Visual Studio.)

Andrei, myself and Rainer (VisualD's champion) are all in agreement on
this.

What do you think?



Thanks everyone for supporting this move. I have just transferred the 
repository to the D-Programming-Language organization and it can now be 
found at https://github.com/D-Programming-Language/visuald


I'm planning to move the issues from the dsource bug database to 
bugzilla. Does anyone have experience with converting trac issues to 
bugzilla? There are currently 60 open reports (half of them enhancement 
requests), so it should also be possible to do this manually.


The documentation and downloads are also going to move to dlang.org, but 
until this is sorted out, I'll leave it at dsource.org.


If you want to get your hands dirty and try building Visual D yourself, 
see http://www.dsource.org/projects/visuald/wiki/Build_from_source. 
There is also a build project in the solution to help with the 
pre-compilation-steps.


Please note, that the current github HEAD compiler has a bad bug when it 
comes to COM interfaces, but there is already a pull to the rescue 
(https://github.com/D-Programming-Language/dmd/pull/2537). Using the 
released dmd 2.063 should work. The releases are built with a patched 
compiler and runtime to support precise garbage collection, though.


Rainer


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Joseph Rushton Wakeling

On 09/09/13 21:35, H. S. Teoh wrote:

Auto-generation of .di files solves this problem. (Provided we fix the
mess that is the current implementation of .di generation, of course.)


Maybe you'll think I'm being too picky, but I don't think that generated files 
of any kind (whether .di or Ddoc) really help with the situations Manu was 
describing.  If you want to be able to look at the latest diff and see at a 
glance how the class API has changed, a generated file doesn't help (unless you 
store that generated file in the VCS, but I've always understood that to be bad 
practice).


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Joseph Rushton Wakeling

On 10/09/13 04:09, Michel Fortin wrote:

Is the D module system file-granular or module-granular? I always thought the
later. Putting the implementation of functions in the .d file while the
declarations are in the corresponding .di does not change things much: it's
still one module, but it's one module split over two files.

It also helps solve another problem: the problem where you're shipping a library
and want to force some things to not be inlined. This is needed if the library
is to be swapped for another version without having to recompile all client
code. You can do this currently by hand-crafting .di files, but it's a pain to
keep it manually in sync with the .d file.


Is it possible to manually craft some parts of the .di file, while being able to 
rely on the compiler to automatically add any module contents that aren't 
manually declared?


If so it might be the best solution to everyone's concerns.


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Flamaros
On Tuesday, 10 September 2013 at 06:18:16 UTC, Joseph Rushton 
Wakeling wrote:

On 09/09/13 21:26, Flamaros wrote:
Personally I think that phobos contains some parts that are in 
Qt base, so a
wrapper isn't a perfect solution for D. It's certainly the 
fastest way to extend
the D framework and add a GUI library, but Qt phylosophy 
doesn't match perfectly
with D. Just take a look to moc, in D it's possible and 
preferable to do without

it.

That why we started DQuick to create a complete adaption of 
QtQuick to D, this
is much hard to do but DQuick has the potential to be much 
more suitable for D.


I've just had a read through your DQuick announcement thread.  
It looks like a really nice project -- I wish you a lot of 
success with this.


Now, that said, while Qt may have some issues with respect to 
D, supporting it isn't just a matter of wanting a GUI solution.
 It's not just a graphical toolkit -- it's THE most important 
cross-platform toolkit, and has been chosen as a first-class 
SDK component by various platforms.  I'd say that makes good 
and up-to-date QtD bindings a very important strategic goal.


All parts of Qt that are non about GUI, like strings, io, 
network, regexp,... are or certainly will be in phobos. So for D 
applications started from ground I don't really see the benefits.
But if D is compatible with Qt/C++ existing code, it will be 
great win. In this case QtD is clearly a strategic goal.


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread PauloPinto

On Monday, 9 September 2013 at 16:12:00 UTC, Brian Rogoff wrote:

On Sunday, 8 September 2013 at 11:48:06 UTC, Paulo Pinto wrote:

Am 08.09.2013 13:24, schrieb Russel Winder:

On Sun, 2013-09-08 at 00:35 +0200, Paulo Pinto wrote:
[…]
To make it more clear, the ML family of languages, Pascal 
family of
languages, even JVM and .NET environments have native 
compilers available. You just have to look for them.


IMO, D has more potential as a native code compilation target 
than Java, C#, and ML, at least in theory, because I should be 
able to control and even disable garbage collection. So, even 
users of managed languages may want to examine D.


-- Brian


I really hate the term managed language coined by Microsoft with
.NET's introduction.

What makes a language managed?

A GC? Then D is also managed.

Compiling to a VM? Then Java is native when I use the Excelsior 
JET compiler.


Strong typing? Then Ada is managed.

One type of consulting projects we do is port C++ code to 
.NET/JVM environments.


I can assure that given the proper expertise how to code in a GC 
friendly way, GC is no a bottleneck than having to write special 
tuned versions of malloc()/free().


In D's case it is currently an issue, given that the current 
implementation is not as advanced as what is available in other 
runtimes.


--
Paulo


Re: On inlining in D libraries

2013-09-10 Thread Jacob Carlborg

On 2013-09-10 06:02, Jonathan M Davis wrote:


The compiler should definitely be able to look at non-templated functions and
inline them where appropriate. I expect that it will really hurt performance
in general if it doesn't - especially with stuff like getters or setters. I
don't know what the best way would be for the compiler to go about doing that
and have no idea how the inliner currently works, but I don't think that
there's any question that it needs to.


I agree.

--
/Jacob Carlborg


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Jacob Carlborg

On 2013-09-09 12:47, Nick Sabalausky wrote:


Huh? What are you talking about? I'm not grouping anyone with anything.
When non-Windows users go saying things like Windoze or M$ or
anything like that, it makes non-Windows users look bad. Makes it a lot
easier for people to be dismissive of OSS (or anything non-MS) when
we've trained them to associate it with immaturity like that.


Sorry, I might have misunderstood what you wrote.

--
/Jacob Carlborg


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Jacob Carlborg

On 2013-09-09 17:16, Walter Bright wrote:


No. I just added the component.


Do we have an API for the D bugzilla so we can easily migrate the issues?

--
/Jacob Carlborg


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Jacob Carlborg

On 2013-09-10 08:49, Rainer Schuetze wrote:


I'm planning to move the issues from the dsource bug database to
bugzilla. Does anyone have experience with converting trac issues to
bugzilla? There are currently 60 open reports (half of them enhancement
requests), so it should also be possible to do this manually.


Bugzilla has an REST API:

https://wiki.mozilla.org/Bugzilla:REST_API

Don't know if the D bugzilla has that enabled.

--
/Jacob Carlborg


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Walter Bright

On 9/10/2013 12:44 AM, Jacob Carlborg wrote:

On 2013-09-09 17:16, Walter Bright wrote:


No. I just added the component.


Do we have an API for the D bugzilla so we can easily migrate the issues?


Rainer is working on it, as he writes elsewhere in this thread.



Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Jacob Carlborg

On 2013-09-09 23:45, Ettienne Gilbert wrote:


Ahh, ok. I see where you are coming from - you were evaluating the
implications of what Jacob Carlborg proposed if mixed in with Walter's
DIP47, right? My points though was specifically on the implications of
Jacob Carlborg's proposal in isolation i.e. as an acceptable
alternative to DIP47. And, AFAICS, Jacob posed the question to Manu this
way as well (I think - but maybe Jacob can confirm/deny).


Yes, my suggestion would be an alternative to DIP47.

--
/Jacob Carlborg


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Jacob Carlborg

On 2013-09-09 22:01, Andrej Mitrovic wrote:


You could use compile-time introspection where the API would look like:

class C
{
 void foo();
 void foo() { }
 void bar() { }  // missing declaration
 mixin VerifyDeclarations;
}

And this would statically assert if there's a missing declaration for
a definition. I think this might even be doable with the current
introspection features, although I'm not sure whether we have a way to
determine if something is a declaration or a definition. Certainly
such a trait could easily be added to the compiler.


A mixin should not be necessary. RTInfo can be used for that:

https://github.com/D-Programming-Language/druntime/blob/master/src/object.di#L575

The compiler will instantiate RTInfo once for each user defined type. 
The only downside is that you need to modify druntime.


--
/Jacob Carlborg


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Jacob Carlborg

On 2013-09-10 09:45, Walter Bright wrote:


Rainer is working on it, as he writes elsewhere in this thread.


Rainer was asking if anyone have experience with migrating Trac issues 
to bugzilla. Bugzilla does have an API. The question is it enabled for 
the D bugzilla.


--
/Jacob Carlborg


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Jacob Carlborg

On 2013-09-10 08:49, Joseph Rushton Wakeling wrote:

(My one caveat is that I think solutions based on
programmer virtue, like remembering to insert a line: mixin
VerifyDeclarations; into a class, are generally less nice than
solutions where the compiler does your checking for you without you
having to ask.)


That shouldn't be necessary, see my reply to Andrej:

http://forum.dlang.org/thread/l0fm2o$2uat$1...@digitalmars.com?page=14#post-l0mjh4:2418bp:241:40digitalmars.com

--
/Jacob Carlborg


Re: LLVM progress

2013-09-10 Thread Chris

On Monday, 9 September 2013 at 15:56:17 UTC, Flamaros wrote:

On Monday, 9 September 2013 at 10:29:56 UTC, Chris wrote:

Not to mention the importance of ARM support.


It's an evidence that is a major target today. :-)

I work only on ARM compatible application for my day job, that 
why DQuick is tough to be easy to port those devices.


We'll need ARM support too for our applications, sooner or later.


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Joseph Rushton Wakeling

On 10/09/13 09:59, Jacob Carlborg wrote:

A mixin should not be necessary. RTInfo can be used for that:

https://github.com/D-Programming-Language/druntime/blob/master/src/object.di#L575

The compiler will instantiate RTInfo once for each user defined type. The only
downside is that you need to modify druntime.


Can you explain a bit more about how that works?

As long as it can provide a guarantee that everything declared has a definition, 
and everything defined has a declaration -- and that they match! -- then I think 
this is probably the solution required.


What I mean is -- it needs to ensure that the issue identified in a couple of my 
earlier posts will be flagged and prevented:

http://forum.dlang.org/post/mailman.1104.1378795749.1719.digitalmar...@puremagic.com

However, I'm suspicious of anything that would require the programmer to be 
virtuous and manually ensure that those checks take place, rather than the 
checks simply being a natural part of the compilation process.


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Walter Bright

On 9/10/2013 1:02 AM, Jacob Carlborg wrote:

Rainer was asking if anyone have experience with migrating Trac issues to
bugzilla. Bugzilla does have an API. The question is it enabled for the D 
bugzilla.


I don't know. Brad Roberts runs Bugzilla. I'll forward this to him.


Re: On inlining in D libraries

2013-09-10 Thread Artur Skawina
On 09/09/13 16:34, Dmitry Olshansky wrote:
 09-Sep-2013 18:26, Joseph Rushton Wakeling пишет:
 On 09/09/13 15:01, Dmitry Olshansky wrote:
 While investigating std.regex performance in Phobos I've found that a
 lot of
 stuff never gets inlined (contrary to my expectations).

 Is that just with dmd, or with gdc and ldc as well?
 
 For DMD and LDC confirmed. Would be interesting to test GDC but I bet it's 
 the same (does LTO work here btw?).

It used to, back in the gcc4.6 days. Right now gdc LTO is broken (unless
things changed in the last couple of months).
So you have the choice of using an old frontend with LTO or a reasonably
recent one without (with no cross-module inlining). The fact that it is
effectively impossible to use both gdc versions (ie the old LTO-enabled
one just for release builds) makes the situation even worse (the language
accepted by gdc was changed in a backward incompatible way; pragma-gcc-
-attributes became errors).

artur


Re: On inlining in D libraries

2013-09-10 Thread Joseph Rushton Wakeling

On 10/09/13 11:57, Artur Skawina wrote:

It used to, back in the gcc4.6 days. Right now gdc LTO is broken (unless
things changed in the last couple of months).


What happened to break it?



Re: On inlining in D libraries

2013-09-10 Thread Artur Skawina
On 09/10/13 12:12, Joseph Rushton Wakeling wrote:
 On 10/09/13 11:57, Artur Skawina wrote:
 It used to, back in the gcc4.6 days. Right now gdc LTO is broken (unless
 things changed in the last couple of months).
 
 What happened to break it?

The changes to gcc lto post-4.6.

http://forum.dlang.org/thread/5139cf92.4070...@gmail.com

http://bugzilla.gdcproject.org/show_bug.cgi?id=61

artur


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Timon Gehr

On 09/10/2013 06:59 AM, Walter Bright wrote:


The trouble with eschewing private access for member functions is then
arguably the member functions do not belong in the class at all - they
should be UFCS functions.


Functions are placed inside classes for convenient scoping and vtables.


Re: review queue: next?

2013-09-10 Thread Dicebot

On Monday, 9 September 2013 at 20:24:43 UTC, Robert Schadek wrote:

On 09/09/2013 04:21 PM, Dicebot wrote:
While Jacob is working on improving std.serialization, there 
is some
time to do more reviews. Review manager role does not seem to 
be very
stressing, so I can step up as one for any of the projects 
currently

in queue as soon as their authors express the desire to do so.

put some concrete destroying in my logger


You should add it to http://wiki.dlang.org/Review_Queue then, 
there is also a link to an old review thread of `std.log` by Jose 
Armando Garcia which may be of interest to you as people are 
likely to ask similar questions :)


Re: review queue: next?

2013-09-10 Thread Dicebot

On Monday, 9 September 2013 at 20:52:09 UTC, Brian Schott wrote:

On Monday, 9 September 2013 at 14:21:17 UTC, Dicebot wrote:
While Jacob is working on improving std.serialization, there 
is some time to do more reviews. Review manager role does not 
seem to be very stressing, so I can step up as one for any of 
the projects currently in queue as soon as their authors 
express the desire to do so.


Personally, I'd love to move forward with std.d.lexer - Brian, 
what is your opinion on this?


Other than some unit test coverage, I think the lexer is ready.


Good! I'll start a review thread within a day.


Re: review queue: next?

2013-09-10 Thread Robert Schadek
On 09/10/2013 01:43 PM, Dicebot wrote:
 You should add it to http://wiki.dlang.org/Review_Queue then, there is
 also a link to an old review thread of `std.log` by Jose Armando
 Garcia which may be of interest to you as people are likely to ask
 similar questions :)
done and done (the design of my logger is based on what I distilled from
the old discussion)


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Jacob Carlborg

On 2013-09-10 10:49, Joseph Rushton Wakeling wrote:


Can you explain a bit more about how that works?


The object module, part of druntime defines a template with the name 
RTInfo. That template will be instantiated with each user defined type.


Currently RTInfo doesn't do anything:

template RTInfo(T)
{
enum RTInfo = cast(void*)0x12345678;
}

https://github.com/D-Programming-Language/druntime/blob/master/src/object.di#L575

If you replace that template with something like:

template RTInfo(T)
{
enum RTInfo = verifyDeclarations!(T);
}

verifyDeclarations would look something like this, in pseudo code:

void* verifyDeclarations (T) ()
{
static if (is(T == class))
{
foreach (member ; methods!(T))
{
static if (!hasDefinition!(member))
static assert (false, The member ' 
fullyQualifiedName!(T) ~ . ~ member.stringof ~ ' doesn't have a 
definition);

}
}

return null;
}


As long as it can provide a guarantee that everything declared has a
definition, and everything defined has a declaration -- and that they
match! -- then I think this is probably the solution required.

What I mean is -- it needs to ensure that the issue identified in a
couple of my earlier posts will be flagged and prevented:
http://forum.dlang.org/post/mailman.1104.1378795749.1719.digitalmar...@puremagic.com


However, I'm suspicious of anything that would require the programmer to
be virtuous and manually ensure that those checks take place, rather
than the checks simply being a natural part of the compilation process.


The idea is then you build a tool that compiles all your files which 
uses druntime with the above implementation of RTInfo.


--
/Jacob Carlborg


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Dicebot
Main issue of .di files that make them useless for anything but 
providing declarations for blobs is that there is absolutely zero 
compiler control of .d and .di relation. Fixing this either 
implies providing good control of how .di is generated via 
compiler flags (and prohibiting manual modifications) or 
implementing good part of DIP47 restricted to .di/.d combo (all 
the signature verifications).


Also it does not seem defined in spec how lookup should happen if 
both .d and .di are present, and, for example, .di has only 
declaration. Will compiler check .d for possible inlining if it 
is present?


I think that .di should always contain only declarations and be 
_always_ auto-generated by compiler with strict 1-to-1 matching 
signatures. Then .d are also queried if implementation is 
needed/considered - but those are not mandatory (aside from 
templates). Blob bindings distributed may then simply have a 
stripped down version of .d file (similar to what is now 
generated by dmd -H).


Key point here is  that .di needs _always_ to be there, with hard 
guarantees that it is in sync with actual code. Add even one more 
extra step of getting those and it becomes considerably less 
convenient than C++-like overview.


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Joseph Rushton Wakeling

On 10/09/13 14:12, Jacob Carlborg wrote:

verifyDeclarations would look something like this, in pseudo code:

void* verifyDeclarations (T) ()
{
 static if (is(T == class))
 {
 foreach (member ; methods!(T))
 {
 static if (!hasDefinition!(member))
 static assert (false, The member ' fullyQualifiedName!(T) ~
. ~ member.stringof ~ ' doesn't have a definition);
 }
 }

 return null;
}


But the problem that I identified wasn't the possibility of members that are 
declared but not defined.  It was the possibility of members that are defined 
but not included in the top-of-the-class list of separate declarations.  The 
whole point is that both the author and the recipient of the code should be able 
to verify at compile-time that the list of declarations is an accurate summary 
of the class.


I imagine you could define a verifySeparateDeclarations that would indeed 
enforce that (for every declaration a definition, and for every definition a 
separate declaration) but that would have its own issues.


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Andrej Mitrovic
On 9/10/13, Jacob Carlborg d...@me.com wrote:
 A mixin should not be necessary. RTInfo can be used for that:

 https://github.com/D-Programming-Language/druntime/blob/master/src/object.di#L575

The mixin was demonstrated for convenience so you don't have to
manually type in the class name (or use typeof(this)).


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Andrej Mitrovic
On 9/10/13, Dicebot pub...@dicebot.lv wrote:
 Main issue of .di files that make them useless for anything but
 providing declarations for blobs is that there is absolutely zero
 compiler control of .d and .di relation.

Yeah, I think we could attempt to provide an alternative to DIP47 by
adding a compiler flag that verifies .d implementations match .di
declarations. We don't even have to make the .d files explicitly
import the .di files like Andrei proposed.


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Dicebot
On Tuesday, 10 September 2013 at 13:32:14 UTC, Andrej Mitrovic 
wrote:

On 9/10/13, Dicebot pub...@dicebot.lv wrote:

Main issue of .di files that make them useless for anything but
providing declarations for blobs is that there is absolutely 
zero

compiler control of .d and .di relation.


Yeah, I think we could attempt to provide an alternative to 
DIP47 by
adding a compiler flag that verifies .d implementations match 
.di

declarations. We don't even have to make the .d files explicitly
import the .di files like Andrei proposed.


Please, no compiler flags. It should be default behavior. We are 
speaking about fundamental binary-level application sanity here.


extern(C) declaration inside function

2013-09-10 Thread Luís.Marques
When you declare an extern(C) function inside a D function it 
seems to continue to use D's name mangling, which is unexpected 
for me. For instance:


void main()
{
extern(C) void foo(int);
foo(42);
}

Undefined symbols for architecture x86_64:
  __D4test4mainFZv3fooUiZv, referenced from:
__Dmain in test.o

Is this a bug?


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread bearophile

Walter Bright:

Outlining of member functions is the practice of placing the 
declaration of a member function in the struct/class/union, and 
placing the definition of it at global scope in the module or 
even in another module.


http://wiki.dlang.org/DIP47


I was away and very busy, I have read only part of the answers in 
this thread.


I don't like this DIP. If this DIP passes I am probably not going 
to use this feature in my code.


Go and Python show that it's good to minimize the number of 
trivially different ways to write code in a language. This DIP 
does the opposite.




or even in another module.


This is not a good idea.



If you rely on tools to make the code _readable_,


In my opinion this DIP makes the code less readable, and makes 
the code less DRY.




3. Parameter names need not match.


This seems bad. What's the rationale for this? (One perhaps 
acceptable solution is to put no parameter names in the signature 
inside the class).


Generally I suggest to fix the biggest module system bugs before 
modifying the design of related features, like the ones discussed 
in DIP47.


-

Daniel Murphy:

Let's solve a documentation issue with documentation 
improvements.


This seems one better solution to the problem.

But I also suggest people here to read and discuss about the post 
written by Andrei that touches deeper issues. The module system 
is currently significantly buggy, and it needs a principled 
design before trying to add DIP47.


-

Manu:


People make claims like write better code, split it up better,
document your code better,


The D compiler could be modified a bit to generate a bare bones 
documentation even with not even a comment written in the code.


Bye,
bearophile


Re: review queue: next?

2013-09-10 Thread Dicebot
On Tuesday, 10 September 2013 at 12:09:42 UTC, Robert Schadek 
wrote:

On 09/10/2013 01:43 PM, Dicebot wrote:
You should add it to http://wiki.dlang.org/Review_Queue then, 
there is
also a link to an old review thread of `std.log` by Jose 
Armando
Garcia which may be of interest to you as people are likely to 
ask

similar questions :)
done and done (the design of my logger is based on what I 
distilled from

the old discussion)


Thanks! You will be next after Brian then (pardon me for wanting 
std.d.lexer so much :P)


overloaded extern(C) called without error

2013-09-10 Thread Luís.Marques
I know that extern(C) functions cannot be legally overloaded, but 
not issuing an error in the following situation seems wrong / a 
bug:


extern(C) void foo(int);
extern(C) void foo() {}

void main()
{
foo(42);
}


Re: overloaded extern(C) called without error

2013-09-10 Thread Luís.Marques
I just realized I wasn't clear -- it calls the (wrong) overloaded 
function:


extern(C) void foo(int);
extern(C) void foo() { writeln(yes, this is called); }

void main()
{
foo(42);
}

outputs:

yes, this is called


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Craig Dillabaugh

On Tuesday, 10 September 2013 at 13:49:21 UTC, bearophile wrote:

Walter Bright:


clip



3. Parameter names need not match.


This seems bad. What's the rationale for this? (One perhaps 
acceptable solution is to put no parameter names in the 
signature inside the class).



I am sure there is a good reason for having no parameter names
in a declaration, but to me this doesn't make much sense.
If people want separate declaration/definition so that they can
get an idea of what a class does, then for non-trivial functions
if the variable names are omitted then your more or less have
to look at the definition anyway.

I must admit whenever I come across such declarations in code I
am reading I always find them kind of irritating.

Apart from functions with say variadic parameter lists, is this
really all that useful?


clip



The D compiler could be modified a bit to generate a bare bones 
documentation even with not even a comment written in the code.


Bye,
bearophile


I agree on this last point.


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread bearophile

Craig Dillabaugh:


Apart from functions with say variadic parameter lists, is this
really all that useful?


There are rare situations when you need to add a certain argument 
to the function signature, but you don't need to use that 
argument inside the method/function. This happens for example 
because of code evolution. In such cases not giving a name to the 
argument is good, you avoid introducing a useless and unused 
variable name, making the code simpler, safer, and more clear.


Bye,
bearophile


Re: overloaded extern(C) called without error

2013-09-10 Thread Dicebot

On Tuesday, 10 September 2013 at 14:07:18 UTC, Luís Marques wrote:
I just realized I wasn't clear -- it calls the (wrong) 
overloaded function:


extern(C) void foo(int);
extern(C) void foo() { writeln(yes, this is called); }

void main()
{
foo(42);
}

outputs:

yes, this is called


This is why mixing ABI and mangling in one entity is bad. And why 
overloading extern(C) functions is compile-time error in C++.


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Dicebot

On Tuesday, 10 September 2013 at 14:15:19 UTC, bearophile wrote:

Craig Dillabaugh:


Apart from functions with say variadic parameter lists, is this
really all that useful?


There are rare situations when you need to add a certain 
argument to the function signature, but you don't need to use 
that argument inside the method/function. This happens for 
example because of code evolution. In such cases not giving a 
name to the argument is good, you avoid introducing a useless 
and unused variable name, making the code simpler, safer, and 
more clear.


Bye,
bearophile


It is never the case in the declaration though. You always want 
parameter names there, to reference them in DDOC comment at the 
very least.


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Craig Dillabaugh

On Tuesday, 10 September 2013 at 14:15:19 UTC, bearophile wrote:

Craig Dillabaugh:


Apart from functions with say variadic parameter lists, is this
really all that useful?


There are rare situations when you need to add a certain 
argument to the function signature, but you don't need to use 
that argument inside the method/function. This happens for 
example because of code evolution. In such cases not giving a 
name to the argument is good, you avoid introducing a useless 
and unused variable name, making the code simpler, safer, and 
more clear.


Bye,
bearophile


I think using calling the variable 'dummy' would likely do the
trick in those instances, but this makes sense.


Re: new DIP47: Outlining member functions of aggregates

2013-09-10 Thread Joseph Rushton Wakeling

On 09/09/13 16:29, Dicebot wrote:

On Monday, 9 September 2013 at 14:22:15 UTC, Joseph Rushton Wakeling wrote:

Then it simply becomes a question of deciding if the manual labour of writing
separate outlines and definitions is worth it.  I guess this is probably
somewhere where a tool really _can_ be useful, to ensure that the definitions
and the outline stay in sync.

Writing D code in this way should probably be disapproved of in the D style
guidelines, but with the proviso that it's there for the circumstances where
it really is useful.


Very well spoken, this is exactly how I see it.


Thank you! :-)



Re: overloaded extern(C) called without error

2013-09-10 Thread David Nadlinger

On Tuesday, 10 September 2013 at 14:04:58 UTC, Luís Marques wrote:

extern(C) void foo(int);
extern(C) void foo() {}


I agree that this should not be legal. LDC detects this in the 
glue layer (we would have to add a workaround for the 
corresponding LLVM restriction otherwise):


---
$ ldc2 test.d
test.d(4): Error: Function type does not match previously 
declared function with the same mangled name: foo

---

David


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Brad Anderson
On Saturday, 7 September 2013 at 19:05:03 UTC, Walter Bright 
wrote:
Recent threads here have made it pretty clear that VisualD is a 
critical piece of D infrastructure. (VisualD integrated D usage 
into Microsoft Visual Studio.)


Andrei, myself and Rainer (VisualD's champion) are all in 
agreement on this.


What do you think?


Since it's official I think it'd be nice to add to the Windows 
Installer.  I'll get started adding it if you or Andrei give me 
the go ahead.


Once dub is a bit more mature I think it too should be added to 
the installer.


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Brad Roberts

On 9/10/13 2:46 AM, Walter Bright wrote:

On 9/10/2013 1:02 AM, Jacob Carlborg wrote:

Rainer was asking if anyone have experience with migrating Trac issues to
bugzilla. Bugzilla does have an API. The question is it enabled for the D 
bugzilla.


I don't know. Brad Roberts runs Bugzilla. I'll forward this to him.


I believe so.. it's part of the standard install.  The only issue might be that the version we're 
running is significantly out of date.


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Andrei Alexandrescu

On 9/10/13 9:31 AM, Brad Anderson wrote:

On Saturday, 7 September 2013 at 19:05:03 UTC, Walter Bright wrote:

Recent threads here have made it pretty clear that VisualD is a
critical piece of D infrastructure. (VisualD integrated D usage into
Microsoft Visual Studio.)

Andrei, myself and Rainer (VisualD's champion) are all in agreement on
this.

What do you think?


Since it's official I think it'd be nice to add to the Windows
Installer.  I'll get started adding it if you or Andrei give me the go
ahead.


Yes please. Make it an opt-out choice.


Once dub is a bit more mature I think it too should be added to the
installer.


That should probably be in all installers.


Andrei



Not with the scene…

2013-09-10 Thread Russel Winder
Perhaps I am late to the party, but clearly all the meta-data associated
with packages managed by Dub are Dub Records. Groan.
-- 
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: review queue: next?

2013-09-10 Thread Brian Schott

On Tuesday, 10 September 2013 at 13:45:37 UTC, Dicebot wrote:
On Tuesday, 10 September 2013 at 12:09:42 UTC, Robert Schadek 
wrote:

On 09/10/2013 01:43 PM, Dicebot wrote:
You should add it to http://wiki.dlang.org/Review_Queue then, 
there is
also a link to an old review thread of `std.log` by Jose 
Armando
Garcia which may be of interest to you as people are likely 
to ask

similar questions :)
done and done (the design of my logger is based on what I 
distilled from

the old discussion)


Thanks! You will be next after Brian then (pardon me for 
wanting std.d.lexer so much :P)


https://github.com/Hackerpilot/phobos/tree/master/std/d

I'll work on increasing the test coverage later this evening.


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Andrei Alexandrescu

On 9/10/13 11:37 AM, Jonathan M Davis wrote:

On Tuesday, September 10, 2013 18:31:11 Brad Anderson wrote:

Once dub is a bit more mature I think it too should be added to
the installer.


I would expect that to only happen if it became the official package manager,
which AFAIK hasn't even been discussed recently let alone actually happened.
But its usage is on the rise, and I could definitely see it becoming the 
official
package manager at some point.


Maybe the time has come to discuss that. Should we make dub the official 
package manager for D?


Andrei




Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Jonathan M Davis
On Tuesday, September 10, 2013 18:31:11 Brad Anderson wrote:
 Once dub is a bit more mature I think it too should be added to
 the installer.

I would expect that to only happen if it became the official package manager, 
which AFAIK hasn't even been discussed recently let alone actually happened. 
But its usage is on the rise, and I could definitely see it becoming the 
official 
package manager at some point.

- Jonathan M Davis


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Brad Anderson
On Tuesday, 10 September 2013 at 18:54:10 UTC, Andrei 
Alexandrescu wrote:

On 9/10/13 11:37 AM, Jonathan M Davis wrote:

On Tuesday, September 10, 2013 18:31:11 Brad Anderson wrote:
Once dub is a bit more mature I think it too should be added 
to

the installer.


I would expect that to only happen if it became the official 
package manager,
which AFAIK hasn't even been discussed recently let alone 
actually happened.
But its usage is on the rise, and I could definitely see it 
becoming the official

package manager at some point.


Maybe the time has come to discuss that. Should we make dub the 
official package manager for D?


Andrei


I asked Sönke about this back when dub was called VPM (so a lot 
of the answer is out of date now).  His reply:


http://forum.rejectedsoftware.com/groups/rejectedsoftware.vibed/post/79

It'd be nice if he could update with what he thinks is left 
before it'd be ready to be the official package manager.  I've 
hit a bug here or there in my own usage of dub but overall I find 
it to be very good (and Sönke usually fixes things I've hit in 
less than a day).  There is a potential package format switch to 
Simple Declarative Language that should probably come before dub 
is official and some general final polishing but overall it feels 
really close to being ready to me.


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Dmitry Olshansky

10-Sep-2013 22:54, Andrei Alexandrescu пишет:

On 9/10/13 11:37 AM, Jonathan M Davis wrote:

On Tuesday, September 10, 2013 18:31:11 Brad Anderson wrote:

Once dub is a bit more mature I think it too should be added to
the installer.


I would expect that to only happen if it became the official package
manager,
which AFAIK hasn't even been discussed recently let alone actually
happened.
But its usage is on the rise, and I could definitely see it becoming
the official
package manager at some point.


Maybe the time has come to discuss that. Should we make dub the official
package manager for D?



Good idea, seeing as it's the only one being actively worked.
Plus it seems to have really caught on.

--
Dmitry Olshansky


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Dicebot
On Tuesday, 10 September 2013 at 18:54:10 UTC, Andrei 
Alexandrescu wrote:

On 9/10/13 11:37 AM, Jonathan M Davis wrote:

On Tuesday, September 10, 2013 18:31:11 Brad Anderson wrote:
Once dub is a bit more mature I think it too should be added 
to

the installer.


I would expect that to only happen if it became the official 
package manager,
which AFAIK hasn't even been discussed recently let alone 
actually happened.
But its usage is on the rise, and I could definitely see it 
becoming the official

package manager at some point.


Maybe the time has come to discuss that. Should we make dub the 
official package manager for D?


Andrei


Well, it has almost become one de-facto.


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Brad Anderson
On Tuesday, 10 September 2013 at 19:48:58 UTC, Joseph Rushton 
Wakeling wrote:

On 10/09/13 20:54, Andrei Alexandrescu wrote:
Maybe the time has come to discuss that. Should we make dub 
the official package

manager for D?


Question from a complete non-user of dub -- how does it 
determine which D compiler(s) to install libraries for/with?  I 
almost never use DMD for anything apart from work on Phobos, 
but I alternate frequently between GDC and LDC.  I'd need a 
package manager that would play nice with that kind of 
switching and swapping.


--compiler=gdc/ldc is all you need to do to use compilers other 
than dmd.  It doesn't normally install packages into the 
compiler's existing library/source search paths but rather 
specifies the path to dependencies during building.  Packages are 
normally installed to somewhere in your user directory (I can't 
remember where exactly, somewhere like ~dub/packages).  You can 
also install packages as a directory in the current directory 
(--local) or system wide (--system).  I find the default behavior 
works just fine for me though.


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Joseph Rushton Wakeling

On 10/09/13 20:54, Andrei Alexandrescu wrote:

Maybe the time has come to discuss that. Should we make dub the official package
manager for D?


Question from a complete non-user of dub -- how does it determine which D 
compiler(s) to install libraries for/with?  I almost never use DMD for anything 
apart from work on Phobos, but I alternate frequently between GDC and LDC.  I'd 
need a package manager that would play nice with that kind of switching and 
swapping.




Re: dub: should we make it the de jure package manager for D?

2013-09-10 Thread Brad Anderson
On Tuesday, 10 September 2013 at 20:48:58 UTC, Andrei 
Alexandrescu wrote:
We've been experimenting with http://code.dlang.org for a while 
and things are going well. In particular Sönke has been very 
active about maintaining and improving it, which brings further 
confidence in the future of the project.


We're considering making dub the official package manager for 
D. What do you all think?



Andrei


I vote yes but only if Sönke feels it is ready. I suspect he has 
a few things he'll probably want done before this happens (the 
potential switch from JSON to SDL comes to mind).


Re: Not with the scene…

2013-09-10 Thread Nick Sabalausky
On Tue, 10 Sep 2013 16:34:47 -0400
Nick Sabalausky seewebsitetocontac...@semitwist.com wrote:

 On Tue, 10 Sep 2013 19:26:48 +0100
 Russel Winder rus...@winder.org.uk wrote:
 
  Perhaps I am late to the party, but clearly all the meta-data
  associated with packages managed by Dub are Dub Records. Groan.
 
 Heh, took me awhile to release what you were saying here.
 

s/release/realize
--- apparently needs coffee

 But don't worry, as long as it isn't Bro Step.




Re: Not with the scene…

2013-09-10 Thread Nick Sabalausky
On Tue, 10 Sep 2013 19:26:48 +0100
Russel Winder rus...@winder.org.uk wrote:

 Perhaps I am late to the party, but clearly all the meta-data
 associated with packages managed by Dub are Dub Records. Groan.

Heh, took me awhile to release what you were saying here.

But don't worry, as long as it isn't Bro Step.


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Jonathan M Davis
On Tuesday, September 10, 2013 11:54:10 Andrei Alexandrescu wrote:
 Maybe the time has come to discuss that. Should we make dub the official
 package manager for D?

Fine with me, though we should probably create a new thread for that as a lot 
of people wouldn't notice it in this thread, which is already fairly long.

- Jonathan M Davis


Re: Not with the scene…

2013-09-10 Thread Andrej Mitrovic
On 9/10/13, Nick Sabalausky seewebsitetocontac...@semitwist.com wrote:
 s/release/realize
 --- apparently needs coffee

Realize the kraken!


Re: dub: should we make it the de jure package manager for D?

2013-09-10 Thread Paulo Pinto

Am 10.09.2013 22:48, schrieb Andrei Alexandrescu:

We've been experimenting with http://code.dlang.org for a while and
things are going well. In particular Sönke has been very active about
maintaining and improving it, which brings further confidence in the
future of the project.

We're considering making dub the official package manager for D. What do
you all think?


Andrei


I think it is a good idea.

Even if there are rough edges, it can be improved later on based on the 
community experience with it.


--
Paulo


Re: dub: should we make it the de jure package manager for D?

2013-09-10 Thread Nick Sabalausky
On Tue, 10 Sep 2013 23:01:12 +0200
Brad Anderson e...@gnuk.net wrote:
 
 I vote yes but only if Sönke feels it is ready. I suspect he has 
 a few things he'll probably want done before this happens (the 
 potential switch from JSON to SDL comes to mind).

I assume that would be a backwards-compatible change. Make SDL the
preferred, but keep JSON in service.



dub: should we make it the de jure package manager for D?

2013-09-10 Thread Andrei Alexandrescu
We've been experimenting with http://code.dlang.org for a while and 
things are going well. In particular Sönke has been very active about 
maintaining and improving it, which brings further confidence in the 
future of the project.


We're considering making dub the official package manager for D. What do 
you all think?



Andrei


Re: Not with the scene…

2013-09-10 Thread Brad Anderson
On Tuesday, 10 September 2013 at 21:11:37 UTC, Jonathan M Davis 
wrote:

On Tuesday, September 10, 2013 16:34:47 Nick Sabalausky wrote:

On Tue, 10 Sep 2013 19:26:48 +0100

Russel Winder rus...@winder.org.uk wrote:
 Perhaps I am late to the party, but clearly all the meta-data
 associated with packages managed by Dub are Dub Records. 
 Groan.


Heh, took me awhile to release what you were saying here.


Whereas I have absolutely no idea... :(

- Jonathan M Davis


http://en.wikipedia.org/wiki/Dub_(music)
http://en.wikipedia.org/wiki/LP_record


Re: Not with the scene…

2013-09-10 Thread Jonathan M Davis
On Tuesday, September 10, 2013 23:14:15 Brad Anderson wrote:
 On Tuesday, 10 September 2013 at 21:11:37 UTC, Jonathan M Davis
 
 wrote:
  On Tuesday, September 10, 2013 16:34:47 Nick Sabalausky wrote:
  On Tue, 10 Sep 2013 19:26:48 +0100
  
  Russel Winder rus...@winder.org.uk wrote:
   Perhaps I am late to the party, but clearly all the meta-data
   associated with packages managed by Dub are Dub Records.
   Groan.
  
  Heh, took me awhile to release what you were saying here.
  
  Whereas I have absolutely no idea... :(
  
  - Jonathan M Davis
 
 http://en.wikipedia.org/wiki/Dub_(music)
 http://en.wikipedia.org/wiki/LP_record

I know about LPs, but I didn't know that dub was a genre of music.

- Jonathan M Davis


Re: dub: should we make it the de jure package manager for D?

2013-09-10 Thread Matt Soucy
On 09/10/2013 04:48 PM, Andrei Alexandrescu wrote:
 We've been experimenting with http://code.dlang.org for a while and
 things are going well. In particular Sönke has been very active about
 maintaining and improving it, which brings further confidence in the
 future of the project.
 
 We're considering making dub the official package manager for D. What do
 you all think?
 
 
 Andrei

votes++ over here
From my usage of it, it still has a couple of things that are in
development (a bit more of a user manual would be nice but I can attempt
to make one in my free time), but it's in a state now where it's
definitely usable for projects.
A friend and I are planning on making a little project for a game jam
this weekend, we'll try using dub and see what happens, but so far I'd
definitely say yes

-Matt Soucy



signature.asc
Description: OpenPGP digital signature


Re: dub: should we make it the de jure package manager for D?

2013-09-10 Thread Brad Roberts

How ready is it?

  1) bus factor.. what happens if Sonke disappears?
  2) backups?
  3) scaleability?
  etc?

On 9/10/13 1:48 PM, Andrei Alexandrescu wrote:

We've been experimenting with http://code.dlang.org for a while and things are 
going well. In
particular Sönke has been very active about maintaining and improving it, which 
brings further
confidence in the future of the project.

We're considering making dub the official package manager for D. What do you 
all think?


Andrei




Re: Not with the scene…

2013-09-10 Thread Jonathan M Davis
On Tuesday, September 10, 2013 16:34:47 Nick Sabalausky wrote:
 On Tue, 10 Sep 2013 19:26:48 +0100
 
 Russel Winder rus...@winder.org.uk wrote:
  Perhaps I am late to the party, but clearly all the meta-data
  associated with packages managed by Dub are Dub Records. Groan.
 
 Heh, took me awhile to release what you were saying here.

Whereas I have absolutely no idea... :(

- Jonathan M Davis


Re: Not with the scene…

2013-09-10 Thread Paulo Pinto

Am 10.09.2013 23:17, schrieb Jonathan M Davis:

On Tuesday, September 10, 2013 23:14:15 Brad Anderson wrote:

On Tuesday, 10 September 2013 at 21:11:37 UTC, Jonathan M Davis

wrote:

On Tuesday, September 10, 2013 16:34:47 Nick Sabalausky wrote:

On Tue, 10 Sep 2013 19:26:48 +0100

Russel Winder rus...@winder.org.uk wrote:

Perhaps I am late to the party, but clearly all the meta-data
associated with packages managed by Dub are Dub Records.
Groan.


Heh, took me awhile to release what you were saying here.


Whereas I have absolutely no idea... :(

- Jonathan M Davis


http://en.wikipedia.org/wiki/Dub_(music)
http://en.wikipedia.org/wiki/LP_record


I know about LPs, but I didn't know that dub was a genre of music.

- Jonathan M Davis



Really?!? It is quite popular in Europe.


Re: Not with the scene…

2013-09-10 Thread John Colvin
On Tuesday, 10 September 2013 at 21:17:23 UTC, Jonathan M Davis 
wrote:

On Tuesday, September 10, 2013 23:14:15 Brad Anderson wrote:

On Tuesday, 10 September 2013 at 21:11:37 UTC, Jonathan M Davis

wrote:
 On Tuesday, September 10, 2013 16:34:47 Nick Sabalausky 
 wrote:

 On Tue, 10 Sep 2013 19:26:48 +0100
 
 Russel Winder rus...@winder.org.uk wrote:
  Perhaps I am late to the party, but clearly all the 
  meta-data

  associated with packages managed by Dub are Dub Records.
  Groan.
 
 Heh, took me awhile to release what you were saying here.
 
 Whereas I have absolutely no idea... :(
 
 - Jonathan M Davis


http://en.wikipedia.org/wiki/Dub_(music)
http://en.wikipedia.org/wiki/LP_record


I know about LPs, but I didn't know that dub was a genre of 
music.


- Jonathan M Davis


Think slow reggae with loads of echo


Re: Not with the scene…

2013-09-10 Thread John Colvin
On Tuesday, 10 September 2013 at 21:05:25 UTC, Andrej Mitrovic 
wrote:
On 9/10/13, Nick Sabalausky 
seewebsitetocontac...@semitwist.com wrote:

s/release/realize
--- apparently needs coffee


Realize the kraken!


Always associated this http://www.krakenrum.com/ for me =)


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Walter Bright

On 9/9/2013 11:35 AM, Russel Winder wrote:

C++11 has revitalized C++ in ways that are only just showing themselves.


That's true.


This is a threat to D gaining traction.


I'm less sure about that. I think it presents an opportunity for us. Driving the 
C++ resurgence is:


1. demand for high performance computing

2. turning back towards native languages

3. recognition of the value of functional-style programming techniques

4. recognition of the value of safety, encapsulation, etc.

But regarding the latter two points, I don't buy that the new C++ delivers. The 
classic is a oneliner Andrei wrote:


void fun() noexcept { throw so sue me; }

noexcept means the function doesn't throw any exceptions. But it doesn't check! 
The above code compiles, and then fails at runtime. The opportunity for D is to 
deliver what C++ has promised.




Re: Should we make dub the official package manager for D?

2013-09-10 Thread Brad Anderson
On Tuesday, 10 September 2013 at 21:51:07 UTC, Walter Bright 
wrote:

Please discuss here, not in the VisualD thread.


Andrei made a dedicated thread here:

http://forum.dlang.org/post/l0o0jq$gvp$1...@digitalmars.com


Re: Not with the scene…

2013-09-10 Thread Nick Sabalausky
On Tue, 10 Sep 2013 23:23:48 +0200
Paulo Pinto pj...@progtools.org wrote:
 
 Really?!? It is quite popular in Europe.

Europe has good taste in music. Example: Almost anytime I watch Top
Gear, I notice them using great songs that I recognize from my own
collection that you almost never hear played here in the US. Stuff
like Prodigy or Crystal Method, for example.



Should we make dub the official package manager for D?

2013-09-10 Thread Walter Bright

Please discuss here, not in the VisualD thread.


Re: Move VisualD to github/d-programming-language ?

2013-09-10 Thread Walter Bright

On 9/10/2013 11:54 AM, Andrei Alexandrescu wrote:

Maybe the time has come to discuss that. Should we make dub the official package
manager for D?


Akk, please start a new thread for that!



  1   2   >