HasFuse Version 1.1
                          ===================


HasFuse is a modification of the Glasgow Haskell Compiler which has
built-in some precautions for the execution of unsafePerformIO, hence
the name "HasFuse". This means the user does not have to undertake 
the proof obligation that the timing of an I/O-operation wrapped by
unsafePerformIO is independent from each other I/O-operation. 

HasFuse is available as a patch of the GHC 5.04.3 source code from

http://www.ki.informatik.uni-frankfurt.de/~sabel/hasfuse 

On the same location, building instructions and further documentation
can be found.


The semantics of programs which make use of unsafePerformIO is given
by the nondeterministic call-by-need calculus FUNDIO. This calculus
provides an I/O-interface, which can be used to model direct-call
I/O within Haskell. 

The FUNDIO-calculus is published in the technical report "Frank-16",
see

http://www.ki.informatik.uni-frankfurt.de/papers/articles.html#Frank-16


The results of applying the FUNDIO semantics to Haskell and the 
(FUNDIO-) correctness of those program transformations which are 
performed by the GHC are available as "Technical Report Frank-17"
through

http://www.ki.informatik.uni-frankfurt.de/papers/articles.html#Frank-17 


Changes from version 1.0 to 1.1:
--------------------------------
HasFuse provides a new flag -fno-hasfuse, which runs the GHC in 
GHC mode, i.e. all optimisations performed by the original GHC
are turned on. 
_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to