how do you change the following haskell code into a high order function? -


define function

rmdups :: eq => [a] -> [a] 

that removes duplicates list. example, rmdups "ababca" should return "abc". order of elements in output list not important

here have done far: works:

 rmdups :: eq => [a] -> [a]  rmdups [] = []  rmdups (x:xs) = x : rmdups (filter(/= x) xs) 

this not work, doing wrong:

 rmdups = map head . group . sort 

you this:

import data.list (nub) rmdups = nub 

but assume you're not allowed.

otherwise, solution (rmdups = map head . group . sort) works me.

if compiler says group or sort not in scope, import data.list.

ps: believe meant "point free style", not "higher order function"

edit: user3217013 pointing that out.


Comments

Popular posts from this blog

html - Styling progress bar with inline style -

java - Oracle Sql developer error: could not install some modules -

How to use autoclose brackets in Jupyter notebook? -