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

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

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

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    170 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us