Skip to content

Final assignment: Programming language design document

Notifications You must be signed in to change notification settings

rtoussaint/pldesign

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation

Final Assignment: Program Language Design

Due Thursday, May 2, 2013

Overview

For your final assignment, you will be tasked with designing your very own programming language!

Please fork this repository and modify the assignment.md document. We have provided a skeleton for your design document. Each section outlines some of the key points that you should discuss. Under each section are a series of bullet points that provide some considerations you may or may not want to talk about. You shouldn't incorporate all of them - they are just suggestions to get the ball rolling.

When discussing the decisions you have made in designing your language, please justify each and weigh the pros and cons. Simply stating that your programming language is an "interpreted, imperative, hybrid functional/object-oriented, dynamically-typed, generic, garbage-collected language" isn't enough.

Things to Remember

In particular, you should design your language with specific goals and use cases in mind. Whether you're designing a domain-specific language or general purpose language, you are still going to need to optimize and make decisions with a purpose in mind.

We're focusing on the semantics of your language, not the syntax. Syntax will show through in your code examples; however, you may want to consider how the grammar of your language is going to be structured.

Make sure that your language actually comes together as a whole. Don't mash together contradictory features just for the sake of doing so.

Remember, there's a trade-off to everything.

Sometimes less is more.

Appendix

Resources

Further Reading

About

Final assignment: Programming language design document

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published