-- |
-- Module      :  $Header$
-- Copyright   :  (c) 2013-2015 Galois, Inc.
-- License     :  BSD3
-- Maintainer  :  cryptol@galois.com
-- Stability   :  provisional
-- Portability :  portable

{-# LANGUAGE CPP #-}
#define DEBUG

#ifdef DEBUG
{-# LANGUAGE Trustworthy #-}
#else
{-# LANGUAGE Safe #-}
#endif

module Cryptol.Utils.Debug where

import Cryptol.Utils.PP

#ifdef DEBUG
import qualified Debug.Trace as X
trace :: String -> b -> b
trace = X.trace
#else
trace :: String -> b -> b
trace _ x = x
#endif

ppTrace :: Doc -> b -> b
ppTrace d = trace (show d)