If you tried the <a href="http://journal.conal.net/#%255B%255Bseparating%2520IO%2520from%2520logic%2520--%2520example%255D%255D">TiddlyWiki doc</a> (linked in the <a href="http://conal-elliott.blogspot.com/2007/02/separating-io-from-logic-example.html">
blog post</a>) in Opera and got an error, please try again.&nbsp; Problem fixed.&nbsp; (Slight difference in regexp handling in Opera vs FF &amp; IE.)&nbsp;&nbsp;&nbsp; - Conal<br><br><div><span class="gmail_quote">On 2/12/07, <b class="gmail_sendername">
Conal Elliott</b> &lt;<a href="mailto:conal@conal.net">conal@conal.net</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<a href="http://haskell.org/haskellwiki/TV" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"><b>TV</b></a> is a library for composing <i>tangible values</i> (&quot;TVs&quot;), i.e., values that carry along external interfaces.  In particular, TVs can be composed to create new TVs, 
<i>and</i>
they can be directly executed with various kinds of interfaces. Values
and interfaces are <i>combined</i> for direct use, and <i>separable</i> for composition.<br><br><a style="font-weight: bold;" href="http://haskell.org/haskellwiki/GuiTV" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
GuiTV</a> adds graphical user interfaces to the <a href="http://haskell.org/haskellwiki/TV" title="TV" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
TV</a> (tangible value) framework, using <a href="http://haskell.org/haskellwiki/Phooey" title="Phooey" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Phooey</a>.  The functionality was part of <a href="http://haskell.org/haskellwiki/TV" title="TV" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
TV</a>
up to version 0.1.1. I moved it out to a new package to eliminate the
dependency of core TV on Phooey and hence on wxHaskell, as the latter
can be difficult to install.<br><br>See this <a href="http://conal-elliott.blogspot.com/2007/02/separating-io-from-logic-example.html" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">blog post</a> about for an example of using TV to neatly separate logic from IO.
<br><span class="sg"><br>
&nbsp;&nbsp; - Conal<br><br>
</span></blockquote></div><br>