s/Skill Requirements/Desirable skills
This commit is contained in:
parent
cf0248bb9a
commit
2229f30c8e
|
@ -28,7 +28,7 @@ Here is a sketch of a possible implementation, but there are lots of other possi
|
|||
|
||||
___
|
||||
#### Add a code generator for OpenCL
|
||||
**Skill Requirements:** Good OpenCL knowledge, knowledge of the compiler internals, basics of type theory.
|
||||
**Desirable skills:** Good OpenCL knowledge, knowledge of the compiler internals, basics of type theory.
|
||||
|
||||
**Difficulty:** Hard
|
||||
|
||||
|
@ -36,7 +36,7 @@ ___
|
|||
|
||||
___
|
||||
#### Make Nimrod a viable research platform for Garbage Collection algorithms
|
||||
**Skill Requirements:** Familiarity with the various GC approaches and algorithms, knowledge of the compiler codegen modules.
|
||||
**Desirable skills:** Familiarity with the various GC approaches and algorithms, knowledge of the compiler codegen modules.
|
||||
|
||||
Most of the popular garbage collected languages of today require a separately distributed run-time environment, providing only a predetermined set of garbage collection algorithms. This leaves little room for experimentation with various approaches and condemns GC researchers to develop and test their algorithms on specialized platforms such as the [Jikes RVM](http://jikesrvm.org/) that have limited practical significance.
|
||||
|
||||
|
@ -59,7 +59,7 @@ provides configuration for the code generator and implements the logic of the ga
|
|||
|
||||
___
|
||||
#### Fix/Expand Nimrod's "Compiler as a Service" features
|
||||
**Skill Requirements:** Command line argument parsing, good knowledge of compiler internals and theory.
|
||||
**Desirable skills:** Command line argument parsing, good knowledge of compiler internals and theory.
|
||||
|
||||
**Description:**
|
||||
* Fix https://github.com/Araq/Nimrod/issues/804, which makes `idetools` unusable.
|
||||
|
@ -74,7 +74,7 @@ ___
|
|||
|
||||
___
|
||||
#### 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.
|
||||
**Desirable skills:** 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 actual library file in a pre-determined path.
|
||||
|
@ -87,7 +87,7 @@ ___
|
|||
## Standard Library
|
||||
|
||||
#### Implement a YAML parser library
|
||||
**Skill Requirements:** Ability to write efficient parsers.
|
||||
**Desirable skills:** Ability to write efficient parsers.
|
||||
|
||||
**Description**:
|
||||
|
||||
|
@ -99,7 +99,7 @@ The Nimrod standard library currently lacks a YAML parsing module. This task req
|
|||
|
||||
___
|
||||
#### Enhance the filesystem monitoring module "fsmonitor.nim"
|
||||
**Skill Requirements:** Knowledge of the Microsoft Windows api.
|
||||
**Desirable skills:** 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.
|
||||
|
@ -112,7 +112,7 @@ ___
|
|||
|
||||
___
|
||||
#### 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.
|
||||
**Desirable skills:** 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
|
||||
|
@ -124,7 +124,7 @@ and hardlinks, where possible.
|
|||
|
||||
___
|
||||
#### Enhance and expand standard library documentation
|
||||
**Skill Requirements:** Basic writing and documentation skills, web design and infrastructure setup.
|
||||
**Desirable skills:** Basic writing and documentation skills, web design and infrastructure setup.
|
||||
|
||||
**Description**:
|
||||
* Ensure that documentation exists for all public methods and modules.
|
||||
|
@ -138,7 +138,7 @@ ___
|
|||
|
||||
___
|
||||
#### Add documentation to the Nimrod compiler internals
|
||||
**Skill Requirements:** Basic writing and documentation skills.
|
||||
**Desirable skills:** Basic writing and documentation skills.
|
||||
|
||||
**Description:**
|
||||
* 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.
|
||||
|
@ -149,7 +149,7 @@ ___
|
|||
|
||||
___
|
||||
#### Improve times module
|
||||
**Skill Requirements** Knowledge of date time representations, native time api's.
|
||||
**Desirable skills:** Knowledge of date time representations, native time api's.
|
||||
|
||||
**Description**:
|
||||
* Fix limitations to do with time intervals, specifically subtracting a TTimeInterval from a TTimeInfo.
|
||||
|
@ -161,7 +161,7 @@ ___
|
|||
|
||||
___
|
||||
#### Add an implementation of the ISAAC psuedorandom number generator
|
||||
**Skill Requirements:** Pseudo-Random number generation theory, C programming.
|
||||
**Desirable skills:** 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]] .
|
||||
|
@ -172,7 +172,7 @@ ___
|
|||
|
||||
___
|
||||
#### Wrap and test the Qt framework
|
||||
**Skill Requirements:** Knowledge of C++. Experience with the Qt framework is desirable.
|
||||
**Desirable skills:** Knowledge of C++. Experience with the Qt framework is desirable.
|
||||
|
||||
**Description**:
|
||||
* Wrap the [Qt framework](http://qt-project.org/) with the help of the c2nim tool, or otherwise.
|
||||
|
@ -185,7 +185,7 @@ ___
|
|||
**Mentor:** Araq ([@Araq](http://github.com/Araq)), zahary ([@zah](http://github.com/zah))
|
||||
___
|
||||
#### Wrap and test GTK3
|
||||
**Skill Requirements:** Knowledge of C. Experience with the GTK+ is desirable.
|
||||
**Desirable skills:** Knowledge of C. Experience with the GTK+ is desirable.
|
||||
|
||||
**Description**:
|
||||
* Wrap GTK3 with the help of the c2nim tool, or otherwise.
|
||||
|
@ -199,7 +199,7 @@ ___
|
|||
|
||||
## Tools & Infrastructure
|
||||
#### Nimbuild
|
||||
**Skill Requirements**: JSON parsing, modular program construction, inter-process communication.
|
||||
**Desirable skills**: 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.
|
||||
|
@ -213,7 +213,7 @@ ___
|
|||
|
||||
___
|
||||
#### Babel
|
||||
**Skill Requirements**: Knowledge of Git and other version control systems.
|
||||
**Desirable skills**: Knowledge of Git and other version control systems.
|
||||
|
||||
**Description**:
|
||||
|
||||
|
@ -236,7 +236,7 @@ ___
|
|||
* Model it after re2c or the Ragel state machine generator
|
||||
* Alternatively model it after Flex.
|
||||
|
||||
**Skill Requirements**: Knowledge of lexer generators. How to translate regexes into DFAs and how to optimize the resulting automatons.
|
||||
**Desirable skills**: Knowledge of lexer generators. How to translate regexes into DFAs and how to optimize the resulting automatons.
|
||||
|
||||
|
||||
|
||||
|
@ -250,7 +250,7 @@ ___
|
|||
* Ragel is a widely used state machine generator which supports C, C++ etc. But not Nimrod. So let's change that.
|
||||
* http://www.complang.org/ragel/
|
||||
|
||||
**Skill Requirements**: Knowledge of Ragel's internals.
|
||||
**Desirable skills**: Knowledge of Ragel's internals.
|
||||
|
||||
**Difficulty:** Medium
|
||||
|
||||
|
|
Loading…
Reference in New Issue