Updated GSoC 2014 Ideas (markdown)

This commit is contained in:
Dominik Picheta 2014-02-11 13:13:34 -08:00
parent 7a675380a0
commit d336561d53
1 changed files with 9 additions and 0 deletions

View File

@ -23,6 +23,7 @@ Below is a list of project ideas for [GSoC](https://www.google-melange.com/gsoc/
#### Fix/Expand Nimrod's "Compiler as a Service" features
**Skill Requirements:** Command line argument parsing, minimal knowledge of compiler internals and theory.
**Description:**
* Fix https://github.com/Araq/Nimrod/issues/804, which makes `idetools` unusable.
* Provide commands to execute macros. Allow IDEs to quickly get the code macros generate with different inputs.
@ -32,6 +33,7 @@ Below is a list of project ideas for [GSoC](https://www.google-melange.com/gsoc/
#### Allow bootstrap-time integration of the Nimrod executable with the standard library
**Skill Requirements:** Knowledge of file system api's, knowledge of compiler internals and theory.
**Description**:
* Allow the nimrod bootstrap process to integrate the nimrod standard library source code and other associated resources into the nimrod binary, to be used by the nimrod binary when compiling source code. The included library modules should be overridable, either by a switch passed to the nimrod executable, or by placing an actually library file in a pre-determined path.
@ -41,6 +43,7 @@ Below is a list of project ideas for [GSoC](https://www.google-melange.com/gsoc/
#### Enhance the filesystem monitoring module "fsmonitor.nim"
**Skill Requirements:** Knowledge of the Microsoft Windows api.
**Description**:
* Allow the fsmonitor module to work on Microsoft Windows by using native api's to gather information about changes in monitored files and directories.
* Revise the fsmonitor module api to decouple Unix/Linux file handle paradigms (such as using the poll method in in the sockets module) from the api, allowing easier implementations of multiple native backends.
@ -48,11 +51,13 @@ Below is a list of project ideas for [GSoC](https://www.google-melange.com/gsoc/
#### Add a cross-platform stat()-like procedure to the operating system module "os.nim"
**Skill Requirements:** Knowledge of file system api's for Linux, MacOSX, or Microsoft Windows.
**Description:**
* Implement a procedure which uses native stat-like calls on Linux, Mac, Windows, and other operating systems to gather detailed information about specific file system objects. Allow the bypassing of symlinks and hardlinks, where possible.
#### Enhance and expand standard library documentation
**Skill Requirements:** Basic writing and documentation skills, web design and infrastructure setup.
**Description**:
* Ensure that documentation exists for all public methods and modules.
* Create and design new CSS and HTML layouts for the documentation, to better fit with the main website.
@ -60,17 +65,20 @@ Below is a list of project ideas for [GSoC](https://www.google-melange.com/gsoc/
#### 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.
#### Improve times module
**Skill Requirements** Knowledge of date time representations, native time api's.
**Description**:
* Fix limitations to do with time intervals, specifically subtracting a TTimeInterval from a TTimeInfo.
* Provide a ``$`` for TTimeInterval. Goal is to be able to get timing info like "5 minutes ago".
#### Add an implementation of the ISAAC psuedorandom number generator
**Skill Requirements** Pseudo-Random number generation theory, C programming.
**Description:**
* Create a pure-nimrod implementation of the [[ISAAC Random Number Generator|http://burtleburtle.net/bob/rand/isaacafa.html]] .
@ -80,6 +88,7 @@ Below is a list of project ideas for [GSoC](https://www.google-melange.com/gsoc/
## Tools & Infrastructure
#### Update and refactor nimrod builder
**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.