Re: Bounty for -minimal compiler flag

2014-02-13 Thread 1100110

On 2/14/14, 0:22, John wrote:

I haven't gone into the history, but the only thing to really object to
is 'gc' surely. Isn't the rest of it fairly innocuous?

J


On Thursday, 13 February 2014 at 23:14:20 UTC, 1100110 wrote:

1. moduleinfo
2. exception handling
3. gc
4. Object




Why object to gc? You can always simply not use it, and use only the 
flags you want.  If a library that you use uses it, you don't have to 
worry about it since it will work without the flags as well as with.


IMO this will help make it a lot easier to manage GC allocations if that 
is what you wish to do.


Re: Bounty for -minimal compiler flag

2014-02-13 Thread John
I haven't gone into the history, but the only thing to really 
object to is 'gc' surely. Isn't the rest of it fairly innocuous?


J


On Thursday, 13 February 2014 at 23:14:20 UTC, 1100110 wrote:

1. moduleinfo
2. exception handling
3. gc
4. Object



Re: early alpha of D REPL

2014-02-13 Thread Asman01

On Tuesday, 11 February 2014 at 04:46:41 UTC, Martin Nowak wrote:

Barely running but already fun and a little useful.

Example:

D> import std.algorithm, std.array, std.file;
=> std
D> auto name(T)(T t) {
 | return t.name;
 | }
=> name
D> dirEntries(".", SpanMode.depth).map!name.join(", ")
=> ./drepl_sandbox
D>

https://github.com/MartinNowak/drepl
http://drepl.dawg.eu/


Very nice! thanks. I tried the following code but it print 
nothing:


auto twice = (int a) => 2*a;
twice(2);

What's wrong with that?


Re: Mono-D v1.6 - method override completion

2014-02-13 Thread Alexander Bothe


Okay, just implemented a completion mode for method overrides.

I won't explain this over here, as there are screenshots 
depicting everything properly already :-)


http://mono-d.alexanderbothe.com/method-override-completion-v1-6/


Bounty for -minimal compiler flag

2014-02-13 Thread 1100110

I think it's about time I gave back to this wonderful community.

I'm offering a $50 bounty on this.
(Preferably Bitcoins, but I'll use bountysource if desired.)

rules:
Has to be called -minimal
Has to fulfill Walter's original post. (listed below)
Has to split the separate parts into different flags as well as 
-minimal(-nogc, -nomoduleinfo, etc. Naming is left to the 
implementer).



This seems to be a good idea and has lots of support from the 
community, would anyone like to chip in a few more bucks?


I haven't set the bounty yet, depends on if multiple people chip 
in.  I'll probably set it sometime tonight.


Let me know what y'all think, am I leaving anything out?
Thanks


On Tuesday, 11 February 2014 at 19:43:00 UTC, Walter Bright wrote:
I've toyed with this idea for a while, and wondered what the 
interest there is in something like this.


The idea is to be able to use a subset of D that does not 
require any of druntime or phobos - it can be linked merely 
with the C standard library. To that end, there'd be a compiler 
switch (-betterC) which would enforce the subset.


(First off, I hate the name "better C", any suggestions?)

The subset would disallow use of any features that rely on:

1. moduleinfo
2. exception handling
3. gc
4. Object

I've used such a subset before when bringing D up on a new 
platform, as the new platform didn't have a working phobos.


What do you think?




std.serialization

2014-02-13 Thread Orvid King
Well, I wrote the code for this a while back, and although it was 
originally intended as a replacement for just std.json (thus the 
repo name), it does have the framework in place to be a 
generalized serialization framework, and there is the start of 
xml, and bson implementations, so I'm releasing it as 
std.serialization. The JSON implementation is the only one I'd 
consider ready for production use however. The (de)serialization 
framework takes a step back and asks, "Why do we need pull 
parsers?", the answer to which is that allocations are slow, so 
don't allocate. And that's exactly what I do. The serializer does 
absolutely *no* allocations of it's own (except for float->string 
conversion, which I don't understand the algorithms enough to 
implement myself) even going so far as to create an output range 
based version of to!string(int/uint/long/ulong/etc.). And the 
benefits of doing it this way are very clearly reflected in the 
pure speed of the serializer. On my 2ghz i5 Macbook Air, it takes 
50ms to serialize 100k objects with roughly 600k integers 
contained in them when compiled with DMD, this roughly half the 
time it takes to generate the data to serialize. Compile it with 
GDC or LDC and that time is cut in half. I have done the exact 
same thing with deserialization as well, the only allocations 
done are for the output objects, because there is no intermediate 
representation.


So how do I use this greatness? Simple! import std.serialization, 
and apply the @serializable UDA to the class/struct you want to 
serialize, then call toJOSN(yourObject) and 
fromJSON!YourType(yourString) to your heart's content!


Now, there are other serialization libraries out there, such as 
orange, that take the compile-time reflection approach, but the 
amount of code required to implement a single format is just 
massive 2100 lines for the XMLArchive. The entire JSON 
(de)serialization, which *includes* both the lexer and parser is 
only 900 lines.





Wow, that went a bit more towards a salesman-like description 
than I as aiming for, so I'll just end this here and give you the 
link, before this ends up looking like a massive, badly written, 
sales pitch :D


https://github.com/Orvid/JSONSerialization


Re: early alpha of D REPL

2014-02-13 Thread Rory McGuire
very cool


On Thu, Feb 13, 2014 at 12:27 PM, Tourist  wrote:

> On Tuesday, 11 February 2014 at 04:46:41 UTC, Martin Nowak wrote:
>
>> Barely running but already fun and a little useful.
>>
>> Example:
>>
>> D> import std.algorithm, std.array, std.file;
>> => std
>> D> auto name(T)(T t) {
>>  | return t.name;
>>  | }
>> => name
>> D> dirEntries(".", SpanMode.depth).map!name.join(", ")
>> => ./drepl_sandbox
>> D>
>>
>> https://github.com/MartinNowak/drepl
>> http://drepl.dawg.eu/
>>
>
> http://i.imgur.com/LNYMNYw.png
>


Re: ACCU: Wednesday, February 12 - Amaury Séchet, "Multi-core Software Development Challenges and How D Helps"

2014-02-13 Thread deadalnix

On Thursday, 13 February 2014 at 02:24:21 UTC, Walter Bright
wrote:

On 2/11/2014 10:33 AM, Ali Çehreli wrote:

Reminder...

Ali


Dang, wish I could be there.


I had a lot of question, so I conclude I got people really
interested or really confused.

I'll share the slides when I have some time to take care of it.


Re: ACCU: Wednesday, February 12 - Amaury Séchet, "Multi-core Software Development Challenges and How D Helps"

2014-02-13 Thread Ali Çehreli

On 02/05/2014 09:48 PM, Ali Çehreli wrote:

> When:  Wednesday, February 12, 2014
> Topic: Multi-core Software Development Challenges and How D Helps
> Speaker:   Amaury Séchet

Both the speaker and the audience were great. I learned a lot. I hope 
Amaury will publish his slides.


I apologize for not recording the presentation. We will get our 
equipment soon.


Ali



Re: Scott Meyers will deliver a keynote talk at DConf 2014

2014-02-13 Thread Gary Willoughby

On Thursday, 13 February 2014 at 10:36:37 UTC, tivadj wrote:

Next announcement, please, "Linux moves to D" ;)


I'm crossing my fingers for "Facebook is fully supporting D and 
is now working on solid cross-platform debugging tools."


...I can dream.


Re: Scott Meyers will deliver a keynote talk at DConf 2014

2014-02-13 Thread tivadj

Next announcement, please, "Linux moves to D" ;)


Re: early alpha of D REPL

2014-02-13 Thread Tourist

On Tuesday, 11 February 2014 at 04:46:41 UTC, Martin Nowak wrote:

Barely running but already fun and a little useful.

Example:

D> import std.algorithm, std.array, std.file;
=> std
D> auto name(T)(T t) {
 | return t.name;
 | }
=> name
D> dirEntries(".", SpanMode.depth).map!name.join(", ")
=> ./drepl_sandbox
D>

https://github.com/MartinNowak/drepl
http://drepl.dawg.eu/


http://i.imgur.com/LNYMNYw.png


Re: early alpha of D REPL

2014-02-13 Thread John Colvin

On Tuesday, 11 February 2014 at 04:46:41 UTC, Martin Nowak wrote:

Barely running but already fun and a little useful.

Example:

D> import std.algorithm, std.array, std.file;
=> std
D> auto name(T)(T t) {
 | return t.name;
 | }
=> name
D> dirEntries(".", SpanMode.depth).map!name.join(", ")
=> ./drepl_sandbox
D>

https://github.com/MartinNowak/drepl
http://drepl.dawg.eu/


It would be nice if in the online sandbox the window width could 
be changed.