1st Call for Ideas for Google Summer of Code 2015

Craig Dillabaugh via Digitalmars-d digitalmars-d at puremagic.com
Mon Jun 9 10:26:00 PDT 2014


On Monday, 2 June 2014 at 23:47:27 UTC, deadalnix wrote:
> On Monday, 2 June 2014 at 15:03:09 UTC, Dicebot wrote:
>> I'd propose deadalnix to stand up as mentor with SDC ;)
>
> I already did. I'm discussing the details with Craig so we can
> find a good topic for a student to work on. Less posting, more 
> doing :D

deadalnix and I have been having some discussions via email on a
suitable project based on SDC (D compiler as a library). He gave
a talk on the project at DConf.

deadalnix has presented a few ideas for projects and asked if I
felt they were suitable.  However, I felt it might be better if
his initial ideas were presented to the community for input, so
here goes ...

Project Idea #1: Slices and associative arrays

The student will start by implementing the @property feature
of D.  This feature allows a D programmer to create functions
that are called using the same syntax as variable access.

Using that feature, the student will be able to implement the
runtime support for slices and associative arrays. The operations
to implement goes as follow:

- Implement array operations like appending or concatenation
   and implement a sound memory management of the underlying
   memory.
- Implement a generic and efficient hash table. The
   datastructure and algorithms used need to be adapted to
   the data stored in the hash table. A concurrent version
   of the hash table is needed for shared.

Finally, the student will implement the masquerading of D
syntax into call to the runtime he/she implemented.

Subject of research to know more about the topic include 
classical datastructure CS for array,  plus knowledge of hash 
table
implementation (I recommend looking into hotspotch and robin hood
hashing).

Project Idea #2: Work on Destructors

Nothing firm here yet, but wanted to get input on if this seems 
like
a suitable project.


More information about the Digitalmars-d mailing list