Re: @noreturn property

2010-10-21 Thread Bernard Helyer
>
> Thoughts?

I really, really like the idea.


Re: What can the community do to help D?

2010-10-27 Thread Bernard Helyer
On Sat, 23 Oct 2010 16:09:37 +0100, Peter Alexander wrote:

> Should people work on other D compilers (gdc and ldc in particular)? Is
> this even possible without a formal language specification?

God, I hope so, because I've already sunk enough time into SDC. I'd like 
to have a usable compiler at the end! xD


Re: why a part of D community do not want go to D2 ?

2010-11-11 Thread Bernard Helyer
On Wed, 10 Nov 2010 16:26:52 -0500, Sean Kelly wrote:
> Also, I do still feel
> that the druntime SVN shouldn't have to be the repository used for every
> compiler runtime or garbage collector implementation.

I am attempting to write a compiler in D2 (github.com/bhelyer/SDC), and I 
can't help but feel that rewriting druntime, or picking out the 
relatively benign parts would be a difficult, bug filled task. I don't 
see a realistic alternative to druntime compatibility.  I also feel that 
having all implementations share the GC implementation means that 
improvements there will improve everywhere else. If I weren't to use 
druntime's GC, then I would use the Boehm collector, but I feel using 
druntime is more beneficial than not.


Re: D1 -> D2

2010-11-19 Thread Bernard Helyer
On Thu, 18 Nov 2010 19:58:42 +, %u wrote:

> == Quote from Denis Koroskin (2kor...@gmail.com)'s article
>> On Thu, 18 Nov 2010 22:19:12 +0300, Walter Bright
>>  wrote:
>> > Steven Schveighoffer wrote:
>> >> My recommendation -- when you are ready, switch wholly to D2.  Don't
>> >> bother with compatibility, it's just not possible.
>> >
>> >  From what you wrote, it appears that most of the difficulties were
>> >  in
>> > dealing with strings.
>> No, it's not. From my experience, a bigger issue is that version (D2) {
>> /* some D2 only code involving const etc */
>> }
>> simply won't compile in D1, because even if it's D2-only the code needs
>> to be correct D1 code as well.
> 
> Wow, that sucks!!
> Can't this simply be mended with special D_DMD1 and D_DMD2 (D_DMD3 :)
> version identifiers?
> If the compiler version isn't the same then it won't look at the code.

No. The contents of a version block is still parsed. If the D2 code 
doesn't _parse_ as valid D1, then the D1 compiler will reject it, even if 
the version block will not be processed further than that.


Re: Please vote on std.datetime

2010-12-09 Thread Bernard Helyer
I vote yes.

Why? Because Phobos has needed a solid module for working with dates and 
time for a long time, and neither std.date or std.gregorian filled that 
need -- std.date is buggy beyond repair, and std.gregorian's API doesn't 
make my normal tasks easy. std.datetime's API is fairly intuitive, and 
what I would expect out of a fairly modern date/time library. There are 
some bugs over here the need attending to, but I believe that the API 
itself is solid, and well designed, and that it can be a solid, good 
quality module in Phobos. 


Re: Please vote on std.datetime

2010-12-11 Thread Bernard Helyer
On Thu, 09 Dec 2010 20:54:14 -0800, Jonathan M Davis wrote:
> In any case, you've found bugs, please point them out. I can't fix it if
> I don't know that it's broken.

The localtime it retrieves is incorrect, over here. It is always one and 
a half hours slow. I am retrieving it using Clock.currTime, and the 
result is the same if I force the TZ ("Pacific/Auckland").

(Linux 64, NZST, BIOS set to local time not UTC as I dual boot with 
Windows).


assert(object) fails to adhere to the principle of least surprise

2011-01-29 Thread Bernard Helyer
If I do

if (object) {
...
}

What happens is fairly obvious, and is equivalent to

if (object !is null) {
}

However, if I do

auto object = new Object();
assert(object);

What I expect to happen is

assert(object !is null);

Just as in the above example. What happens however is the program seg 
faults. Why? Because it turns out what DMD turns it (silently) into is

object.checkInvariants();  // Whatever it's called.

This is bad enough, however it gets pants-on-head stupid as *object is 
not checked for null*. I think the silent rewrite is bad design, but not 
checking for null is so stupid, so obvious to anyone who actually uses 
the language, I can't believe it's existed for so long. The fact that

assert(object);

and

import std.exception;
enforce(object);

do different things boggles my mind. One must write

   assert(object !is null);

or

   assert(!!object);

and every day it's like a giant stabbing pain. A stupid wrong headed 
design that makes my experience with D _worse_. Just expose a method for 
checking the invariant explicitly, and don't do this silent rewrite 
bullshit. Any chance of getting a change of behaviour?

FWIW, GDC doesn't do the rewrite, and SDC (the compiler I'm working on 
github.com/bhelyer/sdc) won't either. 


Re: assert(object) fails to adhere to the principle of least surprise

2011-01-29 Thread Bernard Helyer
A few corrections.

On Sat, 29 Jan 2011 12:02:57 +, Bernard Helyer wrote:
> auto object = new Object();
> assert(object);

This segfaults if object is null, which is obviously impossible in this 
example.

> 
> FWIW, GDC doesn't do the rewrite, 

On structs, it does the rewrite on class instances (boo!).


Re: assert(object) fails to adhere to the principle of least surprise

2011-01-29 Thread Bernard Helyer
Further correction.

On Sat, 29 Jan 2011 12:09:41 +, Bernard Helyer wrote:
>> FWIW, GDC doesn't do the rewrite,
> 
> On structs, it does the rewrite on class instances (boo!).

It checks for null then checks the invariant.

I think that's a good compromise, given that an object without an 
invariant passes the assert.


Re: Suggestion: New D front page

2011-01-29 Thread Bernard Helyer
I like it. D's web presence needs work all-round.


Re: On 80 columns should (not) be enough for everyone

2011-02-01 Thread Bernard Helyer
Here's SDC, just for kicks:

[SDC]$ find src/sdc -name "*.d" -print0 | xargs --null wc -l | sort -rn | 
head -n 1
 12545 total
[SDC]$ find src/sdc -name "*.d" -print0 | xargs --null grep '.\{81,\}' | 
cut -f1 -d:| uniq -c | sort -nr
 81 src/sdc/gen/value.d
 44 src/sdc/gen/expression.d
 35 src/sdc/lexer.d
 26 src/sdc/gen/base.d
 24 src/sdc/parser/declaration.d
 24 src/sdc/gen/declaration.d
 19 src/sdc/gen/sdctemplate.d
 16 src/sdc/gen/statement.d
 13 src/sdc/global.d
 12 src/sdc/gen/sdcfunction.d
 11 src/sdc/sdc.d
  9 src/sdc/gen/sdcpragma.d
  8 src/sdc/parser/expression.d
  8 src/sdc/parser/base.d
  8 src/sdc/gen/sdcmodule.d
  7 src/sdc/parser/conditional.d
  7 src/sdc/gen/attribute.d
  6 src/sdc/parser/sdcimport.d
  6 src/sdc/parser/attribute.d
  6 src/sdc/extract/base.d
  4 src/sdc/parser/sdctemplate.d
  4 src/sdc/parser/enumeration.d
  4 src/sdc/gen/sdcimport.d
  4 src/sdc/gen/enumeration.d
  3 src/sdc/sdc4de.d
  2 src/sdc/token.d
  2 src/sdc/gen/type.d
  2 src/sdc/gen/cfg.d
  2 src/sdc/gen/aggregate.d
  1 src/sdc/tokenstream.d
  1 src/sdc/terminal.d
  1 src/sdc/source.d
  1 src/sdc/parser/statement.d
  1 src/sdc/parser/sdcpragma.d
  1 src/sdc/parser/sdcclass.d
  1 src/sdc/parser/aggregate.d
  1 src/sdc/ast/statement.d
  1 src/sdc/ast/expression.d



Re: std.xml should just go

2011-02-02 Thread Bernard Helyer
On Wed, 02 Feb 2011 17:33:42 -0600, Andrei Alexandrescu wrote:
> 
> Should we nuke it?

>From orbit; it's the only way to be sure.

Remove it with utter prejudice, before someone else makes the mistake of 
trying to use it.



Re: std.xml should just go

2011-02-02 Thread Bernard Helyer
On Wed, 02 Feb 2011 16:28:27 -0800, Brad Roberts wrote:

> I haven't used it nor am likely to,
> but I also have trouble ruling out the potential that there's users for
> which it works and they just aren't talking about it here.

I do not believe that it's possible that anyone has used std.xml 
successfully for something substantial. :D


Re: GDC Explorer - an online disassembler for D

2012-09-21 Thread Bernard Helyer

On Friday, 21 September 2012 at 10:04:00 UTC, Jens Mueller wrote:

Andrei Alexandrescu wrote:

I've met Matt Goldbolt, the author of the GCC Explorer at
http://gcc.godbolt.org - a very handy online disassembler for 
GCC.


This is not a disassembler. It just stops compilation before the
assembler (gcc -S). A dissembler would create the assembler 
code given

only the machine code.


You are both correct and incredibly pedantic. :P


Should this be flagged as a warning?

2012-09-24 Thread Bernard Helyer

I just found a bug in my code that showed up in this fragment:

match(ts, TokenType.OpenParen);
ie.type == parseType(ts);

Obviously I meant

ie.type = parseType(ts);

but wrote == because I'm an idiot. If parseType wasn't a function
with side effects, -w would have flagged it as an expression with
no effect. But the comparison still has no side effects. Thoughts?

-Bernard.

p.s. as a side note, I think this is the first time I've had a bug
from writing == where I meant = instead of the other way around!


Should this be flagged as a warning?

2012-09-25 Thread Bernard Helyer
I tried to post this last night, but the NG wasn't having any of 
it.


I found myself writing a bug that looked like this

match(ts, TokenType.Is);
match(ts, TokenType.OpenParen);
isExp.type == parseType(ts);

The bug being of course, that a type is parsed and ts is modified,
so the expression has side effects so it's not flagged as a 
useless
expression. But the comparison still has no effect, so should 
this be

flagged by DMD?

-Bernard.


Re: Should this be flagged as a warning?

2012-09-25 Thread Bernard Helyer
On Tuesday, 25 September 2012 at 19:29:26 UTC, Bernard Helyer 
wrote:
I tried to post this last night, but the NG wasn't having any 
of it.


I found myself writing a bug that looked like this

match(ts, TokenType.Is);
match(ts, TokenType.OpenParen);
isExp.type == parseType(ts);

The bug being of course, that a type is parsed and ts is 
modified,
so the expression has side effects so it's not flagged as a 
useless

expression.


Err, the bug is that I wrote '==' instead of '='. That's what
I get for posting first thing in the morning, I guess.


Re: Should this be flagged as a warning?

2012-09-25 Thread Bernard Helyer

On Tuesday, 25 September 2012 at 21:15:24 UTC, bearophile wrote:
The top level operation is the ==, that is a pure expression, 
so maybe dmd should warn on this.


Yeah, I thought so but I'm not sure. Hence me asking.




Re: Dangling if

2012-09-27 Thread Bernard Helyer
On Friday, 28 September 2012 at 02:12:20 UTC, Andrej Mitrovic 
wrote:
This is a very specific situation that could be handled unless 
it is
too complex to mess with the lexer. If there's an if statement 
which

isn't followed by a block but is followed by a blank line emit a
warning. Sounds simple enough to me.


By the time the compiler even has a concept of an 'if statement'
or a 'block' the whitespace is long gone. Not to say you
couldn't change the lexing model to detect such things,
but it's not a simple as you make it sound.



Re: I have a feature request: "Named enum scope inference"

2012-09-28 Thread Bernard Helyer

On Saturday, 29 September 2012 at 05:08:12 UTC, Tommi wrote:
then that's completely an unacceptable argument. The question 
of how much work it is to implement, has nothing to do with 
whether it's a good feature to have or not. And that's what 
we're discussing.


Except a theoretical feature doesn't exist, so someone has
to write the code. So no, it's not an 'unacceptable
argument'.


Re: I have a feature request: "Named enum scope inference"

2012-09-29 Thread Bernard Helyer

Yeah, to respond to the larger topic, the with statement
is more than enough here. I'm not convinced that complicating
lookup rules further is worth it.




Re: [OT] Gibberish webpages

2012-10-01 Thread Bernard Helyer
On Monday, 1 October 2012 at 12:54:45 UTC, Andrei Alexandrescu 
wrote:
I have a Google alert on "D programming language" and it 
sometimes yields pages like this:


http://swpp.co.uk/lovegovee.php?lib=1612

It looks like random sentences either scraped from other sites 
or generated using a language model. What would be the purpose 
of all this?



Thanks,

Andrei


To hit random search results and make some delicious ad money.


Re: A study on immutability usage

2012-10-01 Thread Bernard Helyer

Our results from 14 Java applications


Only 14? So it's a useless statistic. Good to know.
The rest seemed interesting.


Re: D3 suggestion: rename "range" to "sequence"

2012-10-03 Thread Bernard Helyer
On Thursday, 4 October 2012 at 03:10:56 UTC, Alex Rønne Petersen 
wrote:
Look, not to sound dismissive, but D3 is not a thing and likely 
will never be.


Well _I'll_ be dismissive. This idea, even if we were doing
the D3 thing, is completely pointless. D != maths. I don't
know why I have to point that out, but here we are! :P




Re: Proposal: clean up semantics of array literals vs string literals

2012-10-04 Thread Bernard Helyer
On Tuesday, 2 October 2012 at 15:14:10 UTC, Andrei Alexandrescu 
wrote:
First, I think zero-terminated strings shouldn't be needed 
frequently enough in D code to make this necessary.


My experience has been much different. Interfacing with C occurs
in nearly every D program I write, and I usually end up passing
a string literal. Anecdotes!




Re: Proposal: clean up semantics of array literals vs string literals

2012-10-04 Thread Bernard Helyer

On Tuesday, 2 October 2012 at 14:03:36 UTC, monarch_dodra wrote:
If you want 0 termination, then make it explicit, that's my 
opinion.


That ship has long since sailed. You'll break code in an
incredibly dangerous way if you were to change it now.


Re: A simple question

2012-11-18 Thread Bernard Helyer

On Friday, 16 November 2012 at 01:00:58 UTC, Walter Bright wrote:

On 11/15/2012 4:11 PM, Stugol wrote:

am I likely to be told to fuck off again?


I haven't seen Bernard lately, so probably not.


I'm still about.


Bernard was certainly out of line with that remark


Absolutely. I let the NG get under my skin too much. I'm trying to
be a reformed man!





Re: Seeking research papers on D

2012-11-18 Thread Bernard Helyer
On Sunday, 18 November 2012 at 08:35:51 UTC, Philippe Sigaud 
wrote:
I remember reading an article on graphs using D a few years 
ago. Ah, there

it is:

http://www.massey.ac.nz/~kahawick/cstn/043/cstn-043.pdf



Hey, that guy was my lecturer! He turned me onto D in the
first place. Neat. :D


Re: moving away from changelog.dd?

2012-12-23 Thread Bernard Helyer

On Monday, 24 December 2012 at 03:48:47 UTC, Andrei Alexandrescu
wrote:

Some other way may as well be introduce entries in bugzilla.


Is adding things that don't belong in bugzilla to bugzilla really
a great idea?


Re: DMD build

2012-12-28 Thread Bernard Helyer
On Saturday, 29 December 2012 at 02:11:03 UTC, Jonathan M Davis 
wrote:
I would expect rebasing to fix it trivially so long as git mv 
was used rather
than renaming the file with the OS' commands, but I don't know 
for sure.


- Jonathan M Davis


IIRC, Git can figure out if a raw renamed file (a new file from 
git's

perspective) is a rename of an old file if the contents are the
same as a recently removed file above a certain threshold (70 
percentish).


Considering the contents of the files shouldn't change at all, I
_think_ git should be able to figure out what's happened.


No idea what'll happen to the pull requests, though.


Re: Vote on std.regex (FReD)

2011-10-24 Thread Bernard Helyer
Yes.


Re: assert(obj) is an atrocity

2011-11-09 Thread Bernard Helyer
Agreed on all points. It's pathetic that this is still a problem. Check 
the object for null. To not do so is a _bug_, even if Walter disagrees. 
SDC will not replicate DMD's behaviour in this regard.

-Bernard.


Re: assert(obj) is an atrocity

2011-11-09 Thread Bernard Helyer
Because it's a design issue, not a learning issue?


Re: CTFE is getting there

2011-11-12 Thread Bernard Helyer
On Sun, 13 Nov 2011 01:28:54 +0100, Martin Nowak wrote:

> D_InlineAsm_X86 is just a normal version tag and does not imply asm
> code, so it has to.

D_InlineAsm_X86 is intended to be defined when an implementation supports 
inline asm for x86. The compiler, when running CTFE, does not, so it 
should not be defined. 


Re: Translation of C struct to D

2011-11-15 Thread Bernard Helyer
kbuild is almost certainly not linking in phobos. 



Re: Curl wrapper review

2011-11-15 Thread Bernard Helyer
I'll just post my thoughts here while they're fresh. It looks good. The 
documentation is what I'd expect from a Phobos module, as is the naming 
convention.

auto _basicFtp(T)(const(char)[] url, const(void)[] sendData, Ftp client)

If you don't want people using it, shouldn't it be marked private instead 
of using the underscore for obscurity?

private struct Pool(DATA) 
{
private:

You've marked private things as 'private foo;' everywhere else in the 
module, what's with the switch in styles for this struct? Also, as the 
whole struct is module private I'm not sure of the utility of marking 
members private. I guess it's a form of documentation.

But really, I'm grasping at straws. Even if the above were to remain, I 
would love to see this in Phobos yesterday. :)

-Bernard.





Re: newsgroup web viewer

2011-11-15 Thread Bernard Helyer
On Tue, 15 Nov 2011 22:48:55 -0800, Walter Bright wrote:

> russian porn spam

WHY WAS I NOT INFORMED?







I mean, terrible stuff. :o


Re: newsgroup web viewer

2011-11-17 Thread Bernard Helyer
On Wed, 16 Nov 2011 20:04:39 +1300, Bernard Helyer   
wrote:



On Tue, 15 Nov 2011 22:48:55 -0800, Walter Bright wrote:


russian porn spam


WHY WAS I NOT INFORMED?







I mean, terrible stuff. :o


Forgive me, but I'm just trying out Opera's NG reader.


Re: In my whole life

2011-11-22 Thread Bernard Helyer

Don't give the mouth breather the pleasure of a reply, please.


Re: Doom3 (id tech 4) port/binding in D ?

2011-11-23 Thread Bernard Helyer

On Thu, 24 Nov 2011 09:38:56 +1300, Trass3r  wrote:

Also,, in any case, you will want to wait until the community gains some  
direction and organization. Eventually something like iodoom3 should  
take over control and aggregate the useful patches floating around in  
space.
Currently there are over 200 forks at github and the code doesn't even  
work on Linux x64 at all yet.


Well, scons NOCURL=1 lets you build a working x86 binary, but yeah, no 64  
bit build.


Re: D Parser in D

2011-11-25 Thread Bernard Helyer

On Sat, 26 Nov 2011 07:58:19 +1300, NMS  wrote:


Is there a D parser written in D? - C strings kill me.

Thanks, NMS


SDC[1] has one, but it's being lazy loaded in -- that is, it's not  
complete.


[1]:http://github.com/bhelyer/SDC


If I use an extern (C) interface, can I use shared objects in Linux from DMD?

2011-12-02 Thread Bernard Helyer

I don't need to share GC memory across instances or anything,
but I would be interested in using a C interface if possible.

If not, what's blocking it. If yes, how would one initialise
the runtime? I know there's a Windows DLL article on the website,
but I'm interested in Linux.

I know GDC can do it for sure, but I'm interested in DMD's capabilities.



Thanks,
-Bernard.


Re: Chinese characters printing issue under windows

2011-12-08 Thread Bernard Helyer
This is very useful information, so thank you for posting it, but 
this looks like something that Phobos should pick up 
automatically. I would note that the program works perfectly in 
Linux without the need for setting the locale, so I'd imagine its 
some encoding issue? Not really my area of expertise.


Re: SDC & ddmd

2011-12-09 Thread Bernard Helyer

Hi, primary author of SDC here.

Existing compilers (DMD, LDC, GDC, DDMD) all descend directly 
from the DMDFE. The DMDFE is thus the only real source of true 
semantics of the language, except where directly contradicted by 
Walter, Andrei, or TDPL. For the ecosystem to not become inbred, 
a new front-end is needed.


Furthermore, like others, I have become frustrated at the various 
bugs of the frontend. These bugs are passed on to all other 
compilers because of the afore-mentioned ubiquity of the 
front-end.


Lastly, I work on whatever interests me personally, not what 
other people believe to be where my resources would be placed. I 
do not need to defend myself to you.


Re: SDC & ddmd

2011-12-10 Thread Bernard Helyer
We intend to be compatible with DMD to a point. Where we are not, 
will be through omission. Off the top of my head:


*delete will not be implemented.
*scope classes will not be implemented.
*complex numbers will not be implemented.
*version/debug levels will not be implemented, as their semantics 
are poorly documented, and I've never seen them used in any code 
anywhere.

*C style function pointers will not be supported.
*The D calling convention will not be matched, at least not in 1.0
(extern (D) is currently fastcall)
*D's forward reference and module order bugs will not be 
supported.


And others I've probably forgotten. In terms of release date, I 
can't really say, sorry. Currently working on the D interpreter 
for CTFE and constant expressions, if you're interested. :D



-Bernard.






Re: SDC & ddmd

2011-12-10 Thread Bernard Helyer

On Saturday, 10 December 2011 at 09:47:14 UTC, Timon Gehr wrote:

On 12/10/2011 10:40 AM, Bernard Helyer wrote:
We intend to be compatible with DMD to a point. Where we are 
not, will

be through omission. Off the top of my head:
[...]
*D's forward reference and module order bugs will not be 
supported.


[snip.]



How is that an 'omission'?


Just my lame attempt at humour. :P


Re: SDC & ddmd

2011-12-10 Thread Bernard Helyer

On Saturday, 10 December 2011 at 09:51:08 UTC, Somedude wrote:

Le 10/12/2011 08:54, Piotr Szturmaj a écrit :
And it would be *far* more frustrating for the users, who would 
observe
different behaviors and different bugs on different compilers. 
Hence
that would mean that writing portable code necessits to test it 
with all

compilers.


Just like Javascript, HTML, C, C++, Ada, Perl, Fortran, Cobol, 
and any language in existence that's even remotely widely used?


Re: Why D const is annoying

2011-12-10 Thread Bernard Helyer
On Saturday, 10 December 2011 at 11:11:44 UTC, Walter Bright 
wrote:

On 12/10/2011 3:04 AM, Mehrdad wrote:

On 12/10/2011 3:01 AM, Walter Bright wrote:

On 12/10/2011 2:34 AM, Mehrdad wrote:

... and another...

struct Matrix(T, size_t N = 1)
{ public auto mul(Matrix!(T, N) other) const { return this; 
} }



In general, to refer to the current template being expanded 
from inside of it,

just give its name, as in:

Matrix!(T,N) => Matrix

That's not the issue.

If you say 'int' instead of size_t, it works fine.


That's because

Matrix!(int, cast(int)1)

is considered a different template instantiation (and hence a 
different type) from


Matrix!(int, cast(uint)1)


Madness. I can't believe you think this is sane behaviour.



Re: SDC & ddmd

2011-12-11 Thread Bernard Helyer

On Saturday, 10 December 2011 at 11:17:19 UTC, Timon Gehr wrote:

On 12/10/2011 10:54 AM, Bernard Helyer wrote:
On Saturday, 10 December 2011 at 09:47:14 UTC, Timon Gehr 
wrote:

How is that an 'omission'?


Just my lame attempt at humour. :P


Should have thought of that. =)
Do you already have a working design? I think what Don 
suggested (process static if and mixins in sequence...


Nothing so elegant, I'm afraid. Each module has all top level 
declarations added to a list, SDC then iterates over the list 
trying to resolve them appropriately. If it can, it marks it as 
done and moves to the next. If it can't it increments the "can't 
resolve" counter and keeps going. If on a given loop the can't 
resolve counter is zero, then a source of top level declarations 
(static if, import statements, version blocks, etc) is added to 
the list. This keeps going until the entire list is handled, or 
we've hit an impossible situation.


Rather simplistic, but we haven't had any trouble with it yet.


Re: SDC & ddmd

2011-12-19 Thread Bernard Helyer

On Monday, 19 December 2011 at 22:59:37 UTC, Trass3r wrote:
Are you building SDC in the same fashion as clang by chance 
where the pieces are modular and usable else ware? (such as 
the parser being able to be used in an ide?)


It isn't as well-conceived. Hence the name, it started out as a 
toy project and didn't have Clang-like goals in mind.
For example last time I looked there was no proper interface 
between the parser and "consumers". Instead an AST is always 
built.
Errors were processed by simply throwing exceptions etc. and 
the code was sparsely documented.


You'd think making the first letter stand for 'stupid' would tip 
people off. :P


Re: CURL Wrapper: Vote Thread

2011-12-20 Thread Bernard Helyer

Yes.


Re: Compiler for multiple languages, including D

2012-01-06 Thread Bernard Helyer
On Thursday, 5 January 2012 at 23:08:14 UTC, Vladimir Panteleev 
wrote:
On Thursday, 5 January 2012 at 22:53:10 UTC, Stewart Gordon 
wrote:
Or is it really not an online compiler, but rather an online 
interface to a collection of compilers that the author has on 
his computer?


Um... yes.

What did you expect? o_O


The mednafen or MAME of compilers, obviously.


Re: [OT] Programming language WATs

2012-01-20 Thread Bernard Helyer

On Friday, 20 January 2012 at 15:40:44 UTC, Robert Clipsham wrote:

Just came across this amusing 4 minute video:

https://www.destroyallsoftware.com/talks/wat

Anyone have any other WATs you can do in other languages? Bonus 
points for WATs you can do in D.


void main()
{
   import std.stdio;
   auto a = cast(int[]) [cast(ushort)1, cast(ushort) 2];
   writeln(a);
   auto b = [cast(ushort) 1, cast(ushort) 2];
   auto c = cast(int[]) b;
   writeln(c);
}




Can gc_stats be exposed through core.memory?

2012-01-21 Thread Bernard Helyer
With a big fat "subject to change use at own risk" warning 
attached?


Re: Do we need Win95/98/Me support?

2012-01-23 Thread Bernard Helyer

On Monday, 23 January 2012 at 11:15:02 UTC, Nick Sabalausky wrote:
[1] I don't even know what the fuck to call any of them 
anymore. "Window manager", "Desktop Environment", "Shell", 
"Compositor", and if I'm not mistaken there's even some damn 
hybrids or some such, and some can be used together, some 
can't, bleh.


A window manager handles window bar controls, positions of new 
windows, and the like. A shell is merely a term for something 
that allows input to the OS. A compositor takes the pixels pushed 
by other parts of the stack and applies GL magic to them. A 
Desktop Environment takes several of the above and packs them 
together in a single environment to create something (hopefully) 
cohesive.



They're all the same damn things as far as I can
tell :/


That's because you don't know what you're talking about. :P




Re: A modest proposal

2012-01-23 Thread Bernard Helyer

On Tuesday, 24 January 2012 at 02:17:09 UTC, Trass3r wrote:
Adapt the bot or configure your client to ignore the bot. Plain 
simple.


You know who else configured their client to ignore bots?

Bin Laden.

You thought I was going to say Hitler, didn't you? Well that's 
silly, Hitler was long dead before the invention of ARPANET, let 
alone the IRC protocol. I don't know how I can take technical 
advice from someone so confused about the timeline of history.


Re: Can't the dmd source files finally get a proper C++ file extension?

2012-01-23 Thread Bernard Helyer

On Tuesday, 24 January 2012 at 02:35:43 UTC, Trass3r wrote:
It's really annoying. clang++ gives a lot of warnings and IDEs 
are confused as well.


Queue Walter saying that it's needed for some ancient platform D 
has never and will never exist/ed on in three... two...


Re: A modest proposal

2012-01-23 Thread Bernard Helyer
On Tuesday, 24 January 2012 at 03:01:25 UTC, Jonathan M Davis 
wrote:

On Monday, January 23, 2012 19:52:27 Brad Anderson wrote:
Jonathan, Swiftly closing them is causing real pain for some 
of us.
Certainly he could fix them and keep a log of the ones he 
fixed then
actually close, say, 3 a day on bugzilla so it wouldn't be so 
noisy.


Considering that what's doing is primarily focused on 
commenting and potentially closing bugs, not necessarily fixing 
them, it wouldn't make any sense to keep track of it himself 
and then go back later to actually comment on them and 
potentially close them. It would be the same as slowing down 
what he's doing over a much longer period. And 3 a day would be 
insanely slow in comparison to what he's actually doing. I'm 
sure that it's much more effective for him to just do it all 
now and move on.


I'm sorry, but you're just going to have to deal with it. It 
won't last long, and it needs to be done.


- Jonathan M Davis


FOR THE LOVE OF GOD GOOGLE A MODERATE PROPOSAL I CAN'T TAKE IT 
ANYMORE WHY ARE YOU ALL GERMAN OR SOMETHING OH GOD





Re: A modest proposal

2012-01-23 Thread Bernard Helyer
On Tuesday, 24 January 2012 at 03:52:25 UTC, Nick Sabalausky 
wrote:
"Bernard Helyer"  wrote in message 
news:zqqqybjeqepidctwz...@dfeed.kimsufi.thecybershadow.net...
On Tuesday, 24 January 2012 at 03:01:25 UTC, Jonathan M Davis 
wrote:

On Monday, January 23, 2012 19:52:27 Brad Anderson wrote:
Jonathan, Swiftly closing them is causing real pain for some 
of us.
Certainly he could fix them and keep a log of the ones he 
fixed then
actually close, say, 3 a day on bugzilla so it wouldn't be 
so noisy.


Considering that what's doing is primarily focused on 
commenting and potentially closing bugs, not necessarily 
fixing them, it wouldn't make any sense to keep track of it 
himself and then go back later to actually comment on them 
and potentially close them. It would be the same as slowing 
down what he's doing over a much longer period. And 3 a day 
would be insanely slow in comparison to what he's actually 
doing. I'm sure that it's much more effective for him to just 
do it all now and move on.


I'm sorry, but you're just going to have to deal with it. It 
won't last long, and it needs to be done.


- Jonathan M Davis


FOR THE LOVE OF GOD GOOGLE A MODERATE PROPOSAL I CAN'T TAKE IT 
ANYMORE WHY ARE YOU ALL GERMAN OR SOMETHING OH GOD




Walter already made reference to baby-eating.


I was referring to Jonathan's seeming inability to get the joke. 
:P




Re: A modest proposal

2012-01-23 Thread Bernard Helyer
On Tuesday, 24 January 2012 at 05:25:59 UTC, Jonathan M Davis 
wrote:

On Monday, January 23, 2012 21:58:18 Andrei Alexandrescu wrote:

Wait, Brad was being funny. No?


Well, if he was, it went completely over my head.

- Jonathan M Davis



Jonathan, Swiftly


http://en.wikipedia.org/wiki/Jonathon_Swift

*bernard slams his head against his desk a few times then passes 
out*


Re: C/C++ backend for DMD?

2012-01-25 Thread Bernard Helyer
On Wednesday, 25 January 2012 at 12:03:15 UTC, Nick Sabalausky 
wrote:
 wrote in message 
news:op.v8mxx6s9xa30qa@marton-pc...


Hi,

I have been thinking . Would not C and C++ backend would make 
DMD more versatile?

D language could be used in many platforms easily.
D language could be used in .net and elsewhere.
It could be compiled with other language that are also 
translated into C/C++.


I think LDC can do that...At least in theory anyway, since LLVM 
has a C backend.


It does, but they tell you not to use it. Make of that what you 
will.


Why not allow people to submit name:url associations for dman?

2012-01-30 Thread Bernard Helyer
I've found myself using dman more than I thought I would, but it 
is a little annoying when it fails to find a page and I navigate 
to it manually -- I wouldn't mind if I could improve dman for the 
next release.


Perhaps a text file on GitHub we could submit pull requests to?

Thanks,
-Bernard.


Re: Opinion of February 2012

2012-02-04 Thread Bernard Helyer

On Saturday, 4 February 2012 at 20:58:23 UTC, Walter Bright wrote:

On 2/3/2012 4:11 PM, bearophile wrote:
Aren't less than 10 minutes enough to fix this simple problem? 
I don't know
why Walter likes to use ".c" as suffix for those files, I 
don't remember his
answers on this topic, I have never appreciated this naming 
decision.


Back in the day, when most of this was started and the African 
continent was still attached to South America, the following 
extensions were in wide use for C++ files:


.cpp
.c++
.cxx
.C (that's capital C; obviously that never worked on Windows)
.c

(and corresponding .h suffixes).

None of them achieved any dominance. I myself used .cpp/.hpp 
for a while, and simply grew tired of it. The compiler sources 
were originally in C, and when they were converted to C++ it 
was easier to just keep the same file names (and yes, .c was 
also in wide use for C++). All the C++ compilers accepted .c 
files, distinguishing by using a switch (dmc -cpp) or by name 
(gcc/g++). It just was never any problem.


For me, I find worrying about it about as productive as arguing 
whether tabs should be set to 4 or 8.


Except it consistently confuses people and tools. .cpp or .cc is 
all I see nowadays, and DMD should modernise. Things may have 
been different in the (eighteen) eighties, but get with the times!




[OT] I ported Empire to D2 and made it cross platform.

2012-02-05 Thread Bernard Helyer
I've tried multiple times to contact Walter through his websites, 
but apparently _that's_ a dead end so...


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

Look at it! The selection pulses! Empire's never looked so good!

There are some rough edges; the save games fail to load, demo 
isn't working, the text log isn't cleared correctly. But other 
than that you can happily play a game right through. I can't put 
the code anywhere because distribution is prohibited, so this is 
my last ditch effort to contact Walter.



-Bernard.


Re: libphobos.so libdruntime.so

2012-02-05 Thread Bernard Helyer
On Sunday, 5 February 2012 at 03:58:03 UTC, Steven Schveighoffer 
wrote:
Static linking has its advantages too, but as far as phobos and 
druntime  are concerned, dynamic linking would be way way better.


Bollocks. In the general case (which is silly to talk about, I'll 
admit) I'd take static linking every time. Sure, it increases the 
size of the executable, but if I'm distributing my app, I'm 
almost certainly distributing libphobos.so with it, so that's 
moot.


As has been said, Phobos/druntime changes often enough that 
relying on it being present on the users system is ridiculous.


This isn't to say being able to dynamically link Phobos and 
druntime is undesirable, it isn't. But even if it were an option, 
I would still statically link them to my apps.





Re: [OT] I ported Empire to D2 and made it cross platform.

2012-02-05 Thread Bernard Helyer

On Monday, 6 February 2012 at 04:33:56 UTC, Caligo wrote:
On Sun, Feb 5, 2012 at 8:44 PM, Bernard Helyer 
 wrote:
I've tried multiple times to contact Walter through his 
websites, but

apparently _that's_ a dead end so...

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

Look at it! The selection pulses! Empire's never looked so 
good!


There are some rough edges; the save games fail to load, demo 
isn't working,
the text log isn't cleared correctly. But other than that you 
can happily
play a game right through. I can't put the code anywhere 
because
distribution is prohibited, so this is my last ditch effort to 
contact

Walter.


-Bernard.


So I presume that you modified the source code slightly to make 
it

work?  Or is it a complete rewrite?


Yeah, it's a port of the D1 code with various things replaced as 
needed.





Re: [OT] I ported Empire to D2 and made it cross platform.

2012-02-06 Thread Bernard Helyer

On Monday, 6 February 2012 at 12:42:31 UTC, Stewart Gordon wrote:

On 06/02/2012 02:44, Bernard Helyer wrote:
I've tried multiple times to contact Walter through his 
websites, but apparently _that's_

a dead end so...

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

Look at it! The selection pulses! Empire's never looked so 
good!


And it has a retro look to it.

But why is the first option just an "A" by itself?


It pulses. It's just nearly transparent. :P



There are some rough edges; the save games fail to load, demo 
isn't working, the text log

isn't cleared correctly.


BTW which version did you start from?  In my version I 
completely rewrote the text display as what we had was geared 
towards a character-cell display, which was no good with it 
using a proportional font.  I think I found that some existing 
saved games wouldn't load, but there's no problem loading games 
that were saved with that same version.


I started with Walter's original 2.01 D release. The font I'm 
using is proportional, so I've not a problem there. Your version 
was also in D1, was it not? I think something subtle may have 
borked. I'm sure it's fixable if I sit down and fix it, but 
seeing as it's forbidden to languishing on my hard-drive, I'm not 
sure I give enough fucks to do that.




But other than that you can happily play a game right through. 
I
can't put the code anywhere because distribution is 
prohibited, so this is my last ditch

effort to contact Walter.


The version I've contributed I emailed to Walter and he 
eventually put it up on the website.  Is there any reason the 
same can't be done in this instance?


Up to Walter, obviously.



Re: [OT] I ported Empire to D2 and made it cross platform.

2012-02-06 Thread Bernard Helyer

On Monday, 6 February 2012 at 10:55:22 UTC, Mattbeui wrote:

The source code is open or you did reverse engineering?


On classicempire.com there's a version for windows written in an 
old version of D (old enough that it wouldn't even compile with a 
modern copy of DMD1). I took that code and ported it to D2 and a 
cross platform engine at the same time.


The source is _available_, however, not open. I can look at it 
and do the above, but I may not give anyone else my version.





Re: [OT] I ported Empire to D2 and made it cross platform.

2012-02-06 Thread Bernard Helyer

On Monday, 6 February 2012 at 18:04:24 UTC, Stewart Gordon wrote:

On 06/02/2012 13:48, Bernard Helyer wrote:

I started with Walter's original 2.01 D release. The font I'm 
using is proportional, so

I've not a problem there.


You mean "The font I'm using is fixed"?  You'd have to for it 
to make any sense.


Derp. Yeah.



But do look at the StatusPanel class in my version if you 
haven't already.  (You'll notice that it's a bit of a hack that 
works because the code treats strings passed into it as 
immutable, although immutable doesn't exist with it being D1.  
Of course, when porting to D2, they would be declared as such.


BTW I've attached my list of bugs I found and changes I made.  
Use it as a checklist if you like (and you find the inclination 
to carry on working on it).


Thanks!



Stewart.





Re: [OT] I ported Empire to D2 and made it cross platform.

2012-02-06 Thread Bernard Helyer

On Tuesday, 7 February 2012 at 06:18:24 UTC, Walter Bright wrote:

On 2/6/2012 4:42 AM, Stewart Gordon wrote:
The version I've contributed I emailed to Walter and he 
eventually put it up on
the website. Is there any reason the same can't be done in 
this instance?


Nope. Send it to me.


Awesome. Will do once I'm done.


Re: Why I don't want D to expand

2012-02-07 Thread Bernard Helyer
I understand you have daddy issues that come out when you drink, 
but can't you start a diary or something?




Re: Why I don't want D to expand

2012-02-08 Thread Bernard Helyer

On Wednesday, 8 February 2012 at 08:19:28 UTC, Bee wrote:

Bernard Helyer wrote:
I understand you have daddy issues that come out when you 
drink,

but can't you start a diary or something?


You are saying what, you lil prick?


I'm saying you get drunk and post random shit because your daddy 
didn't give you enough hugs. :P


Re: D-

2012-02-10 Thread Bernard Helyer

On Saturday, 11 February 2012 at 02:13:19 UTC, Tim Krimm wrote:
If you make a subset of D, it would most likely be named 
Mini-D. But at that point you've got an enhanced C without 
going C++.


Yes and that probably would be better than what I have now.

Going back and forth programming in C/C++ today,
and then switching back to D tomorrow.

Let me see if I remember again,
classes and structures are almost the same in C++
but different in D.

Well I did the assignment A=B, if I change A will it also 
change B,

or is B a copy of A.
Is A a class or a structure that is an important distinction in 
D.


Today, Oh crap I forgot the #include
Tomorrow, Oh crap I forgot the import

Oh crap what was that syntax for initializing the class 
variables again.


"I'm incompetent so I want to fork the language"



Re: Why I don't want D to expand

2012-02-12 Thread Bernard Helyer

On Sunday, 12 February 2012 at 06:38:25 UTC, Adam wrote:

Bernard Helyer wrote:

On Wednesday, 8 February 2012 at 08:19:28 UTC, Bee wrote:

Bernard Helyer wrote:

I understand you have daddy issues that come out when you
drink,
but can't you start a diary or something?


You are saying what, you lil prick?


I'm saying you get drunk and post random shit because your 
daddy

didn't give you enough hugs. :P


I get it now: you are "spilling". I can't help you with your 
dad crap. One must wonder about some president forcing his cum 
to become everyones topic of discussion. I don't think he is 
"the president", I think he is crime. You can call it 
"politician", but isn't that akin to "get out of jail free"? 
Next "president" puh leeze. If there is a war, and there is a 
president, shouldn't he and his ...  be the first 
ones dead?


I don't think anyone wants a war. I think a lot of people 
capitalize on the concept of "war", and they are bad in doing 
that, and I hate them.


Don't stop hating those that wrong you. Do hate those who do. 
Else you give the proverbial blank check to evil.


You dance so well. Keep dancing.



Re: Why I don't want D to expand

2012-02-12 Thread Bernard Helyer
On Sunday, 12 February 2012 at 14:31:44 UTC, Nick Sabalausky 
wrote:
"Bernard Helyer"  wrote in message 
news:gtnbsoxlyvmpbptup...@dfeed.kimsufi.thecybershadow.net...

On Sunday, 12 February 2012 at 06:38:25 UTC, Adam wrote:

Bernard Helyer wrote:

On Wednesday, 8 February 2012 at 08:19:28 UTC, Bee wrote:

Bernard Helyer wrote:

I understand you have daddy issues that come out when you
drink,
but can't you start a diary or something?


You are saying what, you lil prick?


I'm saying you get drunk and post random shit because your 
daddy

didn't give you enough hugs. :P


I get it now: you are "spilling". I can't help you with your 
dad crap. One must wonder about some president forcing his 
cum to become everyones topic of discussion. I don't think he 
is "the president", I think he is crime. You can call it 
"politician", but isn't that akin to "get out of jail free"? 
Next "president" puh leeze. If there is a war, and there is a 
president, shouldn't he and his ...  be the first 
ones dead?


I don't think anyone wants a war. I think a lot of people 
capitalize on the concept of "war", and they are bad in doing 
that, and I hate them.


Don't stop hating those that wrong you. Do hate those who do. 
Else you give the proverbial blank check to evil.


You dance so well. Keep dancing.



 ---
 | |
 |   Please|
 | don't feed  |
 | the trolls  |
 | |
 ---
|
|
|
|
//


But this one is such fun!



Re: newbie -- how to build module?

2012-02-13 Thread Bernard Helyer

On Monday, 13 February 2012 at 19:27:39 UTC, Walter Bright wrote:

On 2/13/2012 6:15 AM, Alf P. Steinbach wrote:

Are there group charters?


Not much beyond the descriptions here:

 http://digitalmars.com/NewsGroup.html

We're pretty informal.


I read that last word as 'normal' and was about to make an 
objection. :P




Re: VisualD Console WIndow Disappears

2012-02-15 Thread Bernard Helyer

On Wednesday, 15 February 2012 at 07:27:56 UTC, RedShift wrote:
So, I'm just starting to get into D, using the extension for VS 
called Visual D. Is there any way to stop the console from 
disappearing like in C++? Like C + F5 (which doesn't seem to 
work). Or like a getline?


Just pop a stdin.readln call at the bottom of your program?


Re: The Right Approach to Exceptions

2012-02-18 Thread Bernard Helyer
On Sunday, 19 February 2012 at 02:27:07 UTC, Andrei Alexandrescu 
wrote:

On 2/18/12 6:28 PM, Jonathan M Davis wrote:
On Saturday, February 18, 2012 17:53:52 Andrei Alexandrescu 
wrote:

On 2/18/12 5:47 PM, Jakob Ovrum wrote:

you are basically arguing against exceptions here


I must have argued my question and point very poorly.


You definitely seem to be arguing for a single Exception type


No.


Yes.

Bernard



(This game is fun!)




Re: empty arrays and cast(bool): WAT

2012-02-18 Thread Bernard Helyer

On Sunday, 19 February 2012 at 03:33:14 UTC, Timon Gehr wrote:

That would potentially break code.


It would also potentially fix code.


Well that's the stupidest thing I've read today. Can you point to 
people using it in the way that you expect? Besides which, that's 
just about the worst way to fix bugs in code is to change the 
language's behaviour.




Re: empty arrays and cast(bool): WAT

2012-02-18 Thread Bernard Helyer

On Sunday, 19 February 2012 at 04:01:45 UTC, Timon Gehr wrote:

On 02/19/2012 04:56 AM, Bernard Helyer wrote:

On Sunday, 19 February 2012 at 03:33:14 UTC, Timon Gehr wrote:

That would potentially break code.


It would also potentially fix code.


Well that's the stupidest thing I've read today. Can you point 
to people
using it in the way that you expect? Besides which, that's 
just about
the worst way to fix bugs in code is to change the language's 
behaviour.




I was not being entirely serious here... Do you have any 
opinion about the topic?


I think it's too late to change the behaviour, and it's not too 
terrible, even if un-ideal.




Re: std.collection lets rename it into std,ridiculous.

2012-02-19 Thread Bernard Helyer
Maybe when you learn to type like an adult people will listen to 
you?




Re: std.collection lets rename it into std,ridiculous.

2012-02-19 Thread Bernard Helyer

On Monday, 20 February 2012 at 00:29:20 UTC, bls wrote:

On 02/19/2012 04:05 PM, Bernard Helyer wrote:
Maybe when you learn to type like an adult people will listen 
to you?




Facts, that's what I am are talking about. If you don't like my 
speak ...sorry.
My point is that D2 needs asap a working container/collection 
lib
(and I think the "How to allocate/de-allocate" question becomes 
more and more ridiculous.  That Stuff is meanwhile library 
based.. Typedef f.i.)


So why not plug- in an allocator. ?


When you use words on the internet people judge you based on your 
words. There's more to proposals than technical merits, and if 
you don't understand that that's fine, but don't be surprised 
when people dismiss you quickly. People filter information 
because they have to -- they'll take any excuse to ignore you. 
Don't make it _easy_ for them.


Re: Safe navigation operator

2012-02-19 Thread Bernard Helyer
On Monday, 20 February 2012 at 00:55:15 UTC, Alex Rønne Petersen 
wrote:

Hi,

http://groovy.codehaus.org/Operators#Operators-SafeNavigationOperator

What do you folks think about this? Would it be useful to have 
in D? It would make navigating large object graphs with 
possible null values much easier.


The traditional counter point to this is that it encourages 
bad/lazy design. I don't really agree, but I don't ache for it 
either.


Re: Questions about windows support

2012-02-21 Thread Bernard Helyer

Nick replied to something about globbing
Having programs doing the globbing sounds great until you run 
into someone who doesn't play ball. *cough* every single digital 
mars utility *cough*. I think Windows and unix both get it wrong, 
but unix gets it less wrong (as it could theoretically be 
annoying, but in practice I just escape it and move on, but 
working around a non-globbing program is just annoying).


Wot I think should happen: the runtime (say libc) should handle 
globbing of arguments, and it should be enabled by default. So if 
someone wants an app that handles wildcards specially, they can 
do that, but for most apps it'll just work™. I don't think this 
really meshes with the traditional main signature of just passing 
the strings as arguments. Perhaps just a non_globbed_args 
function or something.


Bt things are pretty much set in stone at this point.


dmd -c behaviour doesn't take account of packages.

2012-02-22 Thread Bernard Helyer
A discussion on the Mono-D IRC channel just made me realise 
something.


dmd -c foo/a.d  bar/a.d

The second module overwrites the first. This makes using 'pass 
everything at once' with Mono-D (IDE plugin) 
difficult/impossible. As far as I'm concerned, it's just a bug 
that's never come up. The solution is trivial, of course. Prepend 
package names so you get foo_a.o and bar_a.o. Either that or 
allow specific output paths to be specified per-object. Or just 
produce one object file. Anything _but_ the current behaviour, in 
fact.


Re: dmd -c behaviour doesn't take account of packages.

2012-02-22 Thread Bernard Helyer
On Wednesday, 22 February 2012 at 22:05:51 UTC, Jonathan M Davis 
wrote:

Then what happens when you have

dmc -c foo/a.d foo_a.d



Good point.



Regardless, I really wouldn't like the idea of screwing with 
the object file

names to try and avoid collisions.


Well, the thing is in this case everything is being passed to the 
compiler. It knows the names of everything. But yeah, I think 
complaining is fine _if_ dmd allows individual modules to be 
named explicitly. Otherwise, all in one is good. But really, even 
prefixing it would be better than what we have now. What about 
'module.foo_a.o' if foo_a isn't in a package?


Re: dmd -c behaviour doesn't take account of packages.

2012-02-22 Thread Bernard Helyer
On Wednesday, 22 February 2012 at 22:44:15 UTC, Jonathan M Davis 
wrote:

On Wednesday, February 22, 2012 23:33:57 Bernard Helyer wrote:
On Wednesday, 22 February 2012 at 22:05:51 UTC, Jonathan M 
Davis


wrote:
> Then what happens when you have
> 
> dmc -c foo/a.d foo_a.d


Good point.

> Regardless, I really wouldn't like the idea of screwing with
> the object file
> names to try and avoid collisions.

Well, the thing is in this case everything is being passed to 
the

compiler. It knows the names of everything. But yeah, I think
complaining is fine _if_ dmd allows individual modules to be
named explicitly. Otherwise, all in one is good. But really, 
even

prefixing it would be better than what we have now. What about
'module.foo_a.o' if foo_a isn't in a package?


I really think that it should either put it in a single object 
file or complain
and disallow it. Really, the correct way to build such modules 
is to put each
object file in a directory hierarchy which matches the modules. 
Anything else

is a mess. But that's the job a build tool, not the compiler.


Except DMD is faster by a factor of 10 when passing it all at 
once.


Re: dmd -c behaviour doesn't take account of packages.

2012-02-23 Thread Bernard Helyer

On Thursday, 23 February 2012 at 21:28:17 UTC, H. S. Teoh wrote:

On Thu, Feb 23, 2012 at 01:42:44PM +0100, Jacob Carlborg wrote:

On 2012-02-23 00:03, Jonathan M Davis wrote:
>On Wednesday, February 22, 2012 23:50:53 Bernard Helyer wrote:
>>Except DMD is faster by a factor of 10 when passing it all 
>>at once.

>
>Then maybe there _should_ be a flag to tell it to 
>use/generate the
>appropriate directory structure. You already typically give 
>it an

>output directory. It wouldn't be all that hard for it to then
>generate and use the correct directories in that directory. 
>That
>still bugs me a little, because that's more of a build tool's 
>job,
>but it wouldn't be hard to do, would fix the file conflicts 
>across

>modules, and would let you keep that extra speed.
>
>- Jonathan M Davis

I don't see a point in putting the object files in different
directories when the compiler can output the object files with 
fully

qualified module names.

[...]

Because ambiguity can arise. Like

my/module/A.d -> my_module_A.o
my_module_A.d -> my_module_A.o (conflict)
my_module/A.d -> my_module_A.o (conflict)
my/module_A.d -> my_module_A.o (conflict)

Granted, this is a really contrived example, but unexpected 
coincidences

like that do happen.


T


Did you not read what Jacob posted?

my.module.A.o
my_module_A.o
my_module.A.o
my.module_A.o

No conflicts.




Re: dmd -c behaviour doesn't take account of packages.

2012-02-23 Thread Bernard Helyer

On Thursday, 23 February 2012 at 23:06:56 UTC, Bernard Helyer
wrote:

Did you not read what Jacob posted?

my.module.A.o
my_module_A.o
my_module.A.o
my.module_A.o

No conflicts.


Also, you can't have a package called module.


Can someone decipher this moon speak for me? (abi - calling conventions)

2012-02-29 Thread Bernard Helyer

http://dlang.org/abi.html

"The extern (C) and extern (D) calling convention matches the C 
calling convention used by the supported C compiler on the host 
system. Except that the extern (D) calling convention for Windows 
x86 is described here."


Was this written by someone slamming their face onto the keyboard 
repeatedly? Is the calling convention just C on non-windows 
platforms? What about AMD64? Why should I, as someone writing a D 
implementation, burn cycles on trying to decypher this madness? 
Didn't this section _used_ to make sense?


To summarise:





fucking what?









Re: Can someone decipher this moon speak for me? (abi - calling conventions)

2012-02-29 Thread Bernard Helyer

So as near as I can tell, it's trying to say

"On non-Windows platforms, both extern (C) and extern (D) match 
the calling convention of the platforms C compiler. On Windows,  
the extern (D) calling convention differs, and is documented 
below:"


Is this accurate?

If so, there's is no way I am wasting my time with the D calling 
convention. I'm not wrangling LLVM into producing DM OMF, so 
binary compatibility isn't going to happen anyway.


If not, then I have no idea.


Re: Can someone decipher this moon speak for me? (abi - calling conventions)

2012-02-29 Thread Bernard Helyer

On Thursday, 1 March 2012 at 06:07:40 UTC, Martin Nowak wrote:
For x86-32 dmd uses a fastcall, where EAX can contain a 
parameter, for Windows AND all other supported OSes.


._.;

Well, that's nice to know, thanks. Because we (SDC) use fastcall 
for D, just (we thought) as a temporary measure.


But seriously, I don't think one can gather that information even 
if they can recognise fastcall from the technical description.




Re: Poll of the week: main OS and compiler

2012-03-02 Thread Bernard Helyer

On Friday, 2 March 2012 at 11:53:56 UTC, Manu wrote:
Personally, I just want to be able to link like a normal 
windows developer.
My code is C/C++, built with VC, and I want to link my D app 
against those
libs using the VC linker, and debug with Visual Studio. This is 
the
workflow I think the vast majority of Windows devs will expect, 
and it
sounds simple enough. This is the only thing standing between 
me using D
for any major projects, and just experimenting with the 
language for

evaluation, or just academic interest.
64bit is far less important to me personally, VisualC linker 
compatibility
is the big one. I just want to link against my C code without 
jumping

through lots of hoops.


No one thinks that's a bad idea. The trouble is the amount of 
developers that actually understand the backend enough to 
implement another object format (which is what's needed to 
support the VisualC linker) is very small.


What's needed is someone to take the time to learn it then do it. 
Someone motivated, and smart. Not unlike yourself! :P




Re: Arbitrary abbreviations in phobos considered ridiculous

2012-03-07 Thread Bernard Helyer

On Wednesday, 7 March 2012 at 18:39:41 UTC, Nick Sabalausky wrote:

"Adam D. Ruppe"  wrote in message
news:sgmfyzmrfygshlmfq...@forum.dlang.org...

On Tuesday, 6 March 2012 at 20:20:47 UTC, Derek wrote:
Should we use American or English spelling? Color verses 
Colour, for example?


I can go either way. I lean toward English spelling
though, simply because America is the exceptional
country (in the world and on the newsgroup too) in
this regard.



British English may be the more "official" English, with 
American English as
a mere variation, but AIUI, the "de facto international 
language" is
American English, not British English, as a result of the US 
being a
long-time major economic superpower (for better or worse). 
England used to
be a major superpower, but that was centuries ago, and from 
what I can tell,
American English seems to be the preferred "de facto standard" 
English now.



But, either option is better than "Clr" or "Col".


"clr" is the verb "clear" and "col" is "column" :)


In my programs I use British English because that's what I use, 
and anything else looks 'wrong' to me. If the API is particularly 
public, I usually provide an alias. Then again, I'm just a 
colonial hick, so what would I know? :P


Re: Poll of the week: main OS and compiler

2012-03-08 Thread Bernard Helyer

On Thursday, 8 March 2012 at 09:25:19 UTC, Jonathan M Davis wrote:

On Thursday, March 08, 2012 09:45:34 David Nadlinger wrote:

On Saturday, 3 March 2012 at 11:44:54 UTC, Daniel Murphy wrote:
> Walter, how big is it really?  Small enough to be done as, 
> say,

> a gsoc
> project?  Would you be interested in mentoring such a 
> project?


I don't know whether it would really be a problem from a legal
(Google) point of view, but having a GSoC student work on
non-Open Source software seems strange at least.


I though that GSoC had a list of licenses which were acceptable 
for GSoC
projects - all of which are open source license of one variety 
or another.


- Jonathan M Davis


That's his point; the backend isn't open source.


Re: [OT] Smoking sections (Was: Arbitrary abbreviations in phobos considered ridiculous)

2012-03-08 Thread Bernard Helyer

On Friday, 9 March 2012 at 07:02:47 UTC, Jonathan M Davis wrote:

On Friday, March 09, 2012 01:45:13 Nick Sabalausky wrote:

"H. S. Teoh"  wrote in message
news:mailman.289.1331260526.4860.digitalmar...@puremagic.com...
[...]

> T

That's one great thing about Ohio: A few years back we had a 
state law
passed here (by public vote! I had been convinced it wouldn't 
pass)
prohibiting smoking in workplaces and public 
buildings/businesses. That
includes, of course, restaurants. No more smoking sections! I 
feel so
spoiled now when I travel to a state that still has public 
indoor smoking.

It's like stepping back into the stone age.


I'm from California, where it's been illegal to smoke in 
restaurants for 15+
years now, and it always shocks me to see a smoking section in 
restaurants in

other states. It's not something that I even think about.

- Jonathan M Davis


I smoke, but smoking inside is weird to me. I'll do it sometimes 
in my own home, but even then not usually.


Re: Changing the name of the language?

2012-03-15 Thread Bernard Helyer

On Friday, 16 March 2012 at 02:17:13 UTC, ixid wrote:
Do you think a minor renaming like using Dlang as the name 
consistently would be damaging?


Yes. Changing it now is an incredibly stupid idea.


Re: OpenBSD port of dmd?

2012-03-17 Thread Bernard Helyer

On Sunday, 18 March 2012 at 00:53:17 UTC, Walter Bright wrote:

On 3/17/2012 5:40 PM, Sean Kelly wrote:

In truth it would be

else version (Posix)

Anyway, which isn't the bare else Walter was advising against.


And is Posix really predictably compatible across diverse 
systems?


If you restrict yourself to the LCD stuff, yeah mostly. The 
trouble is you get various nicer ways of doing things that aren't 
(as) portable.


Re: virtual-by-default rant

2012-03-17 Thread Bernard Helyer

On Sunday, 18 March 2012 at 01:23:42 UTC, Manu wrote:
My minimum recommendation: D needs an explicit 'virtual' 
keyword, and to
fix that D1 bug, so putting final: at the top of your class 
works, and

everything from there works as it should.


Agreed. Final by default is a proposition long gone, but that 
seems reasonable.


Re: OpenBSD port of dmd?

2012-03-17 Thread Bernard Helyer

On Sunday, 18 March 2012 at 04:04:30 UTC, Sean Kelly wrote:
On Mar 17, 2012, at 6:00 PM, "Bernard Helyer" 
 wrote:



On Sunday, 18 March 2012 at 00:53:17 UTC, Walter Bright wrote:

On 3/17/2012 5:40 PM, Sean Kelly wrote:

In truth it would be

else version (Posix)

Anyway, which isn't the bare else Walter was advising 
against.


And is Posix really predictably compatible across diverse 
systems?


If you restrict yourself to the LCD stuff, yeah mostly. The 
trouble is you get various nicer ways of doing things that 
aren't (as) portable.


For what it's worth, core.sys.posix is based on the OpenGroup 
spec. I suppose that's the LCD.


Yeah, I've not had problems with the OG stuff.



  1   2   3   >