SMS dit: Programming language design concepts