-- This file is part of Quipper. Copyright (C) 2011-2014. Please see the -- file COPYRIGHT for a list of authors, copyright holders, licensing, -- and other details. All rights reserved. -- -- ====================================================================== {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE OverlappingInstances #-} -- | This module extends the 'show' function to be able to convert any -- term to a string, even if its type is not an instance of the 'Show' -- type class. This is useful, e.g., for generating debugging output, -- where one does not necessarily want to provide 'Show' instances for -- every auxiliary data structure that needs debugging. -- -- Functions are shown as \"fun\", and everything else is shown as -- \"term\". module Libraries.ShowAll where -- * Documentation -- $ We provide a catch-all 'Show' instance using the GHC language -- option \"OverlappingInstances\". Since instance declarations don't -- generate any exported symbols, the documentation is empty. Please -- see the source code. instance Show (a -> b) where show x = "fun" instance Show s where show x = "term"