Personal tools

Unamb

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
 
m (find out about)
Line 8: Line 8:
   
 
Besides this wiki page, here are more ways to find out about unamb:
 
Besides this wiki page, here are more ways to find out about unamb:
* Read [http://code.haskell.org/unamb/doc/html/ the library documentation].
+
* Visit the [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/unamb Hackage page] for library documentation and to download & install.
* Get the code repository: '''<tt>darcs get http://code.haskell.org/unamb</tt>'''.
+
* Or install with <tt>cabal install unamb</tt>.
* Install from [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/unamb Hackage].
+
* Get the code repository: <tt>darcs get http://code.haskell.org/unamb</tt>.
* See the [[unamb/Versions| version history]].
+
<!-- * See the [[unamb/Versions| version history]]. -->
   
 
Please leave comments at the [[Talk:unamb|Talk page]].
 
Please leave comments at the [[Talk:unamb|Talk page]].

Revision as of 19:10, 11 November 2008


Abstract

unamb is a package containing the unambiguous choice operator
unamb
, which wraps thread racing up in a purely functional, semantically simple wrapper. Given any two arguments
u
and
v
that agree unless bottom, the value of
unamb u v
is the more terminating of
u
and
v
. Operationally, the value of
unamb u v
becomes available when the earlier of
u
and
v
does. The agreement precondition ensures unamb's referential transparency. For more info about
unamb
and its use, see the paper Simply Efficient Functional Reactivity, sections 10 and 11.
unamb
was originally a part of Reactive. I moved it to its own package in order to encourage experimentation.

Besides this wiki page, here are more ways to find out about unamb:

Please leave comments at the Talk page.