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
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
doesn’t 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
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.
Please see the screen shot on next page
The file need to be submitted through blackboard link on time. The file name should
be YourNameProjThree.sml. Due date will be announced on blackboard.