SMS: Programming language design concepts