Using a subset of a language can aid in automatic translation. Examples:
- TeX is written in Pascal and then converted to C
- RPython: subset of Python with different semantics
- Go language bootstrapping: convert the parser to a subset of C and then auto-convert to Go.
In oil: I wrote the osh parser in a limited subset of Python, thinking I might convert it to C++. Now I'm thinking about compiling to OVM first, and then later porting to oil (which we don't yet have a parser for.)