spell check

This commit is contained in:
Dennis Felsing 2015-02-20 15:25:17 +01:00
parent 2ecf56423d
commit a569f6b042
1 changed files with 10 additions and 10 deletions

View File

@ -3,7 +3,7 @@ Below is a list of project ideas for [GSoC 2015](https://www.google-melange.com/
[Nim](http://nim-lang.org) is a statically typed programming language which compiles primarily to C and has an excellent performance/productivity ratio. Nim's design focuses on efficiency, expressiveness, elegance.
Areas of the project you may wish to work on include the [Nim compiler](#wiki-nim-compiler) which is itself written in Nim, Nim's [standard library](#wiki-standard-library) and/or the [tools and infrastructure](#wiki-tools--infrastructure) of Nim which includes the Nim build farm (Nimbuild) and the Nim package manager (nimble).
Areas of the project you may wish to work on include the [Nim compiler](#wiki-nim-compiler) which is itself written in Nim, Nim's [standard library](#wiki-standard-library) and/or the [tools and infrastructure](#wiki-tools--infrastructure) of Nim which includes the Nim package manager (nimble).
To get started you will need to clone the Nim repository and then subsequently bootstrap the compiler, instructions for doing this are located [here](https://github.com/Araq/Nim#compiling). You can then move onto the [tutorial](http://nim-lang.org/tut1.html) and read through the [other documentation](http://nim-lang.org/documentation.html) as well.
@ -135,7 +135,7 @@ examples](https://github.com/def-/nim-unsorted) with the JS backend.
* Make JS test cases.
**Bonus points:**
* Speed up the JavaScript backend by targetting `asm.js`.
* Speed up the JavaScript backend by targeting `asm.js`.
* Write a library for communication between client-side Nim (compiled to JavaScript) and server-side Nim (compiled to C).
**Expected Result:** Nim becomes more usable for client-side website development.
@ -319,7 +319,7 @@ libraries like OpenMPI or MPICH. Afterwards it will be interesting how to deal
with the C preprocessor macros specifying the differences between MPI
implementations. You will need to investigate whether a solution such as [in
Julia](https://github.com/lcw/MPI.jl/blob/master/deps/make_f_const.f) will be
necessary to create a custom wrapper for each MPI implementation. Preferrably
necessary to create a custom wrapper for each MPI implementation. Preferably
this would be solved directly with Nim's capabilities, and the close relation
to C could come in handy here.
@ -402,7 +402,7 @@ ___
**Description:**
Lexer generators are useful tools for writing all sorts of parsers. Currently Nim lacks native lexer generators. This project involves the implementation of a lexer generator. It should be modelled after [re2c](http://re2c.org/) or alternatively it can be based on the wide number of existing lexer generators such as Flex.
Lexer generators are useful tools for writing all sorts of parsers. Currently Nim lacks native lexer generators. This project involves the implementation of a lexer generator. It should be modeled after [re2c](http://re2c.org/) or alternatively it can be based on the wide number of existing lexer generators such as Flex.
Here is a sketch of a possible implementation:
@ -424,7 +424,7 @@ ___
**Description:**
[Ragel](http://www.complang.org/ragel/) is a "finite-state machine compiler with output support for C, C++, C#, Objective-C, D, Java, OCaml, Go, and Ruby source code." This project involves the implementation of a Nim backend for Ragel. This can be based on the large number of pre-existing backends listed previously. Ragel itself is written in C++, so C++ programming should be familiar to you. Ragel embeds code in the backend language directly and then generates a regular source code file from this. Ideally the new Nim backend would end upstream in Ragel, but alternatively we can maintain it ourselves.
[Ragel](http://www.complang.org/ragel/) is a "finite-state machine compiler with output support for C, C++, C#, Objective-C, D, Java, OCaml, Go, and Ruby source code." This project involves the implementation of a Nim backend for Ragel. This can be based on the large number of preexisting backends listed previously. Ragel itself is written in C++, so C++ programming should be familiar to you. Ragel embeds code in the backend language directly and then generates a regular source code file from this. Ideally the new Nim backend would end upstream in Ragel, but alternatively we can maintain it ourselves.
**Tasks:**
* Become familiar with the template format used by Ragel and Ragel internals by studying how it works with other language backends.