Re: Raw binary(to work without OS) in D

2014-02-15 Thread Nick Sabalausky

On 6/22/2012 11:21 AM, Mehrdad wrote:

On Friday, 22 June 2012 at 15:12:13 UTC, Timon Gehr wrote:

Isn't the quote

If you can't figure it out on your own, chances are you won't be able to

do what you wanted in the first place
just saying I'm too stupid for this to help me anyway?


No, that quote is merely pointing out, for cautionary purposes, that the 
task you're ultimately trying to do is typically either equally 
difficult, or more difficult, than this first step you're currently on. 
If I'm reading correctly, he simply doesn't want you to end up being 
unpleasantly surprised by what you may face once you do reach that point.


But explaining it that way is verbose and difficult (I spent entirely 
too long figuring out how to word it - and I'm a native speaker), so he 
wrote it in a more straightforward way: As an A implies B relation, ie 
an rather frank and blunt if...then.


(AIUI, anyway)

Slight soapbox, not directed at anyone in particular:

Emotion tends to severely complicate communication, so for technical 
things (which tend to *already* be difficult to communicate), a person 
speaking/writing will frequently need to disregard emotion-related 
concerns in their choice of wording. Therefore, when reading/listening, 
it's best to Be like Spock, not Bones and always assume anything that 
*can* be interpreted unemotionally or benign was *intended* to be 
unemotional and benign, regardless of whether or not that might be a 
false assumption.


Granted, as a reader/listener, there have been plenty of times I've 
colossally failed to follow that guideline, so I'm certainly not immune 
from such failings myself. But it's a working theory I've formulated 
after being in (and near) a few too many flamewars, and FWIW I think 
it's fairly sound.




Re: Raw binary(to work without OS) in D

2014-02-13 Thread AlexPhoenix

On Tuesday, 11 February 2014 at 18:09:56 UTC, Adam D. Ruppe wrote:

On Tuesday, 11 February 2014 at 11:53:48 UTC, AlexPhoenix wrote:
by the way, with which args i must run D to generate raw 
binary?


This is more of a linker question than a compiler one...

check out the makefile.bare in here
http://arsdnet.net/dcode/minimal.zip

It makes a raw binary that can be loaded by GRUB


I found trouble.
I trying to do the same
with: dmd -m32 -debug -c ITextScreen.d -gc -defaultlib= 
-debuglib= -version=bare_metal -debug=allocations
and the then i trying to link with ld(also try with objcopy and 
gcc) from MinGW, and have

ITextScreen.obj: file not recognized: File format not recognized

what i do wrong?


Re: Raw binary(to work without OS) in D

2014-02-11 Thread AlexPhoenix

On Thursday, 21 June 2012 at 16:39:07 UTC, Alex wrote:

is it possible to use D to write code to work without OS?
like i do it with gcc.


by the way, with which args i must run D to generate raw binary?


Re: Raw binary(to work without OS) in D

2014-02-11 Thread Adam D. Ruppe

On Tuesday, 11 February 2014 at 11:53:48 UTC, AlexPhoenix wrote:

by the way, with which args i must run D to generate raw binary?


This is more of a linker question than a compiler one...

check out the makefile.bare in here
http://arsdnet.net/dcode/minimal.zip

It makes a raw binary that can be loaded by GRUB


Re: Raw binary(to work without OS) in D

2012-07-02 Thread Don Clugston

On 28/06/12 18:37, David Nadlinger wrote:

On Thursday, 28 June 2012 at 15:28:10 UTC, Don Clugston wrote:

There's an oddity, though: the type of X.significand would be
dependent on the type of X […]


I don't think this is a problem at all – for example, the type of T.init
depends on T as well…

David


Good point.


Re: Raw binary(to work without OS) in D

2012-07-02 Thread Don Clugston

On 28/06/12 18:36, Jens Mueller wrote:

Don Clugston wrote:

On 28/06/12 17:00, Jens Mueller wrote:

Andrei Alexandrescu wrote:

On 6/28/12 10:07 AM, Roman D. Boiko wrote:

On Thursday, 28 June 2012 at 14:04:37 UTC, Mehrdad wrote:

I think just exposing them via .sig and .exp might be the way to go?


sig is easy to confuse with sign


.mantissa and .exp


Letting the compiler define these properties is a solution. I thought
Don is looking for something more general. But maybe this isn't needed
here. Don't know. But using mantissa should be discouraged.
I suggest calling them
.significand and .exponent

significand is preferred over mantissa by IEEE FP committee. I think
it's fine to spell them out. There won't be much code using them anyway.

Jens



Yes, adding new properties would be the easiest way from a CTFE
perspective; that way, they are endian-ness independent. It's a bit
niche, but then again adding a special case for this in CTFE is
niche as well. Maybe it would be the best approach.


Sounds good then.


With naming, I'm included to agree, but the funny thing is that we
have X.mant_dig as the number of digits in the significand.


You could add a deprecated alias to X.mant_dig and provide a new name.
We should adopt IEEE's vocabulary where possible.


There's an oddity, though: the type of X.significand would be
dependent on the type of X (and for the non-existent quadruple
float, it would be non-existent ucent type!)


But this is no problem, is it?


Would it include the implicit bit of an 80-bit x87 real (the silly bit)?


Not sure what the silly bit is. You mean the bit that is implicitly
always 1, don't you? mant_dig says 24 for a float. Means it is included
when counting the bits. Then for consistency it should be included.


Yes, the implicit bit. For float and double it isn't present, but it's 
there for 80bit x87 and 68K reals.
But it would not be present for quadruple types. I'm not sure if it's 
always present on Itanium 80-bit reals.


It's included in the 80-bit reals only for historical reasons -- it 
seemed like a good idea at the time. It allowed an optimisation for a 
long-obsolete algorithm.


Re: Raw binary(to work without OS) in D

2012-06-29 Thread Iain Buclaw
On 28 June 2012 18:02, Sean Kelly s...@invisibleduck.org wrote:
 On Jun 28, 2012, at 9:45 AM, Iain Buclaw wrote:

 Wouldn't it be useful if the compiler had diagnostics for all implicit
 allocations it makes (ie: closures, array literals)?  Similar to that
 of the -vtls switch. These such things you may want to avoid in a
 freestanding environment (no link to C runtime).

 Yes it would.  I guess the question is how to expose this.  Generally 
 speaking though, array append type operations allocate, AA insertions 
 allocate, and non-scope delegate use allocates.  I think that's it.

From a user perspective?  A switch that has a less ugly than
-vimplicit_library_calls.  Which spurts out messages like:

Function %s builds a closure, func

or

Expression %s makes implicit allocation call to %s, expr, func


-- 
Iain Buclaw

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


Re: Raw binary(to work without OS) in D

2012-06-29 Thread bearophile

Iain Buclaw:


From a user perspective?  A switch that has a less ugly than

-vimplicit_library_calls.  Which spurts out messages like:

Function %s builds a closure, func


http://d.puremagic.com/issues/show_bug.cgi?id=5070

Bye,
bearophile


Re: Raw binary(to work without OS) in D

2012-06-29 Thread Paul D. Anderson

On Thursday, 28 June 2012 at 16:50:59 UTC, David Nadlinger wrote:
On Thursday, 28 June 2012 at 14:35:24 UTC, Andrei Alexandrescu 
wrote:

On 6/28/12 10:07 AM, Roman D. Boiko wrote:

On Thursday, 28 June 2012 at 14:04:37 UTC, Mehrdad wrote:
I think just exposing them via .sig and .exp might be the 
way to go?


sig is easy to confuse with sign


.mantissa and .exp


.exp might potentially lead to confusion regarding std.math.exp 
with UFCS in place. Not that this would be a huge deal, but 
since new property would be used only very rarely anyway, I 
don't think going for a longer name like .exponent or even 
rawExponent/exponentBits/… would be a problem.


David


In my BigDecimal/BigFloat modules I use .coefficient and 
.exponent externally but .mant and .expo internally. It would be 
nice to be consistent -- I can adapt to whatever is best.


Paul




Re: Raw binary(to work without OS) in D

2012-06-29 Thread Paul D. Anderson

On Thursday, 28 June 2012 at 16:50:59 UTC, David Nadlinger wrote:
On Thursday, 28 June 2012 at 14:35:24 UTC, Andrei Alexandrescu 
wrote:

On 6/28/12 10:07 AM, Roman D. Boiko wrote:

On Thursday, 28 June 2012 at 14:04:37 UTC, Mehrdad wrote:
I think just exposing them via .sig and .exp might be the 
way to go?


sig is easy to confuse with sign


.mantissa and .exp


.exp might potentially lead to confusion regarding std.math.exp 
with UFCS in place. Not that this would be a huge deal, but 
since new property would be used only very rarely anyway, I 
don't think going for a longer name like .exponent or even 
rawExponent/exponentBits/… would be a problem.


David


How about .mant and .expo?

That's what I'm using in the BigDecimal/BigFloat modules as 
private names. The property names are .coefficient and .exponent.




Re: Raw binary(to work without OS) in D

2012-06-28 Thread Jens Mueller
Andrei Alexandrescu wrote:
 On 6/22/12 7:41 AM, Don Clugston wrote:
 I think the main thing that's still done in C is the floating point
 formatting.
 
 Would be great if a contributor could translate FP parsing and
 formatting code into D. Then we can use it in CTFE. I need it badly
 for some function tabulation code.

I think formatting cannot be done such that it is CTFE-able. I tried
implementing a less-inefficient version. As far as I can tell at some
point you need to extract the significand and the exponent. This is done
by some unsafe cast which is not allowed in CTFE. I don't know a way
to do it in CTFE-compatible way.

Jens


Re: Raw binary(to work without OS) in D

2012-06-28 Thread bearophile

Paulo Pinto:


as Metro is also native code.


Are you sure? Do you have a reference on this?

Bye,
bearophile


Re: Raw binary(to work without OS) in D

2012-06-28 Thread Don Clugston

On 28/06/12 15:31, Jens Mueller wrote:

Andrei Alexandrescu wrote:

On 6/22/12 7:41 AM, Don Clugston wrote:

I think the main thing that's still done in C is the floating point
formatting.


Would be great if a contributor could translate FP parsing and
formatting code into D. Then we can use it in CTFE. I need it badly
for some function tabulation code.


I think formatting cannot be done such that it is CTFE-able. I tried
implementing a less-inefficient version. As far as I can tell at some
point you need to extract the significand and the exponent. This is done
by some unsafe cast which is not allowed in CTFE. I don't know a way
to do it in CTFE-compatible way.

Jens


Yeah, I think I will have to find a way of allowing it. But it's 
difficult to see a clean way of doing it.


Re: Raw binary(to work without OS) in D

2012-06-28 Thread Jens Mueller
Don Clugston wrote:
 On 28/06/12 15:31, Jens Mueller wrote:
 Andrei Alexandrescu wrote:
 On 6/22/12 7:41 AM, Don Clugston wrote:
 I think the main thing that's still done in C is the floating point
 formatting.
 
 Would be great if a contributor could translate FP parsing and
 formatting code into D. Then we can use it in CTFE. I need it badly
 for some function tabulation code.
 
 I think formatting cannot be done such that it is CTFE-able. I tried
 implementing a less-inefficient version. As far as I can tell at some
 point you need to extract the significand and the exponent. This is done
 by some unsafe cast which is not allowed in CTFE. I don't know a way
 to do it in CTFE-compatible way.
 
 Jens
 
 Yeah, I think I will have to find a way of allowing it. But it's
 difficult to see a clean way of doing it.

Good luck! I'm looking forward to your solution.

Jens


Re: Raw binary(to work without OS) in D

2012-06-28 Thread Mehrdad

On Thursday, 28 June 2012 at 14:02:37 UTC, Jens Mueller wrote:

Good luck! I'm looking forward to your solution.

Jens


I think just exposing them via .sig and .exp might be the way to 
go?


Re: Raw binary(to work without OS) in D

2012-06-28 Thread Roman D. Boiko

On Thursday, 28 June 2012 at 14:04:37 UTC, Mehrdad wrote:
I think just exposing them via .sig and .exp might be the way 
to go?


sig is easy to confuse with sign


Re: Raw binary(to work without OS) in D

2012-06-28 Thread Andrei Alexandrescu

On 6/28/12 10:07 AM, Roman D. Boiko wrote:

On Thursday, 28 June 2012 at 14:04:37 UTC, Mehrdad wrote:

I think just exposing them via .sig and .exp might be the way to go?


sig is easy to confuse with sign


.mantissa and .exp

Andrei


Re: Raw binary(to work without OS) in D

2012-06-28 Thread Timon Gehr

On 06/28/2012 04:35 PM, Andrei Alexandrescu wrote:

On 6/28/12 10:07 AM, Roman D. Boiko wrote:

On Thursday, 28 June 2012 at 14:04:37 UTC, Mehrdad wrote:

I think just exposing them via .sig and .exp might be the way to go?


sig is easy to confuse with sign


.mantissa and .exp

Andrei


Imho, it should be either

.mantissa and .exponent

or

.mant and .exp


Re: Raw binary(to work without OS) in D

2012-06-28 Thread Jens Mueller
Andrei Alexandrescu wrote:
 On 6/28/12 10:07 AM, Roman D. Boiko wrote:
 On Thursday, 28 June 2012 at 14:04:37 UTC, Mehrdad wrote:
 I think just exposing them via .sig and .exp might be the way to go?
 
 sig is easy to confuse with sign
 
 .mantissa and .exp

Letting the compiler define these properties is a solution. I thought
Don is looking for something more general. But maybe this isn't needed
here. Don't know. But using mantissa should be discouraged.
I suggest calling them
.significand and .exponent

significand is preferred over mantissa by IEEE FP committee. I think
it's fine to spell them out. There won't be much code using them anyway.

Jens


Re: Raw binary(to work without OS) in D

2012-06-28 Thread Don Clugston

On 28/06/12 17:00, Jens Mueller wrote:

Andrei Alexandrescu wrote:

On 6/28/12 10:07 AM, Roman D. Boiko wrote:

On Thursday, 28 June 2012 at 14:04:37 UTC, Mehrdad wrote:

I think just exposing them via .sig and .exp might be the way to go?


sig is easy to confuse with sign


.mantissa and .exp


Letting the compiler define these properties is a solution. I thought
Don is looking for something more general. But maybe this isn't needed
here. Don't know. But using mantissa should be discouraged.
I suggest calling them
.significand and .exponent

significand is preferred over mantissa by IEEE FP committee. I think
it's fine to spell them out. There won't be much code using them anyway.

Jens



Yes, adding new properties would be the easiest way from a CTFE 
perspective; that way, they are endian-ness independent. It's a bit 
niche, but then again adding a special case for this in CTFE is niche as 
well. Maybe it would be the best approach.


With naming, I'm included to agree, but the funny thing is that we have 
X.mant_dig as the number of digits in the significand.


There's an oddity, though: the type of X.significand would be dependent 
on the type of X (and for the non-existent quadruple float, it would be 
non-existent ucent type!)

Would it include the implicit bit of an 80-bit x87 real (the silly bit)?



Re: Raw binary(to work without OS) in D

2012-06-28 Thread bearophile

Don Clugston:

There's an oddity, though: the type of X.significand would be 
dependent on the type of X (and for the non-existent quadruple 
float, it would be non-existent ucent type!)


But ucents are in D specs and I think their name is already 
somewhere in the compiler. While quadruple (or qfloat) is not 
yet in D specs:


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

Bye,
bearophile


Re: Raw binary(to work without OS) in D

2012-06-28 Thread Jens Mueller
Don Clugston wrote:
 On 28/06/12 17:00, Jens Mueller wrote:
 Andrei Alexandrescu wrote:
 On 6/28/12 10:07 AM, Roman D. Boiko wrote:
 On Thursday, 28 June 2012 at 14:04:37 UTC, Mehrdad wrote:
 I think just exposing them via .sig and .exp might be the way to go?
 
 sig is easy to confuse with sign
 
 .mantissa and .exp
 
 Letting the compiler define these properties is a solution. I thought
 Don is looking for something more general. But maybe this isn't needed
 here. Don't know. But using mantissa should be discouraged.
 I suggest calling them
 .significand and .exponent
 
 significand is preferred over mantissa by IEEE FP committee. I think
 it's fine to spell them out. There won't be much code using them anyway.
 
 Jens
 
 
 Yes, adding new properties would be the easiest way from a CTFE
 perspective; that way, they are endian-ness independent. It's a bit
 niche, but then again adding a special case for this in CTFE is
 niche as well. Maybe it would be the best approach.

Sounds good then.

 With naming, I'm included to agree, but the funny thing is that we
 have X.mant_dig as the number of digits in the significand.

You could add a deprecated alias to X.mant_dig and provide a new name.
We should adopt IEEE's vocabulary where possible.

 There's an oddity, though: the type of X.significand would be
 dependent on the type of X (and for the non-existent quadruple
 float, it would be non-existent ucent type!)

But this is no problem, is it?

 Would it include the implicit bit of an 80-bit x87 real (the silly bit)?

Not sure what the silly bit is. You mean the bit that is implicitly
always 1, don't you? mant_dig says 24 for a float. Means it is included
when counting the bits. Then for consistency it should be included.

Jens


Re: Raw binary(to work without OS) in D

2012-06-28 Thread David Nadlinger

On Thursday, 28 June 2012 at 15:28:10 UTC, Don Clugston wrote:
There's an oddity, though: the type of X.significand would be 
dependent on the type of X […]


I don't think this is a problem at all – for example, the type 
of T.init depends on T as well…


David


Re: Raw binary(to work without OS) in D

2012-06-28 Thread Iain Buclaw
On 22 June 2012 07:35, Walter Bright newshou...@digitalmars.com wrote:
 On 6/21/2012 11:07 PM, Mehrdad wrote:

 On Thursday, 21 June 2012 at 19:44:40 UTC, Walter Bright wrote:

 On 6/21/2012 9:39 AM, Alex wrote:

 is it possible to use D to write code to work without OS?
 like i do it with gcc.


 Sure. But you'll need to thoroughly understand how the D runtime startup
 code
 works, so you can adjust as necessary.


 Good luck getting the C-runtime part of the D runtime right..


 It's not that hard. But there's a lot of detail to learn  take care of.


Wouldn't it be useful if the compiler had diagnostics for all implicit
allocations it makes (ie: closures, array literals)?  Similar to that
of the -vtls switch. These such things you may want to avoid in a
freestanding environment (no link to C runtime).

-- 
Iain Buclaw

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


Re: Raw binary(to work without OS) in D

2012-06-28 Thread David Nadlinger
On Thursday, 28 June 2012 at 14:35:24 UTC, Andrei Alexandrescu 
wrote:

On 6/28/12 10:07 AM, Roman D. Boiko wrote:

On Thursday, 28 June 2012 at 14:04:37 UTC, Mehrdad wrote:
I think just exposing them via .sig and .exp might be the way 
to go?


sig is easy to confuse with sign


.mantissa and .exp


.exp might potentially lead to confusion regarding std.math.exp 
with UFCS in place. Not that this would be a huge deal, but since 
new property would be used only very rarely anyway, I don't think 
going for a longer name like .exponent or even 
rawExponent/exponentBits/… would be a problem.


David


Re: Raw binary(to work without OS) in D

2012-06-28 Thread Paulo Pinto

On Thursday, 28 June 2012 at 13:39:54 UTC, bearophile wrote:

Paulo Pinto:


as Metro is also native code.


Are you sure? Do you have a reference on this?

Bye,
bearophile


The huge amount of documentation made available at BUILD time, 
plus Windows 8 to play with?


WinRT (aka Metro) is COM based.

Instead of me dumping a list of links, what you want to know 
exactly?


--
Paulo


Re: Raw binary(to work without OS) in D

2012-06-28 Thread Sean Kelly
On Jun 28, 2012, at 9:45 AM, Iain Buclaw wrote:
 
 Wouldn't it be useful if the compiler had diagnostics for all implicit
 allocations it makes (ie: closures, array literals)?  Similar to that
 of the -vtls switch. These such things you may want to avoid in a
 freestanding environment (no link to C runtime).

Yes it would.  I guess the question is how to expose this.  Generally speaking 
though, array append type operations allocate, AA insertions allocate, and 
non-scope delegate use allocates.  I think that's it.

Re: Raw binary(to work without OS) in D

2012-06-28 Thread bearophile

Paulo Pinto:

The huge amount of documentation made available at BUILD time, 
plus Windows 8 to play with?


WinRT (aka Metro) is COM based.

Instead of me dumping a list of links, what you want to know 
exactly?


OK. No need for a list.

Bye,
bearophile


Re: Raw binary(to work without OS) in D

2012-06-27 Thread Andrei Alexandrescu

On 6/22/12 7:41 AM, Don Clugston wrote:

I think the main thing that's still done in C is the floating point
formatting.


Would be great if a contributor could translate FP parsing and 
formatting code into D. Then we can use it in CTFE. I need it badly for 
some function tabulation code.


Andrei


Re: Raw binary(to work without OS) in D

2012-06-27 Thread David Nadlinger
On Wednesday, 27 June 2012 at 12:15:37 UTC, Andrei Alexandrescu 
wrote:

On 6/22/12 7:41 AM, Don Clugston wrote:
I think the main thing that's still done in C is the floating 
point

formatting.


Would be great if a contributor could translate FP parsing and 
formatting code into D. Then we can use it in CTFE. I need it 
badly for some function tabulation code.


Same here; I need it for a side-feature in Thrift (exporting IDL 
for existing types at a compile time), where I'm currently just 
using a horrible hack which rounds slightly wrong.


There a quite a few papers about efficient floating point 
formatting out there, and it should not be hard to convert one of 
the described algorithms into actual code. I originally planned 
to do it myself last summer, but never found the time to…


David


Re: Raw binary(to work without OS) in D

2012-06-27 Thread dennis luehring

Am 27.06.2012 14:15, schrieb Andrei Alexandrescu:

On 6/22/12 7:41 AM, Don Clugston wrote:

I think the main thing that's still done in C is the floating point
formatting.


Would be great if a contributor could translate FP parsing and
formatting code into D. Then we can use it in CTFE. I need it badly for
some function tabulation code.

Andrei



can someone name these functions - or a list of them, are these standard 
c stuff or specials?





Re: Raw binary(to work without OS) in D

2012-06-22 Thread Mehrdad

On Thursday, 21 June 2012 at 19:44:40 UTC, Walter Bright wrote:

On 6/21/2012 9:39 AM, Alex wrote:

is it possible to use D to write code to work without OS?
like i do it with gcc.


Sure. But you'll need to thoroughly understand how the D 
runtime startup code works, so you can adjust as necessary.


Good luck getting the C-runtime part of the D runtime right..


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Walter Bright

On 6/21/2012 11:07 PM, Mehrdad wrote:

On Thursday, 21 June 2012 at 19:44:40 UTC, Walter Bright wrote:

On 6/21/2012 9:39 AM, Alex wrote:

is it possible to use D to write code to work without OS?
like i do it with gcc.


Sure. But you'll need to thoroughly understand how the D runtime startup code
works, so you can adjust as necessary.


Good luck getting the C-runtime part of the D runtime right..


It's not that hard. But there's a lot of detail to learn  take care of.



Re: Raw binary(to work without OS) in D

2012-06-22 Thread Mehrdad

On Friday, 22 June 2012 at 06:35:41 UTC, Walter Bright wrote:

On 6/21/2012 11:07 PM, Mehrdad wrote:

Good luck getting the C-runtime part of the D runtime right..


It's not that hard. But there's a lot of detail to learn  take 
care of.



Where do you find the detail?


(Remember this, below?)

http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.comgroup=digitalmars.Dartnum=155617


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Paulo Pinto

On Friday, 22 June 2012 at 06:07:59 UTC, Mehrdad wrote:

On Thursday, 21 June 2012 at 19:44:40 UTC, Walter Bright wrote:

On 6/21/2012 9:39 AM, Alex wrote:

is it possible to use D to write code to work without OS?
like i do it with gcc.


Sure. But you'll need to thoroughly understand how the D 
runtime startup code works, so you can adjust as necessary.


Good luck getting the C-runtime part of the D runtime right..


I don't really know the runtime code of the generated binary 
code, but this is no different than other high level languages 
used for OS development, like Modula-3 or Oberon.


The C runtime just needs to be replaced by an Assembly runtime 
that provides the ground work for the language runtime at the OS 
level.


The way this is done on Oberon's case is well documented.

After all the reason why C has so tiny runtime, is that in C the 
OS is the language runtime.


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Dmitry Olshansky

On 22-Jun-12 10:49, Mehrdad wrote:

On Friday, 22 June 2012 at 06:35:41 UTC, Walter Bright wrote:

On 6/21/2012 11:07 PM, Mehrdad wrote:

Good luck getting the C-runtime part of the D runtime right..


It's not that hard. But there's a lot of detail to learn  take care of.



Where do you find the detail?


(Remember this, below?)



Just replace all of symbols with abort stubs. Then implement the ones 
you happen to actually need.



http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.comgroup=digitalmars.Dartnum=155617




--
Dmitry Olshansky




Re: Raw binary(to work without OS) in D

2012-06-22 Thread Mehrdad

On Friday, 22 June 2012 at 08:00:08 UTC, Dmitry Olshansky wrote:

Then implement the ones you happen to actually need.



Er, the question isn't WHAT to do, it's HOW.

If you have any idea how to implement things like TLS, SEH, and 
the like, then PLEASE, share them!


The point I was trying to make was, though, that this information 
is not being shared with anyone.


Which leads me to believe that whoever has this information 
doesn't want people to use it for D development...


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Dmitry Olshansky

On 22-Jun-12 12:08, Mehrdad wrote:

On Friday, 22 June 2012 at 08:00:08 UTC, Dmitry Olshansky wrote:

Then implement the ones you happen to actually need.



Er, the question isn't WHAT to do, it's HOW.

If you have any idea how to implement things like TLS, SEH, and the
like, then PLEASE, share them!

Look at say Win32 API. There is a way to reroute most of things you 
listed directly to it. I actually do this kind of stuff in my spare 
time. Of course your own kernel has some manner of system calls too.



The point I was trying to make was, though, that this information is not
being shared with anyone.

If you can't figure it out on your own, chances are you won't be able to 
do what you wanted in the first place (e.g. real-time micro-kernel).
I mean it's nothing magical, all of these things are present in say MS C 
compiler and people do these things with it just _fine_.



Which leads me to believe that whoever has this information doesn't want
people to use it for D development...


Yeah, I understand how it could be frustrating, but once you are on this 
kind of level you usually already running circles around all of this stuff.

That being said the info won't hurt of course.


--
Dmitry Olshansky




Re: Raw binary(to work without OS) in D

2012-06-22 Thread Walter Bright

On 6/21/2012 11:49 PM, Mehrdad wrote:

On Friday, 22 June 2012 at 06:35:41 UTC, Walter Bright wrote:

On 6/21/2012 11:07 PM, Mehrdad wrote:

Good luck getting the C-runtime part of the D runtime right..


It's not that hard. But there's a lot of detail to learn  take care of.



Where do you find the detail?


One way is to get the library source code for the C compiler and study it.


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Don Clugston

On 22/06/12 10:08, Mehrdad wrote:

On Friday, 22 June 2012 at 08:00:08 UTC, Dmitry Olshansky wrote:

Then implement the ones you happen to actually need.



Er, the question isn't WHAT to do, it's HOW.

If you have any idea how to implement things like TLS, SEH, and the
like, then PLEASE, share them!


On Windows, all of the SEH code is in D. The C library isn't used any more.

I think the main thing that's still done in C is the floating point 
formatting.



The point I was trying to make was, though, that this information is not
being shared with anyone.

Which leads me to believe that whoever has this information doesn't want
people to use it for D development...




Re: Raw binary(to work without OS) in D

2012-06-22 Thread Mehrdad

On Friday, 22 June 2012 at 09:50:54 UTC, Walter Bright wrote:

On 6/21/2012 11:49 PM, Mehrdad wrote:

On Friday, 22 June 2012 at 06:35:41 UTC, Walter Bright wrote:

On 6/21/2012 11:07 PM, Mehrdad wrote:
Good luck getting the C-runtime part of the D runtime 
right..


It's not that hard. But there's a lot of detail to learn  
take care of.



Where do you find the detail?


One way is to get the library source code for the C compiler 
and study it.



By get you mean buy, right?

I find that to be against D's (supposedly) open-source nature...


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Mehrdad

On Friday, 22 June 2012 at 08:35:51 UTC, Dmitry Olshansky wrote:
Look at say Win32 API. There is a way to reroute most of things 
you listed directly to it. I actually do this kind of stuff in 
my spare time. Of course your own kernel has some manner of 
system calls too.


I'm talking about things like PE file sections used to support 
TLS and whatnot.


They're unrelated to the Windows API.



If you can't figure it out on your own, chances are you won't 
be able to do what you wanted in the first place (e.g. 
real-time micro-kernel).



You're not being helpful.


I mean it's nothing magical, all of these things are present in 
say MS C compiler and people do these things with it just 
_fine_.


Uh, no. D puts extra crap in the binary.


Yeah, I understand how it could be frustrating, but once you 
are on this kind of level you usually already running circles 
around all of this stuff.

That being said the info won't hurt of course.



I guess I'm not at your majesty's High Level yet? Thanks for 
being so helpful.


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Dmitry Olshansky

On 22-Jun-12 18:17, Mehrdad wrote:

You're not being helpful.


While I usually try to help people where I can do so
I didn't intend to _help_ you with this post in any capacity.
Aside from
Just replace all of symbols with abort stubs. Then implement the ones 
you happen to actually need.

but you are (probably) way ahead of this advice.




I mean it's nothing magical, all of these things are present in say MS
C compiler and people do these things with it just _fine_.


Uh, no. D puts extra crap in the binary.


Like what? I'm aware only of some fancy _beg/_end sections and a bunch 
of stuff from DMC runtime, mostly FP math things.





Yeah, I understand how it could be frustrating, but once you are on
this kind of level you usually already running circles around all of
this stuff.
That being said the info won't hurt of course.



I guess I'm not at your majesty's High Level yet? Thanks for being so
helpful.
No problem. I meant actually low level. Like down to hardware/OS so 
it's rather the opposite ;)
It's not like I've asserted yours or mine levels at anything in 
particular at all.
(that 'you' in my paragraph above should have probably been 'one' i.e. 
'once one on this kind of level...')



--
Dmitry Olshansky




Re: Raw binary(to work without OS) in D

2012-06-22 Thread Mehrdad

On Friday, 22 June 2012 at 11:41:26 UTC, Don Clugston wrote:
On Windows, all of the SEH code is in D. The C library isn't 
used any more.



That's certainly changed a lot since the last time I looked, so 
that's good.



But lots of other parts about D (TLS, GC, etc.) still have that 
problem though.
I was never able to get the __xi_a, __xi_z, etc. stuff correct, 
and I've spent a heck of a lot of time on it.


The way I'm understanding it is that the message is essentially 
If you want to develop your own systems with our systems 
programming language, then you gotta buy it, sorry. Batteries not 
included.


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Mehrdad

On Friday, 22 June 2012 at 14:40:42 UTC, Dmitry Olshansky wrote:
I guess I'm not at your majesty's High Level yet? Thanks for 
being so

helpful.

No problem.


Someone can't recognize sarcasm...


I meant actually low level. Like down to hardware/OS so it's 
rather the opposite ;)
It's not like I've asserted yours or mine levels at anything in 
particular at all.



Allow me to translate?

Geez, I guess you're just an idiot for needing so much spoon-fed 
to you.

I can land people on the moon without anyone ever telling me how.

Not that I never insulted you at anything in particular.




(that 'you' in my paragraph above should have probably been 
'one' i.e. 'once one on this kind of level...')



Oh, so now you're insulting /everyone/ like me, instead of just 
me!

That obviously makes the situation better.



Are you serious? So you're going to tell people they're just too 
stupid for the task if they can't figure something out by 
themselves?


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Timon Gehr

On 06/22/2012 04:58 PM, Mehrdad wrote:

On Friday, 22 June 2012 at 14:40:42 UTC, Dmitry Olshansky wrote:

I guess I'm not at your majesty's High Level yet? Thanks for being so
helpful.

No problem.


Someone can't recognize sarcasm...



I meant actually low level. Like down to hardware/OS so it's rather
the opposite ;)
It's not like I've asserted yours or mine levels at anything in
particular at all.



Allow me to translate?

Geez, I guess you're just an idiot for needing so much spoon-fed to you.
I can land people on the moon without anyone ever telling me how.

Not that I never insulted you at anything in particular.





(that 'you' in my paragraph above should have probably been 'one' i.e.
'once one on this kind of level...')



Oh, so now you're insulting /everyone/ like me, instead of just me!
That obviously makes the situation better.



Are you serious? So you're going to tell people they're just too stupid
for the task if they can't figure something out by themselves?


Note that this kind of melodramatism is not helping your case.
Getting insulted and shooting in all directions is genuinely stupid
behaviour and wastes everyone's time.

You have to realize that some of your comments have been rather
impolite lately. Why do you assume that everyone else cares a lot more
about how some random comment might be conceived?


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Mehrdad

On Friday, 22 June 2012 at 15:12:13 UTC, Timon Gehr wrote:

Note that this kind of melodramatism is not helping your case.
Getting insulted and shooting in all directions is genuinely 
stupid behaviour and wastes everyone's time.


You have to realize that some of your comments have been rather
impolite lately.


You mean in response to @Dmitri's comments? Or to someone else?

It would be very helpful for me if you could show a couple 
examples of what you're referring to.



Why do you assume that everyone else cares a lot more about how 
some random comment might be conceived?


Might be conceived? Is it really just me? Okay, well then you 
tell me:


Isn't the quote
If you can't figure it out on your own, chances are you won't 
be able to

do what you wanted in the first place
just saying I'm too stupid for this to help me anyway?


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Timon Gehr

On 06/22/2012 05:21 PM, Mehrdad wrote:

On Friday, 22 June 2012 at 15:12:13 UTC, Timon Gehr wrote:

Note that this kind of melodramatism is not helping your case.
Getting insulted and shooting in all directions is genuinely stupid
behaviour and wastes everyone's time.

You have to realize that some of your comments have been rather
impolite lately.


You mean in response to @Dmitri's comments? Or to someone else?

It would be very helpful for me if you could show a couple examples of
what you're referring to.



You like blaming someone, or claiming someone has bad intentions. Eg:


Which leads me to believe that whoever has this information doesn't want people 
to use it for D development...



The way I'm understanding it is that the message is essentially If you want to 
develop your own
systems with our systems programming language, then you gotta buy it, sorry. 
Batteries not included.


There is no need to deduce such messages from insufficient support or
documentation of a free product run 100% by volunteers.

Who should such comments be directed at? What should their effect be? I 
only see it generating bad air.






Why do you assume that everyone else cares a lot more about how some
random comment might be conceived?


Might be conceived? Is it really just me? Okay, well then you tell me:

Isn't the quote

If you can't figure it out on your own, chances are you won't be able to

do what you wanted in the first place
just saying I'm too stupid for this to help me anyway?


I think it does not matter, because the optimal reaction would be the 
same in each case: ignore the comment and continue the productive part

of the discussion.


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Dmitry Olshansky

On 22-Jun-12 19:21, Mehrdad wrote:

Might be conceived? Is it really just me? Okay, well then you tell me:

Isn't the quote

If you can't figure it out on your own, chances are you won't be able to

do what you wanted in the first place
just saying I'm too stupid for this to help me anyway?


I actually meant my previous post to be the last in this thread.
But here it goes:

1. I classify the above as speculation on my part, namely to put it in 
other words (not featuring any individual):
this work take a lot of low-level hacking meaning that investigating 
symbols output by compiler and their meaning is least of problem there 
usually
That's ALL I meant to say here. You can frame it like advice, insult, 
promotion or whatever you fell like (it's not like I or someone else can 
stop you).


2. The sarcasm is not lost on me, but for some reason I _think_ you 
are/were outraged way before my post. Being outraged doesn't help sort 
out things 99% of time (this is my assertion you may disagree).


3. If anything the mailing list/NG is not technical support (especially 
general discussion ones) I'm not obliged to offer you any help. It's 
all about sharing opinions. So take it or ignore it and let's move on.




--
Dmitry Olshansky




Re: Raw binary(to work without OS) in D

2012-06-22 Thread Mehrdad

On Friday, 22 June 2012 at 15:37:16 UTC, Timon Gehr wrote:
You like blaming someone, or claiming someone has bad 
intentions. Eg:


Which leads me to believe that whoever has this information 
doesn't want people to use it for D development...


The way I'm understanding it is that the message is 
essentially If you want to develop your own
systems with our systems programming language, then you gotta 
buy it, sorry. Batteries not included.


There is no need to deduce such messages from insufficient 
support or documentation of a free product run 100% by 
volunteers.



I see.

I would agree if you said it was nonconstructive, but I don't see 
how it's /impolite/ -- at all.


My intention wasn't to claim Walter (assuming that's whom you 
meant I was referring to) has bad intentions (I -- at least 
partially -- understand he can't just release the code, etc.).


The trouble was that his solution to the problem was buy the 
source code.
That's not /bad/ intentions... it simply goes against the nature 
of D/DMD.



If his response had instead been well, I'd love to share this 
info, but due to legal issues I can't, then I couldn't help but 
sympathize.
The issue is that I've asked this question a bunch of times (e.g. 
the one I linked to earlier), and _only now_ has anyone given any 
reasonable response at all for solving the problem (buy the 
code) -- so it only naturally makes me wonder: is that the 
intention of promoting?



Again, wasn't trying to be impolite to Walter (or you or the 
others). I just find that the buy the source code comment 
(which, to be sure, is better than the nothing I'd gotten before) 
is sending completely the wrong message.



If you had any other examples for where you believe I've been 
impolite, let me know. (Feel free to email me if you don't want 
to clutter here.) That would actually be helpful for me.





I think it does not matter


I don't...

because the optimal reaction would be the same in each case: 
ignore the comment and continue the productive part of the 
discussion.


I do sometimes try to do that, though I guess I'll try it more 
often...


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Mehrdad

On Friday, 22 June 2012 at 15:45:30 UTC, Dmitry Olshansky wrote:

I actually meant my previous post to be the last in this thread.
But here it goes:


Sorry :\

1. I classify the above as speculation on my part, namely to 
put it in other words (not featuring any individual):
this work take a lot of low-level hacking meaning that 
investigating symbols output by compiler and their meaning is 
least of problem there usually
That's ALL I meant to say here. You can frame it like advice, 
insult, promotion or whatever you fell like (it's not like I or 
someone else can stop you).


The trouble is I only see what you write, not what you think.

What you're writing here is very clearly different in tone from 
what you said before, even if it wasn't intentional.
(Usually the onus is more on the speaker to get his words across, 
not on the reader to try and decipher them.)



2. The sarcasm is not lost on me, but for some reason I _think_ 
you are/were outraged way before my post.


Outraged? Not sure at what you're referring specifically...


Being outraged doesn't help sort out things 99% of time (this 
is my assertion you may disagree).


Totally agree... though (until now) I didn't see any attempt at 
sorting out anything. (The second comment only made things 
worse.)



3. If anything the mailing list/NG is not technical support 
(especially general discussion ones) I'm not obliged to offer 
you any help. It's all about sharing opinions.


Yes, and I wasn't asking for you to offer me help either.
But insulting people -- yeah, It's against my expectations to go 
on an NG and be told I'm too stupid to do something. Even if it's 
your opinion.




So take it or ignore it and let's move on.


Sure, if you'd like to. (I didn't get that message from you until 
now.)




Re: Raw binary(to work without OS) in D

2012-06-22 Thread Paulo Pinto

On Friday, 22 June 2012 at 14:11:59 UTC, Mehrdad wrote:

On Friday, 22 June 2012 at 09:50:54 UTC, Walter Bright wrote:

On 6/21/2012 11:49 PM, Mehrdad wrote:

On Friday, 22 June 2012 at 06:35:41 UTC, Walter Bright wrote:

On 6/21/2012 11:07 PM, Mehrdad wrote:
Good luck getting the C-runtime part of the D runtime 
right..


It's not that hard. But there's a lot of detail to learn  
take care of.



Where do you find the detail?


One way is to get the library source code for the C compiler 
and study it.



By get you mean buy, right?

I find that to be against D's (supposedly) open-source nature...


Well Walter can also decide to invest his time somewhere else, he 
needs to pay his bills...


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Roman D. Boiko

On Friday, 22 June 2012 at 16:08:13 UTC, Mehrdad wrote:

The trouble is I only see what you write, not what you think.

What you're writing here is very clearly different in tone from 
what you said before, even if it wasn't intentional.
(Usually the onus is more on the speaker to get his words 
across, not on the reader to try and decipher them.)


Comparing what Dmitry wrote earlier:

If you can't figure it out on your own, chances are you won't 
be able to do what you wanted in the first place (e.g. 
real-time micro-kernel).


and

Yeah, I understand how it could be frustrating, but once you 
are on this kind of level you usually already running circles 
around all of this stuff.


to later interpretation:

1. I classify the above as speculation on my part, namely to 
put it in other words (not featuring any individual):
this work take a lot of low-level hacking meaning that 
investigating symbols output by compiler and their meaning is 
least of problem there usually


may seem to be very different at first. But in Russian the first 
and the last sentences would have similar meanings.


In general, it is difficult to predict how something is going to 
be perceived. So it is usually OK for a person to say something 
assuming that others will understand the intended meaning, 
provided that clarification is given on request.


In this case, Dmitry provided a very reasonable clarification 
about the meaning of word 'level'. And interpretation of a 
statement which I quoted first is reasonably equivalent to what 
Dmitry provided later. (I'm from Ukraine, we speak Russian well. 
Dmitry is from Russia. Hope you will believe me.)





Re: Raw binary(to work without OS) in D

2012-06-22 Thread Walter Bright

On 6/22/2012 7:11 AM, Mehrdad wrote:

One way is to get the library source code for the C compiler and study it.

By get you mean buy, right?


For Digital Mars C, yes you can buy it. For gcc, you can look at the C library 
source code for free. I'm sure the latter does the same things.



I find that to be against D's (supposedly) open-source nature...


D is open source, however, that isn't necessarily true of C. For example, the 
Win64 version of dmd will be designed to work with Microsoft VS, which will cost 
$500.





Re: Raw binary(to work without OS) in D

2012-06-22 Thread Walter Bright

On 6/22/2012 7:17 AM, Mehrdad wrote:

On Friday, 22 June 2012 at 08:35:51 UTC, Dmitry Olshansky wrote:

Look at say Win32 API. There is a way to reroute most of things you listed
directly to it. I actually do this kind of stuff in my spare time. Of course
your own kernel has some manner of system calls too.


I'm talking about things like PE file sections used to support TLS and whatnot.

They're unrelated to the Windows API.


The PE file section documentation can be found by googling Windows PE file 
format.


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Walter Bright

On 6/22/2012 4:41 AM, Don Clugston wrote:

On Windows, all of the SEH code is in D. The C library isn't used any more.

I think the main thing that's still done in C is the floating point formatting.


The startup code is done in the C library, and the thread creation stuff still 
relies on the C library, too.





Re: Raw binary(to work without OS) in D

2012-06-22 Thread Roman D. Boiko

On Friday, 22 June 2012 at 17:23:38 UTC, Walter Bright wrote:
D is open source, however, that isn't necessarily true of C. 
For example, the Win64 version of dmd will be designed to work 
with Microsoft VS, which will cost $500.
Sorry, Walter, I didn't understand this statement. Did you mean 
VS will cost $500? Did you mean Win64 version of dmc (not dmd)? 
If no, than how will dmd be designed to work with VS?


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Mehrdad

On Friday, 22 June 2012 at 17:06:19 UTC, Roman D. Boiko wrote:

On Friday, 22 June 2012 at 16:08:13 UTC, Mehrdad wrote:

The trouble is I only see what you write, not what you think.

What you're writing here is very clearly different in tone 
from what you said before, even if it wasn't intentional.
(Usually the onus is more on the speaker to get his words 
across, not on the reader to try and decipher them.)


Comparing what Dmitry wrote earlier:

If you can't figure it out on your own, chances are you won't 
be able to do what you wanted in the first place (e.g. 
real-time micro-kernel).


and

Yeah, I understand how it could be frustrating, but once you 
are on this kind of level you usually already running circles 
around all of this stuff.


to later interpretation:

1. I classify the above as speculation on my part, namely to 
put it in other words (not featuring any individual):
this work take a lot of low-level hacking meaning that 
investigating symbols output by compiler and their meaning is 
least of problem there usually


may seem to be very different at first. But in Russian the 
first and the last sentences would have similar meanings.




lol. I don't speak Russian, sorry. :\
For me, the first one would imply the last one, but not 
necessarily the other way around.




In general, it is difficult to predict how something is going 
to be perceived. So it is usually OK for a person to say 
something assuming that others will understand the intended 
meaning, provided that clarification is given on request.


I suppose?
Though if someone were trying to insult you, I'm not sure if they 
would ever confirm, Yes, I mean to say you're an idiot, or that 
they would necessarily repeat it, even if you asked them. (Sad 
but true, I think.)
So I'm not sure if you can ask for a clarification for 
everything...



In this case, Dmitry provided a very reasonable clarification 
about the meaning of word 'level'. And interpretation of a 
statement which I quoted first is reasonably equivalent to what 
Dmitry provided later.


Well, yes; he clearly said:
I meant actually low level. Like down to hardware/OS so it's 
rather the opposite ;)


so that would've been fine.

What didn't help the situation was the other part...
[...] you usually already running circles around all of this 
stuff


With that part, it was saying, If you don't know this stuff then 
you shouldn't be working at this level, _NOT_ you're going to 
have bigger problems at this level. The implications are 
different.


Maybe my reasoning was weird, but that's how it came across...



(I'm from Ukraine, we speak Russian well. Dmitry is from 
Russia. Hope you will believe me.)


I have no reason not to. :)
But I also have a hard time integrating that fact into the rest 
of the discussion, since I obviously don't know Russian.


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Walter Bright

On 6/22/2012 7:51 AM, Mehrdad wrote:

But lots of other parts about D (TLS, GC, etc.) still have that problem though.
I was never able to get the __xi_a, __xi_z, etc. stuff correct, and I've spent a
heck of a lot of time on it.


Those are defined by Microsoft, and hold pointers to static constructors from 
Microsoft C generated code. It's unused by DMC, except to not muck them up in 
case someone links in MSC generated code.


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Roman D. Boiko

On Friday, 22 June 2012 at 17:33:17 UTC, Mehrdad wrote:

I have no reason not to. :)
But I also have a hard time integrating that fact into the rest 
of the discussion, since I obviously don't know Russian.
In general, it is easy to write two very different statements in 
Russian which may be considered to have similar or equivalent 
meanings. In many cases it is OK to say something figuratively, 
and people will very likely perceive the meaning correctly. That 
may easily become a habit. This often causes me to say vague 
statements in English.


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Mehrdad

On Friday, 22 June 2012 at 17:41:06 UTC, Roman D. Boiko wrote:

On Friday, 22 June 2012 at 17:33:17 UTC, Mehrdad wrote:

I have no reason not to. :)
But I also have a hard time integrating that fact into the 
rest of the discussion, since I obviously don't know Russian.
In general, it is easy to write two very different statements 
in Russian which may be considered to have similar or 
equivalent meanings. In many cases it is OK to say something 
figuratively, and people will very likely perceive the meaning 
correctly. That may easily become a habit. This often causes me 
to say vague statements in English.


No I mean, I understand what you're saying. It's just that, well, 
the writer's nationality is sorta beyond my scope as a reader. :-)


Re: Raw binary(to work without OS) in D

2012-06-22 Thread mta`chrono
Am 22.06.2012 19:23, schrieb Walter Bright:
 On 6/22/2012 7:11 AM, Mehrdad wrote:
 One way is to get the library source code for the C compiler and
 study it.
 By get you mean buy, right?
 
 For Digital Mars C, yes you can buy it. For gcc, you can look at the C
 library source code for free. I'm sure the latter does the same things.
 
 I find that to be against D's (supposedly) open-source nature...
 
 D is open source, however, that isn't necessarily true of C. For
 example, the Win64 version of dmd will be designed to work with
 Microsoft VS, which will cost $500.
 
 

I'm afright. Please explain what is meant by this, Walter.


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Roman D. Boiko

On Friday, 22 June 2012 at 18:26:22 UTC, mta`chrono wrote:

Am 22.06.2012 19:23, schrieb Walter Bright:
D is open source, however, that isn't necessarily true of C. 
For example, the Win64 version of dmd will be designed to work 
with

Microsoft VS, which will cost $500.


I'm afright. Please explain what is meant by this, Walter.


I also asked for clarification a few posts before. Most likely 
Walter meant that DMC (not DMD) for Win64 will work with Visual 
Studio, which is not free. Also DMC is not free, but it costs way 
below $500.


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Walter Bright

On 6/22/2012 10:28 AM, Roman D. Boiko wrote:

Did you mean VS will cost $500?


Yes (or whatever price MS sets it at).


Did you mean Win64 version of dmc (not dmd)?


No. I meant dmd for Win64.


If no, than how will dmd be designed to work with VS?


By emitting code that will link with VS code  libraries.




Re: Raw binary(to work without OS) in D

2012-06-22 Thread Dmitry Olshansky

On 22-Jun-12 20:08, Mehrdad wrote:

On Friday, 22 June 2012 at 15:45:30 UTC, Dmitry Olshansky wrote:

I actually meant my previous post to be the last in this thread.
But here it goes:


Sorry :\


1. I classify the above as speculation on my part, namely to put it in
other words (not featuring any individual):
this work take a lot of low-level hacking meaning that investigating
symbols output by compiler and their meaning is least of problem there
usually
That's ALL I meant to say here. You can frame it like advice, insult,
promotion or whatever you fell like (it's not like I or someone else
can stop you).


The trouble is I only see what you write, not what you think.

What you're writing here is very clearly different in tone from what you
said before, even if it wasn't intentional.
(Usually the onus is more on the speaker to get his words across, not on
the reader to try and decipher them.)


Sorry, like Roman said I'm not native speaker. And I'm not sure of the 
emotional component of things I type. To be honest no matter what form I 
use I tend to be neutral in general (or so I thought).


(Except some very rare cases. I recall that I told something harsh in 
response to the brilliant idea of turning enforce into assert with 
some version statement)






2. The sarcasm is not lost on me, but for some reason I _think_ you
are/were outraged way before my post.


Outraged? Not sure at what you're referring specifically...



I meant something like this:

 Good luck getting the C-runtime part of the D runtime right..
...

 If you have any idea how to implement things like TLS, SEH, and the 
like, then PLEASE, share them!


You were almost shouting or demanding (or so it seemed to me). I think 
this was the first time I insulted somebody uninterruptedly and that 
went totally unexpected for me.





Being outraged doesn't help sort out things 99% of time (this is my
assertion you may disagree).


Totally agree... though (until now) I didn't see any attempt at sorting
out anything. (The second comment only made things worse.)


Good.
And bad, as it seems I need to refresh my word/phrase selection :)




3. If anything the mailing list/NG is not technical support
(especially general discussion ones) I'm not obliged to offer you
any help. It's all about sharing opinions.


Yes, and I wasn't asking for you to offer me help either.
But insulting people -- yeah, It's against my expectations to go on an
NG and be told I'm too stupid to do something. Even if it's your opinion.



If anything I'm not about to make any statements aimed at a particular 
person. If there was insult, I'm sorry as I failed to spot emotional 
context of things I posted.





So take it or ignore it and let's move on.


Sure, if you'd like to. (I didn't get that message from you until now.)



OK, glad we are (sort of) having some agreement.

--
Dmitry Olshansky




Re: Raw binary(to work without OS) in D

2012-06-22 Thread Dmitry Olshansky

On 22-Jun-12 22:47, Walter Bright wrote:

On 6/22/2012 10:28 AM, Roman D. Boiko wrote:

Did you mean VS will cost $500?


Yes (or whatever price MS sets it at).



I believe SDK with compiler is a free download though I might be off on 
this.



Did you mean Win64 version of dmc (not dmd)?


No. I meant dmd for Win64.


If no, than how will dmd be designed to work with VS?


By emitting code that will link with VS code  libraries.



Great.

--
Dmitry Olshansky




Re: Raw binary(to work without OS) in D

2012-06-22 Thread Mehrdad

On Friday, 22 June 2012 at 18:52:41 UTC, Dmitry Olshansky wrote:
Sorry, like Roman said I'm not native speaker. And I'm not sure 
of the emotional component of things I type. To be honest no 
matter what form I use I tend to be neutral in general (or so I 
thought).


Yeah I'm not a native either, so that doesn't help me so much 
either... :\
(Though I guess, from another perspective, learning English has 
also helped me a lot. :P my point's there though.)



I meant something like this:

 Good luck getting the C-runtime part of the D runtime
right..
...

 If you have any idea how to implement things like TLS, SEH,
and the like, then PLEASE, share them!

You were almost shouting or demanding (or so it seemed to me). 
I think this was the first time I insulted somebody 
uninterruptedly and that went totally unexpected for me.


Ah.
I wasn't demanding :-) shouting is closer but I wasn't trying 
to be yelling at anyone :P it just shows I didn't communicate 
well either. :)



If anything I'm not about to make any statements aimed at a 
particular person. If there was insult, I'm sorry as I failed 
to spot emotional context of things I posted.


Sorry about my misunderstanding as well -- my inference engine 
kinda failed at inferring what you meant. :P



OK, glad we are having some agreement.


Yup :)


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Sean Kelly
On Jun 22, 2012, at 11:47 AM, Walter Bright wrote:

 On 6/22/2012 10:28 AM, Roman D. Boiko wrote:
 Did you mean VS will cost $500?
 
 Yes (or whatever price MS sets it at).

I think there's a free version of VS.


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Brad Anderson
On Fri, Jun 22, 2012 at 1:19 PM, Sean Kelly s...@invisibleduck.org wrote:

 On Jun 22, 2012, at 11:47 AM, Walter Bright wrote:

  On 6/22/2012 10:28 AM, Roman D. Boiko wrote:
  Did you mean VS will cost $500?
 
  Yes (or whatever price MS sets it at).

 I think there's a free version of VS.


Yes, Visual Studio Express.  They had announced that Visual Studio Express
2012 wouldn't support native applications (only target Window 8's WinRT)
but they have since reversed that decision.  Unless there is some other
obstacle that gets in the way Win64 DMD users should be able to get
everything they need for free.

Regards,
Brad Anderson


Re: Raw binary(to work without OS) in D

2012-06-22 Thread David Nadlinger

On Friday, 22 June 2012 at 18:56:48 UTC, Dmitry Olshansky wrote:
I believe SDK with compiler is a free download though I might 
be off on this.


Also, there are Express editions of Visual Studio which are 
currently, and will be at least for the next release, free for 
download. Originally, Microsoft wanted to include only the SDK 
for »Metro-style« apps with VC++ 2012 Express, but after this 
caused massively negative reactions in the 
developer/internet/open-source/… community, a native code 
edition was announced as well.


David


Re: Raw binary(to work without OS) in D

2012-06-22 Thread Dmitry Olshansky

On 22-Jun-12 23:23, David Nadlinger wrote:

Originally, Microsoft wanted to include only the SDK for »Metro-style«
apps with VC++ 2012 Express, but after this caused massively negative
reactions in the developer/internet/open-source/… community, a native
code edition was announced as well.

David


Yay!

P.S. Sorry can't resist ;)

--
Dmitry Olshansky




Re: Raw binary(to work without OS) in D

2012-06-22 Thread Roman D. Boiko

On Friday, 22 June 2012 at 18:56:48 UTC, Dmitry Olshansky wrote:

On 22-Jun-12 22:47, Walter Bright wrote:

On 6/22/2012 10:28 AM, Roman D. Boiko wrote:

Did you mean VS will cost $500?


Yes (or whatever price MS sets it at).



I believe SDK with compiler is a free download though I might 
be off on this.
Correct. VS SDK is free, the same is true for Windows SDK. Also 
there are VS express and VS shell, which are also free. But I'm 
sure that Visual Studio itself is not a dependency and there is 
nothing to link to in it, only in SDKs.


Re: Raw binary(to work without OS) in D

2012-06-21 Thread Era Scarecrow

On Thursday, 21 June 2012 at 16:39:07 UTC, Alex wrote:
is it possible to use D to write code to work without OS? like 
i do it with gcc.


 With the runtime, I want to say no. If you drop the runtime and 
GC (including dynamic arrays), I honestly don't see why not. 
However if you don't have any OS connections you have to write IO 
yourself, some of it probably in assembly (That or it's a very 
silent and unfruitful program). Maybe good for certain device 
drivers but beyond that it doesn't seem too practical. At this 
moment.


Re: Raw binary(to work without OS) in D

2012-06-21 Thread Walter Bright

On 6/21/2012 9:39 AM, Alex wrote:

is it possible to use D to write code to work without OS?
like i do it with gcc.


Sure. But you'll need to thoroughly understand how the D runtime startup code 
works, so you can adjust as necessary.