Difference between revisions of "GSOC 2015 Ideas"

From D Wiki
Jump to: navigation, search
(Ideas)
Line 8: Line 8:
  
 
== Ideas ==
 
== Ideas ==
This is the most important part of our application, and where you can significantly improve our chance of being accepted for 2015. Please add your idea today!
 
  
 
Plenty of challenging and important projects exist in the D worlds. They range from writing new or improving existing modules of D's standard library ([http://dlang.org/phobos/index.html Phobos]), working on its compilers ([[Compilers]]), bringing D to mobile devices, shaping GUI libraries for D, integrating D with other languages and more.
 
Plenty of challenging and important projects exist in the D worlds. They range from writing new or improving existing modules of D's standard library ([http://dlang.org/phobos/index.html Phobos]), working on its compilers ([[Compilers]]), bringing D to mobile devices, shaping GUI libraries for D, integrating D with other languages and more.
 +
 +
=== Idea #1: SDC Project - D Compiler as a Library ===
 +
 +
==== Project Desription:  ====
 +
 +
The SDC project is an effort to provide a D compiler as a library.
 +
Any ideas to further the development of this project are welcome,
 +
but for a student who would like a specific project we
 +
propose the following task(s):
 +
 +
* Start by implementing with @property feature of D. This feature
 +
  will allow a D programmer to create functions that are called
 +
  using the same syntax as variable access.
 +
* Using the @property feature the student will be able to implement
 +
  the runtime support for slices and associative arrays. The
 +
  operations to implement are as follows:
 +
  **  Implement arrray operations like concatenation and appending,
 +
    and implement a souncd memory management strategy for the
 +
    underlying data.
 +
  **  Implement a generic and efficient hash table.  The data
 +
    structure and algorithms used must be flexibile enough to
 +
    be adapted to any type of data that might be stored in the
 +
    table.  A concurrent version of the table is need for
 +
    shared data.
 +
* Finally, the student will implement masquerading of D syntax
 +
  into calls for the runtime.
 +
 
 +
To learn a little more about SDC we recommend you check out the
 +
following from D Conf 2014:  http://dconf.org/2014/talks/sechet.html
 +
 
 +
 +
==== Its Good To Know ====
 +
 +
- Please watch Amaury's DConf talk on SDC.
 +
- SDC is developed in D (of course) so you will need to be
 +
  proficient in D by the time you start coding.
 +
- You should have taken at least one course on compilers, or at the
 +
  least be willing to educate yourself in this regard. There is a
 +
  decent course availabe through Coursera
 +
    https://www.coursera.org/course/compilers
 +
- You familiarize yourself with classicial data structures for
 +
  arrays and have knowledge of various schemes for table implementations,
 +
  (it is worthwhile to read up on hotspotch and robin hood hashing).
 +
- SDC uses LLVM for code generation, so some familiarity with LLVM will
 +
  be required (see http://llvm.org/docs/tutorial/index.html).
 +
 +
 +
==== Proposed Project Mentor: Amaury Sechet ====
 +
 +
Amaury, or Dedalinx as he is now in the D community is an Engineer
 +
with Facebook. 
 +
 +
 +
 +
  
 
GSoC idea pages from past years:
 
GSoC idea pages from past years:

Revision as of 01:52, 27 December 2014

This is the D Google Summer of Code page for 2015. To learn more about this years event, see the Google Summer of Code 2015 page.

Administration

See the organization administrator and mentor manual for more information.

Timeline

The timeline for GSoC for 2015 has now been posted here.

Ideas

Plenty of challenging and important projects exist in the D worlds. They range from writing new or improving existing modules of D's standard library (Phobos), working on its compilers (Compilers), bringing D to mobile devices, shaping GUI libraries for D, integrating D with other languages and more.

Idea #1: SDC Project - D Compiler as a Library

Project Desription:

The SDC project is an effort to provide a D compiler as a library. Any ideas to further the development of this project are welcome, but for a student who would like a specific project we propose the following task(s):

  • Start by implementing with @property feature of D. This feature
 will allow a D programmer to create functions that are called 
 using the same syntax as variable access.
  • Using the @property feature the student will be able to implement
 the runtime support for slices and associative arrays. The 
 operations to implement are as follows:
 **  Implement arrray operations like concatenation and appending,
    and implement a souncd memory management strategy for the 
    underlying data.
 **  Implement a generic and efficient hash table.  The data
    structure and algorithms used must be flexibile enough to
    be adapted to any type of data that might be stored in the
    table.  A concurrent version of the table is need for
    shared data.
  • Finally, the student will implement masquerading of D syntax
 into calls for the runtime. 
  

To learn a little more about SDC we recommend you check out the following from D Conf 2014: http://dconf.org/2014/talks/sechet.html


Its Good To Know

- Please watch Amaury's DConf talk on SDC. - SDC is developed in D (of course) so you will need to be

 proficient in D by the time you start coding.

- You should have taken at least one course on compilers, or at the

 least be willing to educate yourself in this regard. There is a 
 decent course availabe through Coursera 
   https://www.coursera.org/course/compilers

- You familiarize yourself with classicial data structures for

 arrays and have knowledge of various schemes for table implementations,
 (it is worthwhile to read up on hotspotch and robin hood hashing).

- SDC uses LLVM for code generation, so some familiarity with LLVM will

 be required (see http://llvm.org/docs/tutorial/index.html).


Proposed Project Mentor: Amaury Sechet

Amaury, or Dedalinx as he is now in the D community is an Engineer with Facebook.



GSoC idea pages from past years:

Tips for students

Daniel Pocock has written a detailed blog about initiatives students can take if they want to have a serious chance of being selected in GSoC 2015 without a focus on one specific organization.