[GSoC] Trying to find a good topic
Dan Printzell
xwildn00bx at gmail.com
Thu Mar 21 19:50:49 UTC 2019
Hey everyone!
I have been meaning to send these questions earlier, but then
school happened.
Small introduction about me:
I am Dan Printzell and I am currently studying for a master
degree in computer
science in Sweden. I'm one of the maintainers for the D package
on Arch Linux[1]
and I am also writing a operating system from scratch in D called
PowerNex[2].
Development of it has slowed down due to school and bugs but I'm
trying to get
out a new release this year.
I am planning on applying to GSoC but I'm having a bit of a
problem trying to
decide on what I should do. My goal is to try and do something
that I will
personally use in PowerNex and it is something that will help the
whole D
community, this is why I am looking at dmd and betterC topics.
For dmd I am primarily interested in implementing DIP1014[3], as
this will help
me with the development of PowerNex. In the past I had to
workaround that this
feature was missing. From the outside is seems like this would
not take too long
to implement, at least not a whole GSoC. But as I'm not too
familiar with dmd's
source code, I only did a few small patches to allow dmd to
support PowerNex as
a target[4].
So my question for this topic would be: How long time do you guys
think that
this will take to implement, test and get it merged? Is a month
about correct?
For the betterC topic I would be interested in implementing a
bare metal D
runtime[5]. This is something I already have some experience as I
have written a
betterC runtime for PowerNex, and I also used to update/maintain
Adam D. Ruppe's
minimal.zip[6] when I used that as the runtime for PowerNex.
My question would be: What features should this runtime contain?
From the wiki I
see that basic libc functionality is requested, like the str*
functions and
memory management. From what I can understand, the goals it to
have a runtime
that can be used on multiple targeted environments, without any
external
dependencies.
Other questions regarding this topic: how separate should it be
from druntime?
Should this be a separate library, like a druntime-lite? or is
the goal to allow
druntime to be used for a bare metal target? Also, should this
only be betterC
or should it support regular D as well?
Depending on the implementation size of DIP1014 and the bare
metal D runtime,
it seems like both could be implemented during a GSoC. But I am
probably just
being time optimistic here.
Best Regards,
Dan Printzell
[1] https://www.archlinux.org/people/trusted-users/#wild
[2] https://github.com/PowerNex/PowerNex
[3]
https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1014.md
[4] https://github.com/PowerNex/powernex-dmd I will probably
submit some of
these upstream when PowerNex gets to a better, stable state
[5] https://wiki.dlang.org/GSOC_2019_Ideas#Baremetal_D_runtime
[6] http://arsdnet.net/dcode/minimal.zip
More information about the Digitalmars-d
mailing list