basic contains simple programs that illustrate one eponymous concept at a time examples contains more complex examples non-reg contains more tricky examples that aims at chalenging compilers