nim-wiki/GSoC-2014-Ideas.md

30 lines
1.6 KiB
Markdown
Raw Normal View History

2014-02-10 20:48:10 +00:00
# Introduction
...
# Projects
## Compiler
2014-02-10 22:41:33 +00:00
- **Add support for coroutines**
- **Fix bugs with iterators/generics**
- **Fix/Expand Compiler as a Service features**
2014-02-10 20:48:10 +00:00
## Standard Library
2014-02-10 22:41:33 +00:00
- **Integrate and expand new async io module**
2014-02-10 22:25:41 +00:00
2014-02-10 22:41:33 +00:00
- **Enhance the filesystem monitoring module "fsmonitor.nim"**
2014-02-10 22:35:56 +00:00
* Allow the fsmonitor module to work on 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 sockets.poll) from the api, allowing easier implementations of native backends.
* Integrate the fsmonitor module's polling mechanism into the new asynchronous io modules.
2014-02-10 22:25:41 +00:00
2014-02-10 22:41:33 +00:00
- **Add a cross-platform stat()-like procedure to the operating system module "os.nim"**
2014-02-10 22:35:56 +00:00
* 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.
2014-02-10 22:41:33 +00:00
- **Enhance and expand standard library documentation**
2014-02-10 22:35:56 +00:00
* 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
* Add search capabilities to the documentation
2014-02-10 20:48:10 +00:00
2014-02-10 22:10:31 +00:00
## Tools & Infrastructure
2014-02-10 22:41:33 +00:00
- **Update and refactor nimrod builder**
2014-02-10 22:25:41 +00:00
* 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.