Here are the patches for an initial implementation of partibles in GHC. The checksums for the GHC sources are an optional precaution to ensure they are suitable for these patches. [licensing: BSD3]
01_valuate-hashed.diff: The version of GHC used here makes use of a primitive named 'seq#'. To avoid it being bumped by later patches, it is renamed 'valuate#'.
02_amid-succeeds.diff: renames the primitive 'seq' to 'amid', and provides a replacement definition of 'seq' with the traditional ordering of argument evaluation - first, then second.
03_partible-mod.diff: introduces the partible type-class and some instances with new modules and definitions.
04_output-input.diff: shows the direct use of partibles in selected I/O-centric definitions.
Have fun, and remember: if it breaks, you can always make a mosaic from the pieces...