CSci 450: Org. of Programming Languages
CSci 503: Fundamental Concepts in Languages
Assignment #5, Fall 2017

H. Conrad Cunningham

6 November 2017

Assignment #5

Revised Deadline! Thursday, November, 11:59 p.m

General Instructions

All homework and programming exercises must be prepared in accordance with the instructions given in the Syllabus. Each assignment must be submitted to your instructor by its stated deadline.

Citations: In accordance with expected scholarly and academic standards, if you reference outside textbooks, reference books, articles, websites, etc., or discuss an assignment with individuals inside or outside the class, you must document these by including appropriate citations or comments at prominent places in your submission such as in the header of the primary source file.

Identification: Put your name, course name, and assignment number as comments in each file you submit.

Assignment Description

  1. This is an individual assignment. When complete, submit your Haskell source and testing modules to the course Blackboard site.

    Be sure to document your code appropriately using program comments. Give attention to the general instructions given above and in the Syllabus.

  2. Read the Sandwich DSL Case Study carefully.

  3. All students: Do all exercises in Exercise Set A. Put your solutions in a module SandwichDSL (in a file named SandwichDSL.hs. You may begin with the file SandwichDSL_base.hs and modify it as needed.

  4. Graduate studets and as an extra-credit challenge for undergraduates: Do the two exercises in Exercise Set B.

  5. Test your module thoroughly. Put your testing code in a module named SandwichTest (in file SandwichTest.hs).