check in every day

Thu Apr 16 17:30:09 EST 2015

The make-up class on April 20th will be held 1:35pm to 3:15pm in 366 WVH.

Tue Apr 7 10:45:31 EST 2015

Since many of you weren’t able to meet with Andy Fong for feedback last week, I am extending the project deadline to tomorrow (April 8) at 5pm.

Tue Mar 31 22:54:49 EST 2015

The schedule for project presentations has been posted.

Thu Mar 26 10:15:13 EST 2015

Some students have asked for an extension on PS8, so I’ve decided to extend the deadline to Monday, March 30th at 1pm.

PS 8 is designed to make you think about:
  • type system design: You may encounter situations where it’s not immediately clear from the problem description how I want you to design the type system. I do not want to resolve such ambiguities for you. Instead, I want you to think through the consequences of picking one option versus another and justify your design decision.

  • issues that may arise when you go from a language on paper to a model of the same language: You may also encounter situations where the type system you want to write down on paper may not be easy to model in Redex without minor changes to the syntax provided in PS 8. Keep in mind that it is okay to make small changes to syntax when going from your language on paper to the model, but any time you do so, you have to use judgment in deciding what is a small change and justify your decision.

For both of the points above, please include a short explanation in the README of the design issue you were faced with and justify your choice.

Finally, let me give you a hint that might be useful to some of you. Take the Redex model of STLC and extend it with tagged sums: i.e., types t1 + t2, and terms inl e, inr e, and case as we did in class. What issue do you run into when extending your type judgment with a typing rule for inl e and inr e? How do you get around the problem?

Wed Mar 18 21:55:22 EST 2015

On PS7, problem 1, the file name 3.rkt seems to be causing a lot of confusion. Note that 3.rkt is my solution to PS3, problem 3. Your solution to PS3, problem 3 was called (for whatever your xyz was).

Now, PS7, problem 1 says that the comparison script cmp.bash takes two executables on the command line. For you, the first executable is your (i.e., your solution to PS3, problem 3), while the second executable is your modified 7-script.rkt.

Tue Mar 17 22:29:54 EST 2015

For PS 7, problem 2, assume that STLC has one base type, Bool, just as we had on PS 5, problem 2.

Note that there is no class on Friday, March 20th, due to the PhD open house.

Tue Mar 10 23:13:04 EST 2015

I have changed the due date for the project. The draft project report is due to Mr. Fong by March 31st; the final project due date is April 7th.

Sun Feb 22 22:47:10 EST 2015

PS6 asks you to submit a revised solution to problem 3 from PS3. Since you did PS3 with your old partner, you may pick either one of your two solutions to revise. You must NOT collaborate/discuss with your old partner when you do the revisions and I expect the new partner to understand the code they are now attaching their name to.

Sun Feb 22 22:47:10 EST 2015

Here is a Redex model of the type system from Friday’s lecture: lec10.rkt and here is tut-subst.rkt.

Tue Feb 17 22:41:04 EST 2015

Here is code from today’s lecture: lec09.rkt.

As announced in class, you have a two-day extension for your proposal draft. You must turn in your proposal draft to Andy Fong by Friday, Feb 20th.

Mon Feb 16 20:50:31 EST 2015

Approved projects are up on the Project page.

Sat Feb 14 10:13:49 EST 2015

Problem Set 4 is posted (due Feb 20th). You must work on PS4 with a new partner.

Here is code exploring different reduction semantics: subst, Lambda-CBV, Lambda-CBN (for you to complete), Lambda general reduction, Lambda-CBV with booleans, and Lambda-CBV with numbers.

Sun Feb 8 13:10:22 EST 2015

Problem Set 4 will be due on February 20th and will have to be done with a new homework partner.

I expect you to spend the coming week on selecting a paper (and a partner) for your project. See me or email me early this week to discuss whether the papers you are considering are appropriate. I will need time to read/skim the paper, so factor that into the timeline. If you tell me nothing about your paper till Feb 13th, you run the risk of having your choice rejected, which means you’ll have less time left to identify another paper and work on your proposal memo.

Fri Feb 6 08:55:50 EST 2015

A couple of students have requested an extension on PS3 so I have decided to grant everyone an extension till Saturday 6pm.

Wed Feb 4 10:30:10 EST 2015

A reminder that you need to get approval for your project topic by Feb 13. You’ll also need to identify a project partner. See project page for details.

Wed Feb 4 10:18:52 EST 2015

For PS3, Problem 2, you can use Racket’s error function to report errors.

Sat Feb 1 21:10:13 EST 2015

Here is the code from Friday’s lecture: 5.rkt and 5a.rkt.

Thu Jan 29 13:18:44 EST 2015

I have added a clarification (highlighted in red) to Problem 3 on PS2.

Also, if you haven’t done so already, read the lecture on Accumulators before Friday’s class.

Wed Jan 28 22:25:22 EST 2015

Due to the snow cancellation on Tuesday, we weren’t able to cover accumulator-based design which is relevant for Problem 1 (dive) and Problem 3 on PS2. Therefore, I am extending the PS2 deadline till 6pm on Saturday 1/31.

Sun Jan 25 11:44:04 EST 2015

Here is the code from lecture: 4.rkt, 4a.rkt, 4b.rkt, 4c.rkt.

Thu Jan 22 21:04:31 EST 2015

Print your memo (PS1, problem 1) and take it to Andy Fong (202 WVH) tomorrow (Friday, Jan 23). He will mark it up over the weekend. Also, schedule a meeting with him sometime during the week of Jan 26 to get one-on-one feedback. A PDF of the revised memo (after incorporating Andy’s feedback) should be submitted with PS3.

Thu Jan 22 10:17:04 EST 2015

Here is the code from lecture: bool-or/reduction and defining metafunctions. Read the files in conjunction with Part II of the Redex textbook.

Tue Jan 13 23:18:13 EST 2015

Partner choice: Choose your homework partner by Friday, January 16. By noon on Friday, one of the partners should send me an email at my CCIS address – cc to his or her partner – with the full names of both partners in the body.

Mon Jan 12 17:59:44 EST 2015

Welcome to iPPL (CS 7400).

Please bring a letter-sized sheet of paper to our first meeting, fold it in half along the long axis, write down your favorite programming language, and place it in front of you so that the name of the language is visible from the front of the room.