Question
Objectives: 1. Apply the concepts of folding 2. Apply the concepts of map 3. Implement mymap which works as built-in map function in sml 4.
Objectives:
1. Apply the concepts of folding
2. Apply the concepts of map
3. Implement mymap which works as built-in map function in sml
4. Apply foldr, foldl, and mymap to solve some problem in on line of code
Problem Description:
The student shall turn in five functions. You should use mymap1 and mymap2 in problem 3, 4, and 5 if it is needed. However, the best way to do so is you use built-in map to finish problem 3, 4, and 5 first. After they work, replace map with mymap1 or mymap2. If they still work, you can say that you implement them all correctly. If it doesnt work, then you now that your mymap1 or mymap2 maybe incorrect.
1. Define a function mymap1 with the same type and behavior as built-in map function but without using map. This should be one-line of code. Use foldr or foldl) (refer to problem Exercise 24 on page 147)
2. Define a function mymap2 with the same type and behavior as map. No map, foldr, or foldl can be used. (refer to problem Exercise 26 on page 147)
3. Write a function ordlist of type char list -> int list that take a list of characters and returns the list of integer codes of those characters. For example, if you evaluate ordlist [#A, #b, #C] you should get [65, 98, 67] (refer to Exercise 2 on page 144)
4. Write a function mylength fo type a list -> int that returns the length of a list. You cannot use the built-in length function. (refer to Exercise 11 on page 145)
5. Write a function max of type int list -> int that returns the largest element of a list of integers. Your function need not behave well if the list is empty.
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