March 30, 2015
On Monday, 30 March 2015 at 15:42:46 UTC, weaselcat wrote:
> On Monday, 30 March 2015 at 15:32:25 UTC, Columbus wrote:
>> I'm not so much into the D Projects, but am familiar with the
>> concepts of the language.
>> I want to use D as the language of a hobby operating system.
>> There isn't much documentation about doing so, and the question
>> already got asked: "When D is a system language, why hasn't
>> anyone made an OS in it yet?".
>> So I ask it again, maybe a bit differently:
>>
>> "Is there usefull documentation about using D as OS language?"
>>
>> I know there's https://github.com/xomboverlord , but this is for
>> D1, and didn't get updated to D2.
>> It won't get updated by me (in the near future), because I don't
>> know enough of D and the inner workings of it, to do such a thing.
>> For your interest: At first, the OS should run on x86_64.
>> Don't expect any repositories hosted by me about an OS in D, it's
>> just a hobbyistic interest of me.
>
> https://github.com/xomboverlord/xomb

xomboverlord happens to be Steve Klabnik, now on the Rust team.
March 31, 2015
On Monday, 30 March 2015 at 15:32:25 UTC, Columbus wrote:

> I want to use D as the language of a hobby operating system.
> There isn't much documentation about doing so, and the question
> already got asked: "When D is a system language, why hasn't
> anyone made an OS in it yet?".
> So I ask it again, maybe a bit differently:
>
> "Is there usefull documentation about using D as OS language?"

There was an attempt to create an operating system in D, but it didn't end well.
Repository:  https://github.com/klamonte/cycle
Critique of D:  https://github.com/klamonte/cycle/blob/master/docs/no_more_d.md

That critique and my own frustrations trying to us D for bare-metal programming led to this thread: http://forum.dlang.org/post/khyopozjdkximzmczayz@forum.dlang.org

IMO, D is an efficient applications programming language with great potential for systems programming, but to reach that potential, a few changes need to be made to the compiler and the runtime.  However, the community's aversion to change, and bias towards other programming domains has made that highly unlikely and low priority.  I tried to move it forward, but found myself fighting the current.

I don't care for some of Rust's ML influence, but with their minimal runtime philosophy, libcore, and modular language features, they seemed to have put more thought into bare-metal and systems programming programming.  My heart is still with D, though.

Mike


March 31, 2015
On Monday, 30 March 2015 at 15:39:07 UTC, Adam D. Ruppe wrote:
> On Monday, 30 March 2015 at 15:32:25 UTC, Columbus wrote:
>> "Is there usefull documentation about using D as OS language?"
>
> I wrote briefly in my book some stuff that might help get you started
> https://www.packtpub.com/application-development/d-cookbook
>
> Basically you can start with an empty runtime and then add back missing functions as needed to get it to compile.
>
>> For your interest: At first, the OS should run on x86_64.
>
> Though I did 32 bit, I haven't worked with 64 bit. Probably not that much different though.


I wrote a small 64-bit OS kernel that basically echos keystrokes back at you. I got bored with mine. I'd done what I was interested in, which was a x86_64 bootloader in ASM + D using grub2.

The osedv.org site was useful but a lot of the information is incorrect or outdated, especially the 64-bit bootloader and grub2 stuff.

The D Cookbook is a great read by the way, nice work !

bye,
lobo
March 31, 2015
On Monday, 30 March 2015 at 15:32:25 UTC, Columbus wrote:
> I'm not so much into the D Projects, but am familiar with the
> concepts of the language.
> I want to use D as the language of a hobby operating system.
> There isn't much documentation about doing so, and the question
> already got asked: "When D is a system language, why hasn't
> anyone made an OS in it yet?".
> So I ask it again, maybe a bit differently:
>
> "Is there usefull documentation about using D as OS language?"
>
> I know there's https://github.com/xomboverlord , but this is for
> D1, and didn't get updated to D2.
> It won't get updated by me (in the near future), because I don't
> know enough of D and the inner workings of it, to do such a thing.
> For your interest: At first, the OS should run on x86_64.
> Don't expect any repositories hosted by me about an OS in D, it's
> just a hobbyistic interest of me.

Entirely by accident I ran into this project today:

https://github.com/Bloodmanovski/Trinix
March 31, 2015
"Mike"  wrote in message news:agjtqstkqvcnzitklnhz@forum.dlang.org...

> IMO, D is an efficient applications programming language with great potential for systems programming, but to reach that potential, a few changes need to be made to the compiler and the runtime.  However, the community's aversion to change, and bias towards other programming domains has made that highly unlikely and low priority.  I tried to move it forward, but found myself fighting the current.

Will you be attending dconf this year?  I'd be interested to have a chat with you about this. 

March 31, 2015
On Tuesday, 31 March 2015 at 04:33:54 UTC, Daniel Murphy wrote:
> "Mike"  wrote in message news:agjtqstkqvcnzitklnhz@forum.dlang.org...
>
>> IMO, D is an efficient applications programming language with great potential for systems programming, but to reach that potential, a few changes need to be made to the compiler and the runtime.  However, the community's aversion to change, and bias towards other programming domains has made that highly unlikely and low priority.  I tried to move it forward, but found myself fighting the current.
>
> Will you be attending dconf this year?  I'd be interested to have a chat with you about this.

To my great disappointment, I will not be able to attend DConf this year.  But I do welcome constructive discussion on this topic.
March 31, 2015
A guy, Michael V. Franklin, discussed this kind of D programming a bit at DConf 2014.

https://www.youtube.com/watch?v=o5m0m_ZG9e8

If you're getting into this kind of thing, it's a must see. With some Googling, I found his minimal D runtime, too.

https://github.com/JinShil/druntime_level_0

I might take his work and Adam's work and make something myself. I'm currently in the middle of trying to get a D program to run on a Pebble watch, and I know this kind of runtime replacement stuff is coming.

One thing I would like to see is a minimal runtime with version blocks. So you can introduce only parts of the runtime that you want, make parts of the runtime do different things, or turn parts of the runtime off so you can provide your own implementation specific to the machine you're working with.
March 31, 2015
On Tuesday, 31 March 2015 at 00:27:49 UTC, Mike wrote:
> There was an attempt to create an operating system in D, but it didn't end well.
> Repository:  https://github.com/klamonte/cycle
> Critique of D:  https://github.com/klamonte/cycle/blob/master/docs/no_more_d.md

Hmm... dunno, I use D for bare metal programming in a sense that I control all its behavior and dependencies. Probably the only valid point there is about SDC, as it's indeed in very early stage of development.
March 31, 2015
On Tuesday, 31 March 2015 at 12:45:03 UTC, Kagamin wrote:
> On Tuesday, 31 March 2015 at 00:27:49 UTC, Mike wrote:
>> There was an attempt to create an operating system in D, but it didn't end well.
>> Repository:  https://github.com/klamonte/cycle
>> Critique of D:  https://github.com/klamonte/cycle/blob/master/docs/no_more_d.md
>
> Hmm... dunno, I use D for bare metal programming in a sense that I control all its behavior and dependencies. Probably the only valid point there is about SDC, as it's indeed in very early stage of development.

I see this document as positive, and something we should look at. Whenever someone says, "This software isn't complete because it doesn't do X properly," you can make the software do X properly. It would be nice if we could address the valid concerns and get something for a good common bare metal D runtime or something.
1 2
Next ›   Last »