Question: **** In standard ML of New Jersey **** Objectives Implement a function that mimics built-in map function in SML. Apply foldr, foldl , and map

**** In standard ML of New Jersey ****

Objectives

Implement a function that mimics built-inmapfunction in SML.

Applyfoldr, foldl, andmapto solve some problems with a single line of code.

Problem description

Implement the following five functions:

1. Define a function namedmymap1with the same type and behavior as built-inmapfunction without actually usingmap. This should be one line of code and should usefoldrorfoldl. (Refer to problemExercise 24 on page 147.)

2. Define a function namedmymap2with the same type and behavior asmap, but unlike before you may not usefoldrnorfoldl. You still cannot usemapitself either. (Refer to problem Exercise 26 on page 147.)

3. Write a function namedordlistof type charlist -> int listthat takes a list of characters and returns the list of integer codes of those characters. For example, if you evaluateordlist[#A,#b, #C]you should get[65, 98, 67]. (Refer to Exercise 2 on page 144.)

4. Write a function namedmylengthof typea list -> intthat returns the length of a list. You can not use the built-inlengthfunction. (Refer to Exercise 11 on page 145.)

5. Write a function namedmaxof typeint list -> intthat returns the largest element of a list of integers. Your function must use eitherfoldrorfoldland need not behave well if the list is empty.

Sample run

$ sml

Standard ML of New Jersey (64-bit) v110.99 [built: Thu Dec 2411:47:232020]

- use "ProjectThree.sml";

[opening ProjectThree.sml]

val mymap = fn : ('a -> 'b) -> 'a list -> 'b list

val mymap2 = fn : ('a -> 'b) -> 'a list -> 'b list

val mylength = fn : 'a list -> int

val ordlist = fn : char list -> int list

val max = fn : int list -> int

val it = () : unit

- ordlist [#"A", #"B", #"C"];

val it = [65,66,67] : int list

- mylength [];

val it = 0 : int

- mylength [9, 1, 4, 2, 3, 8, 7];

val it = 7 : int

- max [8, 2, 5, 9, 4, 7, 1, 3];

val it = 9 : int

- max [~1,5,0];

val it = 5 : int

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!