It seems like a lot of languages have this (search wikipedia for the term). I don't know anything about them, so it'll take a lot of research to make a decent one.