While many features are already present or easily feasible in L, many parts of the current implentation are both naive and incomplete. Some parts are clear, some parts are clearly dirty as I didn't spend time to rewrite them. I wanted to create quickly something simple to have a clear view of the whole picture, and so that people could easily start hacking on it. So if your contribution implies writing something in C, you can just keep it simple, and make it in such a way that it could easily be redone efficiently later. If you write something in L on the contrary, try making it both clear and efficient. If you have written something functional but lack features to finish it, just write it in your code.
The goal we should be striving for version 1.0 is that L should be self hosting, that is to say, we have to port the whole compiler to L. This can be done incrementally while adding new features to L (work on it has already begun). The C code will thus be ultimately thrown away; thus it's no use spending time optimising it.
Further releases will extend the libraries, optimize the compiler, create new backends...So do not hesitate, if you are interested in compiler technology or programming languages in general, please join the L project! Whatever your skills are, you should be able to contribute to L. If there is something in the following list that you'd like to do, please say so on the l-lang-dev mailing list, so that work is not duplicated, and so that I can help you on the understanding of the task and its context. I have put some of the tasks that are needed to do, along with the estimated difficulty, time estimated to complete the task, and relative urgency (if you want to pick up one, please say so on the project mailing list, l-lang-devel at nongnu.org):