The Next 700 Programming Languages