A variable type (BVar), monad (BTM), and arrow (BTA), which provide fast, atomic, composable, blocking inter-thread communication. Blocking transactions are strictly less expressive than software transactional memory, but may be more efficient under very high contention.
blockSignals mask calls sigprocmask with SIG_BLOCK to add all interrupts in mask to the set of blocked interrupts.
An Html combinator library
A tetris-like game implemented in Haskell and making use of Gtkh2s (works with GHC 6.8.3 and Gtk2hs 0.9.13)
A game where blocks of different shapes fall down the screen. If you either fill an entire line or get four of the same color in a row, those disappear. How long can you go before the blocks fill the screen?
hGetNonBlocking is similar to hGet, except that it will never block waiting for data to become available, instead it returns only whatever data is available. If there is no data available to be read, hGetNonBlocking returns empty.
Note: on Windows and with Haskell implementation other than GHC, this function does not work correctly; it behaves identically to hGet.
Similar to hPut except that it will never block. Instead it returns any tail that did not get written. This tail may be empty in the case that the whole string was written, or the whole original string if nothing was written. Partial writes are also possible.
Note: on Windows and with Haskell implementation other than GHC, this function does not work correctly; it behaves identically to hPut.
Checks if this file is a block device.
Throw an IOError corresponding to the current socket error if the IO action returns a result of -1, but retries in case of an interrupted operation. Checks for operations that would block and executes an alternative action before retrying in that case.
unblockSignals mask calls sigprocmask with SIG_UNBLOCK to remove all interrupts in mask from the set of blocked interrupts.
Show more results