stylish-haskell
stylish-haskell copied to clipboard
Formatter drops unboxed tuples hashes
The formatter will reformat unboxed tuples to regular tuples by dropping the #
character and removing necessary whitespace between the unboxed tuple and tuples elements. For example, the following type:
import GHC.Exts (State#, RealWorld)
newtype T a = T { unT# :: State# RealWorld -> (# State# RealWorld, a #) }
would be reformatted as:
newtype T a
= T { unT# :: State# RealWorld -> (State# RealWorld, a) }
I'm not sure if this is specific to certain configuration. The formatter will drop unboxed tuples even if:
- The
.stylish-haskell.yaml
option hascabal: false
andUnboxedTuples
listed underlanguage_extensions:
. - The
UnboxedTuples
extension is listed underdefault-extensions
in the package cabal file. - A
{-# LANGUAGE UnboxedTuples #-}
pragma is added to the*.hs
file containing the typeT
.
The only way to prevent the formatter from altering the definition of a type containing unboxed tuples is to rewrite the type as:
newtype T a = T { unT# :: State# RealWorld -> (#,#) (State# RealWorld) a }