[Haskell-beginners] help with type error in a wxHaskell program

Jason J. Corso jjcorso at eecs.umich.edu
Sat Nov 21 13:28:01 UTC 2015


I'm new to Haskell and to wxHaskell (but found playing with wxHaskell
to be a nice mid-ground between my years of imperative experience and
the pure functional).  Thanks for the help.

I wrote the following code to create a set of staticText widgets by
mapping the layout over a list.  Easy enough...

module Main where
import Graphics.UI.WX
main :: IO ()
    = start gui
gui :: IO ()
gui = do
        f <- frame
        let s = map (\t -> staticText f [text := show t]) [1..10]
        set f [layout := margin 10 ( row 2 $ map (\x -> (widget x)) s)]

But, I get a type error that I do not understand

    Couldn't match expected type ‘IO (Window a0)’
                with actual type ‘[Prop (Frame ())] -> IO (Frame ())’
    Probable cause: ‘frame’ is applied to too few arguments

Thank you in advance,

More information about the Beginners mailing list