module Step_3_4 where import Text.Html page = thehtml << [ header << (thetitle << "Output") , body << [ h1 << "A to do list:" , thediv << toDoHtml ] ] -- Rewrite all of this to use a type synonym for the tuple. toDoItems :: [(Bool, String)] -- a list of tuples: each a Bool and String toDoItems = [ (True, "Pick up avacados") , (True, "Make snacks") , (False, "Clean house") , (False, "Have party") ] formatToDo :: (Bool, String) -> Html formatToDo (True,item) = li << item formatToDo (False,item) = li << bold << item renderToDo :: [(Bool, String)] -> [Html] renderToDo ts = map formatToDo ts toDoHtml :: Html toDoHtml = ulist << renderToDo toDoItems