Tasks for coursework

    Topics often arise on the hub, in which CS specialty students are asked to help them with a choice of topics for term papers and dissertations. This is not surprising, since usually the topics that scientific advisers offer are of interest only to themselves, and the situation is when the student does the work, but does not see the point in it. It seems to me that this 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 way to achieve this is by participating in popular open source projects related to his specialty. Good candidates are projects to create compilers / interpreters of programming languages, as these are high-tech projects (type inference algorithms, PEG, monads, type theory ...) and objectively useful projects (if the language is quite popular).

    As you might have guessed, I suggest participating in the development of the Nemerle language. This is a rather unique project, since it is on a par with a language like scala, it is supported by people from Russia, and it is not yet so popular that it would be possible to avoid breaking changes with all its might.

    Below I have listed some tasks that have not yet been 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 parser of C # files so that you can use Nemerle on existing C # projects and use existing designers and auto-generators

    I am not a Nemerle developer, but I use it in my thesis and am interested in its development. For all the details, you can contact 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 (a few days) understand its basics.

    Also popular now: