{-# LANGUAGE PatternSynonyms #-} {-# Language DeriveFoldable #-} {-# LANGUAGE Safe #-} {-# options_ghc -w #-} -- | A simple let expression, to ensure the layout is detected -- With some haddock in the top {- And a normal multiline comment too -} module {- brah -} LetExprSemi ( foo -- foo does .. , bar -- bar does .. , Baz () -- baz does .. , Ba ( ..),Ca(Cc,Cd) , bbb , aaa , module Data.List , pattern Bar ) where { import Data.List -- A comment in the middle ; import {-# SOURCE #-} BootImport ( Foo(..) ) ; import {-# SOURCE #-} safe qualified BootImport as BI ;;; import qualified Data.Map as {- blah -} Foo.Map; import Control.Monad ( ) ; import Data.Word (Word8); import Data.Tree hiding ( drawTree ) ; ; import qualified Data.Maybe as M hiding ( maybe , isJust ) ; -- comment foo = let x = 1 y = 2 in x + y ; bar = 3; bbb x | x == 1 = () | otherwise = () ; aaa [] _ = 0; aaa x _unk = 1 ; x `ccc` 1 = x + 1; x `ccc` y = x + y ; x !@# y = x + y ; data Baz = Baz1 | Baz2 ; data Ba = Ba | Bb ; data Ca = Cc | Cd ; pattern Foo a <- RealFoo a ; pattern Bar a <- RealBar a ; data Thing = RealFoo Thing | RealBar Int }