Many of the core data structures in Bio.Character, Bio.Graph, and Bio.Metadata all have multi-line Show instances designed to be used for output rendering. The Show type-class isn't intended (idiomatically) to be used for pretty printing or serialization. These Show instances should be replaced with explicit rendering functions of type a -> Text which are exported from their respective modules and the show call sites should be updated to use the Text rendering functions.
This will improve pretty printing to files as Text is more efficient. The rending functions can still be used in trace statements instead of show. This is related to #91.
This is now done with the merge of the text-rendering branch. The report command now uses a custom function for writing text to a file which should use constant memory.
Many of the core data structures in
Bio.Character
,Bio.Graph
, andBio.Metadata
all have multi-lineShow
instances designed to be used for output rendering. TheShow
type-class isn't intended (idiomatically) to be used for pretty printing or serialization. TheseShow
instances should be replaced with explicit rendering functions of typea -> Text
which are exported from their respective modules and theshow
call sites should be updated to use theText
rendering functions.This will improve pretty printing to files as
Text
is more efficient. The rending functions can still be used intrace
statements instead ofshow
. This is related to #91.