Group: Guile/GSoC-2016
This page is for tracking ideas and process for participating in Google Summer of Code 2016.
Contents
Possible topics
Texinfo modules
GNU Texinfo is the official documentation format of the GNU project. Guile is already providing a set of modules (texinfo ...) which are able to partially parse the Texinfo format. The project would consist in implementing the missing features such as indices. Additionnaly a command line interface would be added and the correctness of the global implementation will be verified by using the Texinfo test suite.
Possible mentors:
Argp command line interface
Argp is a C interface for parsing unix-style argument vector. Argp provides features unavailable in the more commonly used getopt interface. These features include automatically producing output in response to the '--help' and '--version' options, as described in the GNU coding standards. Using Argp makes it less likely that programmers will neglect to implement these additional options or keep them up to date.
The project would consist of implementing a Guile module (ice-9 argp) which provides the same functionalities and semantics as the C version.
Possible mentors:
Guile compilation
Guile provides in its repository some Automake snippets which can be copy pasted in Guile projects using the Autotools. This is suboptimal because those snippets contains non-trivial code and are often manually tweaked by each project without handling all the portability issues.
This project would consist of implementing Guile support in GNU Automake (See bugreport). This would require some coordination with GNU Automake.
Another optional part would consist of improving 'guild compile' to allow compilation of multiple Guile modules in the same process like what Guix is doing (but without the thread safety issue). This matters for scalability reasons to allow projects with a lot of modules to not load the same modules again and again.
Possible mentors:
Javascript backend
Continue the work done on the Javascript backend to bring GNU Guile programming to web browsers.
Possible mentors: