Programming Language Final Project
Throughout the course of this class you will have been learning the technical components and phases of a compiler, as well as some of the theory surrounding language designs and abstractions. The final project you will be working on throughout the course of this semester will be to design and implement a language of your own.
Your proposal should provide the teaching team with a general idea of the kind of language you want to construct and show that you’ve put thought into the features and paradigms involved in your language. Over the course of actually constructing this language, we expect the overall vision of the language to evolve so you are not committed to creating the exact language you propose here. This proposal should include:
|Motivation||A short, high-level description of the language and why this specific combination of characteristics and features make it useful/the types of programs and use cases in which it would be most useful|
|Paradigms and Features||The choice of combinations of language paradigms and the subset of features you've chosen to implement in the language featured in the project Excel sheet sent out (if you've made a choice that deviates from one of the suggested projects please make a note of this in the proposal)|
|"Hello World" Program||A minimal program that illustrates the general look of the language syntax and uses some subset of the language constructs and features to execute a simple task|
|"Language in One Slide" Program||A concise program that encapsulates the core language constructs and primary language features that characterize your programming language (see for example the "OCaml in One Slide" slide in the OCaml lecture PPT)|
This proposal should be 2-3 pages long. Please only have one member per team submit your language proposal on Courseworks.