a language which is designed to illustrate as many areas in compiler as possible and keep all areas as simple as possible but also practical and extensible