From eab789025ba66d8c4c294dd0a6adf7e128d61332 Mon Sep 17 00:00:00 2001 From: Dominik Picheta Date: Wed, 12 Feb 2014 08:32:32 -0800 Subject: [PATCH] Updated GSoC 2014 Ideas (markdown) --- GSoC-2014-Ideas.md | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/GSoC-2014-Ideas.md b/GSoC-2014-Ideas.md index 0997ef4..0721076 100644 --- a/GSoC-2014-Ideas.md +++ b/GSoC-2014-Ideas.md @@ -92,7 +92,7 @@ The Nimrod standard library currently lacks a YAML parsing module. This task req **Difficulty:** Medium -**Mentor:** Araq ([@Araq](http://github.com/Araq)) +**Mentor:** Araq ([@Araq](http://github.com/Araq)), dom96 ([@dom96](http://github.com/dom96)) ___ #### Enhance the filesystem monitoring module "fsmonitor.nim" @@ -131,18 +131,18 @@ ___ **Difficulty:** Medium -**Mentor:** zahary ([@zah](http://github.com/zah)) +**Mentor:** zahary ([@zah](http://github.com/zah)), dom96 ([@dom96](http://github.com/dom96)) ___ -#### Add documentation to the nimrod compiler internals +#### Add documentation to the Nimrod compiler internals **Skill Requirements:** Basic writing and documentation skills. **Description:** - * Add comments to the compiler internals, documenting the various mechansisms and mechanics the compiler uses to analyze and transform nimrod code to the code of the specified backend. + * Add comments to the compiler internals, documenting the various mechanisms and mechanics the compiler uses to analyze and transform nimrod code to the code of the specified backend. **Difficulty:** Medium -**Mentor:** Araq ([@Araq](http://github.com/Araq)) +**Mentor:** Araq ([@Araq](http://github.com/Araq)), zahary ([@zah](http://github.com/zah)) ___ #### Improve times module @@ -179,7 +179,7 @@ ___ **Difficulty:** Medium -**Mentor:** Araq ([@Araq](http://github.com/Araq)) +**Mentor:** Araq ([@Araq](http://github.com/Araq)), dom96 ([@dom96](http://github.com/dom96)) ___ #### Wrap and test GTK3 @@ -193,19 +193,37 @@ ___ **Difficulty:** Medium -**Mentor:** dom96 ([@dom96](http://github.com/dom96)) +**Mentor:** dom96 ([@dom96](http://github.com/dom96)), Araq ([@Araq](http://github.com/Araq)) ## Tools & Infrastructure -#### Update and refactor nimrod builder +#### Nimbuild **Skill Requirements**: JSON parsing, modular program construction, inter-process communication. **Description**: - * Reduce the number of assumptions the nimrod builder makes about its host system, in order to reduce configuration restrictions. Assumptions include location and usage of external tools, such as git. + * Reduce the number of assumptions the Nimrod builder makes about its host system, in order to reduce configuration restrictions. Assumptions include location and usage of external tools, such as git. + * Implement benchmark tests in the builder and generate graphs showing the time taken to perform those benchmarks on the Nimbuild site. This can include bootstrap times, and test times too. + * Generate images showing the status of the build to be shown in Nimrod's Github repo and/or Nimrod's website. + * Improve the download tables on Nimbuild's homepage and generate embeddable download tables for the Nimrod website. **Difficulty:** Medium **Mentor:** dom96 ([@dom96](http://github.com/dom96)) +#### Babel +**Skill Requirements**: Knowledge of Git and other version control systems. + +**Description**: + +Babel is the Nimrod package manager. It is currently very basic and some important features are still missing. Babel packages are stored in user-controlled repositories with support for Git and Mercurial currently present. + +**Possible tasks:** + * Add support for other VCS' alongside Git and Mercurial. + * Create a website which tracks packages similar to hackage, npm, the [DUB registry](http://code.dlang.org/) etc. + * Add support for the removal of packages. + * Automate the package submission process. + * Expand the babel tester to test more dependency scenarios. + +**Mentor:** dom96 ([@dom96](http://github.com/dom96)) ___ #### Implement re2nim, a lexer generator for nimrod * Model it after re2c or the Ragel state machine generator