You are here:
(27 Nov 2007,
*To be handed in on October 28, 9:00 PM*, by email to email@example.com Start working from the file [[%ATTACHURL%/Infer.hs][Infer.hs]]: and perform the following tasks: 1Define a sufficiently rich <pre>StateMonad</pre> instance, and construct a working type inferencer. 1Change the definitions so you also count the number of unifications needed when inferencing the code. For inspiration you may read some papers by Phil Wadler about the use of Monads (e.g. in LNCS 925), or by grabbing a paper from his home page. 1 For those who have done IPT write a one page summary in which you compare this approach with the one using attribute grammars to solve the same problem. With respect to the workflow system perform the following (AnswersToSomeQuestions): 1 using the IO Monad in Haskell add code for the main loop of the program [[%ATTACHURL%/Workflow.hs][Workflow.hs]]:, which: 1 asks the user for his identity 1 shows which tasks can be performed since all ingredients are available 1 ask the user to type an identification of the taks he chooses to do 1 removes the needed items from the state of the system, and starts the loop again 1 define a set of attributes and predicates that corresponds to the problem described below, at the beginning of the course I got If you like this exercise you may extend it with the possibility to enter new items, and even a rule system for automatically generating more new items upon insertion of an item. I will write some more detailed documentation for this program in the weekend, which should make your life a bit easier. -- Main.DoaitseSwierstra - 17 Oct 2002 --- *To be handed in on October 14, 9:00 PM*, by email to firstname.lastname@example.org and if necessary the mail box of Main.JurriaanHage in CGN See the ProgramAnalysis page for the assignment. -- Main.JurriaanHage - 18 Oct 2002 --- *To be handed in on October 11, 9:00 PM*, by email to email@example.com See the ProgramTransformation page for the assignment. -- Main.EelcoVisser - 26 Sep 2002 --- *To be handed in on september 26, 9.00 pm*, preferably by email to firstname.lastname@example.org There exist several kinds of polymorphism: parametric polymorphism, ad-hoc polymorphism, inheritance polymorphism, etc. Search the literature and the web, and describe at least these kinds of polymorphism. Illustrate the different concepts with examples. Discuss and compare how the different concepts are or can be implemented in functional and object-oriented programming languages. Your paper should be no longer than 4 pages. -- Main.JohanJeuring - 18 Sep 2002 --- *To be handed in on september 19, 9.00 pm*, preferably by email to email@example.com Do the Array Overflow (1.2.3) challenge (it is in IST_LN_main.pdf downloadable from the [[Program Verification]] page). Write a *4 pages paper* explaining your idea and how you think your solution can be (partially) automated. -- Main.WishnuPrasetya - 11 Sep 2002 --- *To be handed in on september 10, 9.00 pm*, preferably by email to firstname.lastname@example.org 1 a one page summary of the paper *Strategic Directions in programming language research* What is Software Technology * See the [[What is Software Technology]] page for the slides of the lecture and a pdf of the paper. 1 a 2-3 page design of a _domain specific language_ for a _workflow system_: * you may find information about such systems on the web or in the library (try searching the ACM digital library on a computer in the library) * browse through a few descriptions and try to locate common, important concepts like _task_, _actor_, _date due_ etc * think about properties and relationships between these concepts * give a context free grammar of a language that might serve as the input language for some hypothetical workflow system * as a case study you might think about the workflow in our department that is associated with an exam session, such as: 1 assigning and notifying proctors 1 making a room 1 reseving a room, enetering it on the web site 1 having the exam checked by someone else 1 having the exam session (who are e.g. the actors here) 1 distributing the exam for marking, and collecting and computing final results 1 communicating the preliminary results to the students and having them entered in Osiris 1 checking that the marks were entered correctly 1 signing the final exam form 1 communicating the definitive results to the students 1 ... etc * of course you are free to take some oher case study, for example one with many actors and a branching structure Important things to notice are: * this exercise is not about designing the perfect workflow system, but only serves * to give you a feeling of what is involved when modelling and formalising something you have probably experienced and * to look back at, when you have followed more of this course so you may then reflect on how you have changed over time -- Main.DoaitseSwierstra - 04 Sep 2002
17 Oct 2002 - 20:03
17 Oct 2002 - 20:14
ore topic actions
Topic revision: r13 - 27 Nov 2007,
Introduction to Software Technology
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding UUCS?