Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Q1) (30p) List Manipulation: Write a Haskell function called removeDuplicates that takes a list of integers as input and returns a new list with duplicate
Q1) (30p) List Manipulation: Write a Haskell function called removeDuplicates that takes a list of integers as input and returns a new list with duplicate elements removed. For example, if the input is [1,2,2,3,4,4,5], the output should be [1,2,3,4, 5]. Ensure that the order of elements in the output list remains the same as in the input list. Q2) (30p) Higher-Order Functions: Define a higher-order function in Haskell named applyTwice that takes a function f and a value x as arguments and applies the function f twice to x. The type signature of the function should be: applyTwice :: (a -> a) -> a -> a For example, if the function f is defined as double :: Int -> Int (doubling a number), then applyTwice double 3 should return 12. Q3) (40p) Monads and Input/Output: Implement a Haskell program that reads a line of text from the user, reverses it, and then prints the reversed text. Use the getLine and putStrLn functions for input and output, respectively. Ensure that the program performs these actions within the Io monad. The main function should have the following signature: main : : IO ( ) An example interaction with the program might look like this: Enter a line of text: CENG 241! Reversed Text: !142 GNEC
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started