On Habré topics often occur, in which students of CS specialties are asked to help them with the choice of course and diploma topics. This is not surprising, since usually the topics that scientific leaders propose are interesting only to themselves, and the situation is when the student does the work, but does not see the meaning in it. It seems to me that it is very terrible when a person is not interested in his work.
It would be much better if the student understood that he was doing the right thing, for which many people would be grateful to him. One of the ways to achieve this is to participate in popular open source projects related to his specialty. Good candidates are compiler / interpreter programming language projects, as these are high-tech projects (type inference algorithms, PEG, monads, type theory ...) and objectively useful projects (if the language is popular enough).
As you can guess, I propose to participate in the development of the Nemerle language. This is a rather unique project, since it is on a par with such a language as scala, it is supported by people from Russia, and it is not so popular yet that it would avoid breaking with all its might.
Below I have listed some tasks that are not yet implemented, but which are in terms of development
- Coroutine support through source code transformation, as done in scala since version 2.8. This task can be implemented entirely through macros without changing the compiler itself ( details )
- Add a C # file parser so that you can use Nemerle on existing C # projects and use existing designers and autogenerators
')
I am not a Nemerle developer, but I use it in my thesis work and I am interested in its development. For all the details, refer to the Nemerle
forum on rsdn. The Nemerle repository is open for reading, so you can study it now. The language itself is simple, and a person who knows C # can quickly (several days) understand its basics.