[Haskell-beginners] help with type error in a wxHaskell program
Jason J. Corso
jjcorso at eecs.umich.edu
Sun Nov 22 11:37:02 UTC 2015
Thank you both for the help. There was another mistake after this
piece. The let s = map... led to a [IO (StaticText())] and it had to
be changed as below. The below code works. Thanks again.
module Main where
import Graphics.UI.WX
main :: IO ()
main
= start gui
gui :: IO ()
gui = do
f <- frame [text := "First Fix!"]
ss <- mapM (\t -> staticText f [text := show t]) [1..10]
set f [layout := margin 10 ( row 2 $ map (\x -> (widget x)) ss)]
Jason
On Sat, Nov 21, 2015 at 10:52 PM, Kim-Ee Yeoh <ky3 at atamo.com> wrote:
>
> On Sat, Nov 21, 2015 at 8:28 PM, Jason J. Corso <jjcorso at eecs.umich.edu>
> wrote:
>>
>> 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
>
>
> This is a consequence of the line "f <- frame" in
>
> 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)]
>
> I have no experience at all with wxHaskell. But for the sake of forward
> motion, substituting with "f <- frame []" should work.
>
> -- Kim-Ee
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
More information about the Beginners
mailing list