ANNOUNCE: Object I/O released

Krasimir Angelov ka2_mail@yahoo.com
Mon, 8 Apr 2002 07:57:22 -0700 (PDT)


--- Peter Achten <peter88@cs.kun.nl> wrote:

> Perhaps there is an interesting alternative that 
> covers all GOOD points and has fewer BAD points.

Some pieces of library can be simplified if redefine:

data WindowLSHandle ls ps
   = WindowLSHandle
        { wlsState        :: ls
        , wlsHandle       :: WindowHandle ls ps
        }

as

data WindowLSHandle ls ps
   = WindowLSHandle
        { wlsState        :: MVar ls    -- or IORef ls
        , wlsHandle       :: WindowHandle ls ps
        }

    That let Object I/O to manage local state but
simplifies implementation of WindowDevice (see
WindowDevice.hs). There isn't need of fixIO and not
need to use of build function. This also simplifies
creation of modal dialogs and synchronous message
passing. The current implementation uses
unsafeTypeCast function which is not a good idea. 
    In this implementation the type system is still
complicated but my decision is just to skip type
declarations and let compiler to resolve function
types for me. In my experience with Object I/O I
notice that type error is usually logical error. So
types for me isn't a trouble.

__________________________________________________
Do You Yahoo!?
Yahoo! Tax Center - online filing with TurboTax
http://taxes.yahoo.com/