|20-CS-4003-001||Organization of Programming Languages||Fall 2017|
|Lab Assignment 9|
Due: 8 November, 2017 (submit instructions: here)
|Simple warmup exercise.|
|Lab Problem (three parts):|
1. Create a haskell procedure called merge that takes as input two
(possibly infinite) lists of increasing integers and outputs a single
increasing sequence consisting of all the numbers in the two input lists.
For example, if the input lists are
*Main> merge [3,7,8,12,89] [1,2,8,9,19,22] [1,2,3,7,8,8,9,12,19,22,89]
2. Create a haskell procedure called times that takes as input a positive integer m and a list of integers L and outputs a list of integers, each of which is m times its position counterpart in L. For example
*Main> times 3 [4,8,9,16] [12,24,27,48]
3. Create a haskell procedure called hamming that takes as input an increasing list P of prime numbers and outputs all integers whose prime factors are a subset of P, in increasing order. For example
*Main> take 20 (ham [3,5,11]) [3,5,9,11,15,25,27,33,45,55,75,81,99,121,125,135,165,225,243,275]Observe take must be used or else haskell attempts to print the entire (infinite) list.