
CS345H: Programming Languages Lecture 13: Type Inference II Thomas Dillig Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 1/34 I Goal: Take what we studied and apply it to a project you design yourself I This is a team project: Teams must be between 3 and 5 students First: Your Project I Today is the start of your course project Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 2/34 I This is a team project: Teams must be between 3 and 5 students First: Your Project I Today is the start of your course project I Goal: Take what we studied and apply it to a project you design yourself Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 2/34 First: Your Project I Today is the start of your course project I Goal: Take what we studied and apply it to a project you design yourself I This is a team project: Teams must be between 3 and 5 students Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 2/34 I Adding type inference to L I Speeding up the L interpreter I Adding major language features to L I Type inference with novel error reporting I ... I Some possible examples: I Your creativity is the limit Possible Topics I Your goal is to add at least one major feature to the L language Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 3/34 I Adding type inference to L I Speeding up the L interpreter I Adding major language features to L I Type inference with novel error reporting I ... I Your creativity is the limit Possible Topics I Your goal is to add at least one major feature to the L language I Some possible examples: Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 3/34 I Speeding up the L interpreter I Adding major language features to L I Type inference with novel error reporting I ... I Your creativity is the limit Possible Topics I Your goal is to add at least one major feature to the L language I Some possible examples: I Adding type inference to L Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 3/34 I Adding major language features to L I Type inference with novel error reporting I ... I Your creativity is the limit Possible Topics I Your goal is to add at least one major feature to the L language I Some possible examples: I Adding type inference to L I Speeding up the L interpreter Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 3/34 I Type inference with novel error reporting I ... I Your creativity is the limit Possible Topics I Your goal is to add at least one major feature to the L language I Some possible examples: I Adding type inference to L I Speeding up the L interpreter I Adding major language features to L Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 3/34 I ... I Your creativity is the limit Possible Topics I Your goal is to add at least one major feature to the L language I Some possible examples: I Adding type inference to L I Speeding up the L interpreter I Adding major language features to L I Type inference with novel error reporting Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 3/34 I Your creativity is the limit Possible Topics I Your goal is to add at least one major feature to the L language I Some possible examples: I Adding type inference to L I Speeding up the L interpreter I Adding major language features to L I Type inference with novel error reporting I ... Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 3/34 Possible Topics I Your goal is to add at least one major feature to the L language I Some possible examples: I Adding type inference to L I Speeding up the L interpreter I Adding major language features to L I Type inference with novel error reporting I ... I Your creativity is the limit Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 3/34 I Nov. 13st 12:30pm: Email me a one page proposal for your project as pdf clearly describing what you want to do and list your team members I Will receive feedback from proposal I Dec. 11st 12:30pm : Project due. No late days. Deliverables & Time line I Today: Start of project, form teams Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 4/34 I Will receive feedback from proposal I Dec. 11st 12:30pm : Project due. No late days. Deliverables & Time line I Today: Start of project, form teams I Nov. 13st 12:30pm: Email me a one page proposal for your project as pdf clearly describing what you want to do and list your team members Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 4/34 I Dec. 11st 12:30pm : Project due. No late days. Deliverables & Time line I Today: Start of project, form teams I Nov. 13st 12:30pm: Email me a one page proposal for your project as pdf clearly describing what you want to do and list your team members I Will receive feedback from proposal Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 4/34 Deliverables & Time line I Today: Start of project, form teams I Nov. 13st 12:30pm: Email me a one page proposal for your project as pdf clearly describing what you want to do and list your team members I Will receive feedback from proposal I Dec. 11st 12:30pm : Project due. No late days. Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 4/34 I All your source code in a tar.gz file compiling on Ubuntu I You will be graded on size of chosen challenge, your solution and your written report I Since every project is unique, you will get lots of feedback throughout I If you are passionate about a PL project not related to L, or want to tackle something especially large with more people, etc: Ask! I Any questions? Final Deliverables I Report written in LateX (at least 15 pages) describing clearly what problem you are solving, what choices you made, challenges encountered and your results. Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 5/34 I You will be graded on size of chosen challenge, your solution and your written report I Since every project is unique, you will get lots of feedback throughout I If you are passionate about a PL project not related to L, or want to tackle something especially large with more people, etc: Ask! I Any questions? Final Deliverables I Report written in LateX (at least 15 pages) describing clearly what problem you are solving, what choices you made, challenges encountered and your results. I All your source code in a tar.gz file compiling on Ubuntu Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 5/34 I Since every project is unique, you will get lots of feedback throughout I If you are passionate about a PL project not related to L, or want to tackle something especially large with more people, etc: Ask! I Any questions? Final Deliverables I Report written in LateX (at least 15 pages) describing clearly what problem you are solving, what choices you made, challenges encountered and your results. I All your source code in a tar.gz file compiling on Ubuntu I You will be graded on size of chosen challenge, your solution and your written report Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 5/34 I If you are passionate about a PL project not related to L, or want to tackle something especially large with more people, etc: Ask! I Any questions? Final Deliverables I Report written in LateX (at least 15 pages) describing clearly what problem you are solving, what choices you made, challenges encountered and your results. I All your source code in a tar.gz file compiling on Ubuntu I You will be graded on size of chosen challenge, your solution and your written report I Since every project is unique, you will get lots of feedback throughout Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 5/34 I Any questions? Final Deliverables I Report written in LateX (at least 15 pages) describing clearly what problem you are solving, what choices you made, challenges encountered and your results. I All your source code in a tar.gz file compiling on Ubuntu I You will be graded on size of chosen challenge, your solution and your written report I Since every project is unique, you will get lots of feedback throughout I If you are passionate about a PL project not related to L, or want to tackle something especially large with more people, etc: Ask! Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 5/34 Final Deliverables I Report written in LateX (at least 15 pages) describing clearly what problem you are solving, what choices you made, challenges encountered and your results. I All your source code in a tar.gz file compiling on Ubuntu I You will be graded on size of chosen challenge, your solution and your written report I Since every project is unique, you will get lots of feedback throughout I If you are passionate about a PL project not related to L, or want to tackle something especially large with more people, etc: Ask! I Any questions? Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 5/34 I Big idea: Replace all concrete type assumptions with type variables I Collect constraints on these type variables I Find most general solution for these constraints to deduce types Introduction I Recall for last time: We are inferring types Thomas Dillig, CS345H: Programming Languages Lecture 13: Type Inference II 6/34 I Collect constraints on these type variables I Find most general
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages170 Page
-
File Size-