Language Subsets - oilshell/oil GitHub Wiki

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.)