[Haskell-cafe] wxHaskell not in scope

Tsunkiet Man temp.tsun at gmail.com
Thu Apr 16 18:57:02 EDT 2009


PS: a small note, sorry for multiple mails.

After doing the let ... in function it did not work. =( It gave the error
that 'do' has to end with some result. I did:

do let <the function> in <all the code that was behind the do>

and it still didn't work =(. I'm doing something wrong I think.

Thanks for your help.

2009/4/17 Tsunkiet Man <temp.tsun at gmail.com>

> Thank you for your response, however if I can't do that, why can the
> example of wxHaskell do that?
>
> I refer to the following code inside
> http://darcs.haskell.org/wxhaskell/samples/wx/ (ImageViewer.hs)
>
> Line 99 untill 110
>
>     openImage sw vbitmap mclose status fname
>       = do -- load the new bitmap
>            bm <- bitmapCreateFromFile fname  -- can fail with exception
>            closeImage vbitmap
>            set vbitmap [value := Just bm]
>            set mclose [enabled := True]
>            set status [text := fname]
>            -- reset the scrollbars
>            bmsize <- get bm size
>            set sw [virtualSize := bmsize]
>            repaint sw
>        `catch` \err -> repaint sw
>
> if I'm correct the openImage is also defined in the where clause. Therefor
> by what I think it should not be possible, but it is.
>
> Thanks for everything.
>
>
>
>
>
> 2009/4/17 Lennart Augustsson <lennart at augustsson.net>
>
> Variables bound in the do block are not in scope in the where.
>> Use a let inside the do for onOpen instead.
>>
>> On Thu, Apr 16, 2009 at 11:53 PM, Tsunkiet Man <temp.tsun at gmail.com>
>> wrote:
>> > Hello,
>> >
>> > I'm trying to create a GUI by using wxHaskell. However I get the weird
>> error
>> > message of "Not in scope "dt"", well so I sorted them so that my so
>> called
>> > "dt" was in scope, however it failed. Can someone please tell me how I
>> can
>> > solve this error?
>> >
>> >            ... A lot of code that is not relevant in my opinion, if I'm
>> > wrong please correct me and I will post my full code
>> >
>> >             --Debug text --
>> >             dt <- staticText f [text := "Hello world!"]
>> >
>> >             imagePanel <- panel f [position := Point 2 2, clientSize :=
>> Size
>> > 100 100, tooltip := "This is a drawPanel", bgcolor := rgb 255 255 255]
>> >             set f [ clientSize := Size 700 500,
>> >                     menuBar := [mFile, mHelp],
>> >                     visible := True,
>> >                     on (menu exit) := close f,
>> >                     on (menu open) := onOpen f vFile ]
>> >
>> >
>> >             return ()
>> >
>> >             where
>> >                 onOpen :: Frame a -> Var b -> IO ()
>> >                 onOpen frame var = do   file <- fileOpenDialog frame
>> False
>> > True "Open File" [("PGM bestanden (*.pgm)",["*.pgm"]),("Alle bestanden
>> > (*.*)",["*.*"])] "" ""
>> >                                         case file of
>> >                                             Nothing ->      return ()
>> >                                             Just file ->    set dt [text
>> :=
>> > "HELLO"]
>> >                                                             return ()
>> >
>> > Thank you for your help, I really owe haskell-cafe.
>> >
>> > Greetings Tsunkiet Man
>> > _______________________________________________
>> > Haskell-Cafe mailing list
>> > Haskell-Cafe at haskell.org
>> > http://www.haskell.org/mailman/listinfo/haskell-cafe
>> >
>> >
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20090417/90cefcfd/attachment-0001.htm


More information about the Haskell-Cafe mailing list