Haskell: [String] to IO () -


i new haskell , trying list of values input , print 1 item out list each line.

func :: [string] -> io () 

i having trouble trying figure out how print out item in list, when list size 1.

func [] = return ()   func [x] = return x 

i getting error message when trying compile file:

couldn't match expected type `()' actual type `string'     in first argument of `return', namely `x'     in expression: return x 

i lost , have tried searching haven't found anything. thanks!

you can use form_ this:

func :: [string] -> io () func l = form_ l putstrln 

if want write own version directly, have problems.

for empty list, have nothing create value of io (), can return.

for non-empty list want output line putstrln , process rest of list. non-empty list of form x:xs x head of list , xs tail. second pattern matches one-element list.

func [] = return () func (x:xs) = putstrln x >> func xs 

Comments

Popular posts from this blog

Delphi XE2 Indy10 udp client-server interchange using SendBuffer-ReceiveBuffer -

Qt ActiveX WMI QAxBase::dynamicCallHelper: ItemIndex(int): No such property in -

Enable autocomplete or intellisense in Atom editor for PHP -