Some things from my copious ToDo list that would both be good learning exercises and helpful to the erlang community at large:
Profile all the available Key/Value stores:
- Write a library for testing insert, lookup, delete, search times for a variety of K/V stores
- Create a benchmark suite people can run
- Make it work with ets, dets, proplists, gb_trees, dict, orddict, redblack trees, bdb, tokyocabinet, ...
- Produce pretty graphs
- Make it easy to update, contribute to and run on anyone's machine
write a new io_lib:format routine that uses named parameters:
- io_lib:nformat("Hi there ~{name}s~n.", [{name, "Bob"}]).
- This is useful for internationalisation if the position of parameters changes when the language of the format string changes.
Extend erl -make (make.erl)
- Allow adding code paths (so that you don't need to do erl -pa LibraryPath -make)
- Compile/load behaviour modules before modules that implement those behaviours
- Handle hierarchal modules correctly (output path in particular)