On Thu, Feb 14, 2013 at 8:45 AM, Joachim Breitner <span dir="ltr">&lt;<a href="mailto:mail@joachim-breitner.de" target="_blank">mail@joachim-breitner.de</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

./Control/Applicative.hs<br>
./Control/Arrow.hs<br>
./Control/Category.hs<br>
./Control/Monad/Fix.hs<br>
./Control/Monad.hs<br>
./Data/Bits.hs<br>
./Data/Bool.hs<br>
./Data/Either.hs<br>
./Data/Eq.hs<br>
./Data/Foldable.hs<br>
./Data/Function.hs<br>
./Data/Functor.hs<br>
./Data/Int.hs<br>
./Data/List.hs<br>
./Data/Maybe.hs<br>
./Data/Monoid.hs<br>
./Data/Ord.hs<br>
./Data/Ratio.hs<br>
./Data/Traversable.hs<br>
./Data/Tuple.hs<br>
./Data/Typeable.hs<br>
./Data/Typeable.hs-boot<br>
./Data/Typeable/Internal.hs<br>
./Data/Typeable/Internal.hs-boot<br>
./dist/build/autogen/Paths_base_pure.hs<br>
./GHC/Base.lhs<br>
./GHC/Char.hs<br>
./GHC/Enum.lhs<br>
./GHC/Err.lhs<br>
./GHC/Err.lhs-boot<br>
./GHC/Exception.lhs<br>
./GHC/Fingerprint.hs<br>
./GHC/Fingerprint/Type.hs<br>
./GHC/Int.hs<br>
./GHC/List.lhs<br>
./GHC/Num.lhs<br>
./GHC/Real.lhs<br>
./GHC/Show.lhs<br>
./GHC/Word.hs<br>
./Prelude.hs (contains just $!)<br>
./Unsafe/Coerce.hs<br></blockquote><div><br></div><div>That&#39;s great. I&#39;m curious  I was under the impression that it was hard to split out a pure subset as functions might call &#39;error&#39; (e.g. due to incomplete pattern matches) and that would pull in the whole I/O subsystem. How did you avoid that?</div>

<div><br></div><div>-- Johan</div><div><br></div></div>