diff options
author | Sebastian Graf <sebastian.graf@kit.edu> | 2020-10-06 17:10:55 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-10-17 22:02:13 -0400 |
commit | 451455fd008500259f5d2207bdfdccf6dddb52c5 (patch) | |
tree | 210c5ab7d7c4f1b8cb3f37d96679748423284438 | |
parent | 6b3eb06af41b7385737fb3a602acdb95a76d2eba (diff) | |
download | haskell-451455fd008500259f5d2207bdfdccf6dddb52c5.tar.gz |
Testsuite: Add dead arity analysis tests
We didn't seem to test these old tests at all, judging from their
expected output.
55 files changed, 809 insertions, 2537 deletions
diff --git a/testsuite/tests/arityanal/Main.hs b/testsuite/tests/arityanal/Main.hs deleted file mode 100644 index 5c0bf897e7..0000000000 --- a/testsuite/tests/arityanal/Main.hs +++ /dev/null @@ -1,284 +0,0 @@ -{-# LANGUAGE CPP #-}
-
--- Optimisation problem. There are two missed opportunities for optimisation in alex_scan_tkn, below.
-
-module Main (main) where
-
-import Data.Char ( ord )
-import Control.Monad.ST
-import Control.Monad (when)
-import Data.STRef
-import GHC.ST
-import Data.Array
-import Data.Char (ord)
-import Data.Array.Base (unsafeAt)
-import GHC.Exts
-alex_base :: AlexAddr
-alex_base = AlexA# "\xf8\xff\xfd\xff\x02\x00\x4c\x00"#
-
-alex_table :: AlexAddr
-alex_table = AlexA# "\x00\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
-
-alex_check :: AlexAddr
-alex_check = AlexA# "\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x27\x00\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
-
-alex_deflt :: AlexAddr
-alex_deflt = AlexA# "\xff\xff\xff\xff\xff\xff\xff\xff"#
-
-alex_accept = listArray (0::Int,3) [[],[],[(AlexAcc 0 (alex_action_0) Nothing Nothing)],[(AlexAcc 1 (alex_action_1) Nothing Nothing)]]
-word (_,_,input) len = return (take len input)
-
-scanner str = runAlex str $ do
- let loop i = do tok <- alexScan;
- if tok == "stopped." || tok == "error."
- then return i
- else do let i' = i+1 in i' `seq` loop i'
- loop 0
-
-alexEOF (_,_,"") = return "stopped."
-alexEOF (_,_,rest) = return "error."
-
-main = do
- s <- getContents
- print (scanner s)
-alex_action_0 = skip
-alex_action_1 = word
--- {-# LINE 1 "GenericTemplate.hs" #-}
---
-------------------------------------------------------------------------
------
--- ALEX TEMPLATE
---
--- (c) Chris Dornan and Simon Marlow 2003
-
---
-------------------------------------------------------------------------
------
--- Token positions
-
--- `Posn' records the location of a token in the input text. It has three
--- fields: the address (number of chacaters preceding the token), line number
--- and column of a token within the file. `start_pos' gives the position of the
--- start of the file and `eof_pos' a standard encoding for the end of file.
--- `move_pos' calculates the new position after traversing a given character,
--- assuming the usual eight character tab stops.
-
-data AlexPosn = AlexPn !Int !Int !Int
- deriving (Eq,Show)
-
-alexStartPos :: AlexPosn
-alexStartPos = AlexPn 0 1 1
-
-alexMove :: AlexPosn -> Char -> AlexPosn
-alexMove (AlexPn a l c) '\t' = AlexPn (a+1) l (((c+7) `div` 8)*8+1)
-alexMove (AlexPn a l c) '\n' = AlexPn (a+1) (l+1) 1
-alexMove (AlexPn a l c) _ = AlexPn (a+1) l (c+1)
-
---
-------------------------------------------------------------------------
------
--- The Alex monad
---
--- Compile with -funbox-strict-fields for best results!
-
-data AlexState s = AlexState {
- alex_pos :: !(STRef s AlexPosn),-- position at current input location
- alex_inp :: !(STRef s String), -- the current input
- alex_chr :: !(STRef s Char), -- the character before the input
- alex_scd :: !(STRef s Int) -- the current startcode
- }
-
-type AlexInput = (AlexPosn,Char,String)
-
-alexInputPrevChar :: AlexInput -> Char
-alexInputPrevChar (p,c,s) = c
-
-runAlex :: String -> Alex a -> a
-runAlex input (Alex f)
- = runST (do
- inp_r <- newSTRef input
- chr_r <- newSTRef '\n'
- pos_r <- newSTRef alexStartPos
- scd_r <- newSTRef 0
- f (AlexState {alex_pos = pos_r,
- alex_inp = inp_r,
- alex_chr = chr_r,
- alex_scd = scd_r}))
-
---TODO include error support
-newtype Alex a = Alex { unAlex :: forall s. AlexState s -> ST s a }
-
-instance Monad Alex where
- (Alex m) >>= k = Alex (\s -> m s >>= \a -> unAlex (k a) s)
- return a = Alex (\s -> return a)
-
-alexGetChar :: Alex (Maybe Char)
-alexGetChar = Alex (\st@AlexState{ alex_inp=inp_r,
- alex_chr=chr_r,
- alex_pos=pos_r } -> do
- inp <- readSTRef inp_r
- pos <- readSTRef pos_r
- case inp of
- [] -> return Nothing
- (c:s) -> do writeSTRef inp_r s
- writeSTRef chr_r c
- let p' = alexMove pos c
- p' `seq` writeSTRef pos_r p'
- return (Just c)
- )
-
-alexGetInput :: Alex AlexInput
-alexGetInput
- = Alex (\s@AlexState{alex_pos=pos_r,alex_chr=chr_r,alex_inp=inp_r} -> do
- inp <- readSTRef inp_r
- chr <- readSTRef chr_r
- pos <- readSTRef pos_r
- return (pos,chr,inp)
- )
-
-alexSetInput :: AlexInput -> Alex ()
-alexSetInput (pos,chr,inp)
- = Alex (\s@AlexState{alex_pos=pos_r,alex_chr=chr_r,alex_inp=inp_r} -> do
- writeSTRef inp_r inp
- writeSTRef pos_r pos
- writeSTRef chr_r chr
- )
-
-alexGetStartCode :: Alex Int
-alexGetStartCode = Alex (\s@AlexState{alex_scd=scd_r} -> do
- readSTRef scd_r)
-
-alexSetStartCode :: Int -> Alex ()
-alexSetStartCode sc = Alex (\s@AlexState{alex_scd=scd_r} -> do
- writeSTRef scd_r sc)
-
---
------------------------------------------------------------------------------
--- Useful token actions
-
-
--- just ignore this token and scan another one
-skip input len = alexScan
-
--- ignore this token, but set the start code to a new value
-begin code input len = do alexSetStartCode code; alexScan
-
--- perform an action for this token, and set the start code to a new value
-(token `andBegin` code) input len = do alexSetStartCode code; token input len
-
---
------------------------------------------------------------------------------
--- INTERNALS and main scanner engine
-
--- {-# LINE 144 "GenericTemplate.hs" #-}
-
-data AlexAddr = AlexA# Addr#
-
-{-# INLINE alexIndexShortOffAddr #-}
-alexIndexShortOffAddr (AlexA# arr) off =
- narrow16Int# i
- where
- i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)
- high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))
- low = int2Word# (ord# (indexCharOffAddr# arr off'))
- off' = off *# 2#
-
-
---
------------------------------------------------------------------------------
--- Main lexing routines
-
-
-
--- alexScan :: some a . Alex a
-alexScan = do
- (I# (startcode)) <- alexGetStartCode -- the startcode is the initial state
- cur_input <- alexGetInput
- let c = alexInputPrevChar cur_input
- c `seq` do
- r <- alex_scan_tkn c 0# startcode AlexNone
- case r of
- AlexNone ->
-
-
-
- alexEOF cur_input
- AlexLastAcc k input len -> do
-
-
-
- alexSetInput input
- k cur_input len
-
--- {-# LINE 221 "GenericTemplate.hs" #-}
-
-
--- Push the input through the DFA, remembering the most recent accepting
--- state it encountered.
-
-alex_scan_tkn lc len (-1#) last_acc = return last_acc
-alex_scan_tkn lc len s last_acc = do
- new_acc <- check_accs s lc len last_acc --danaxu extends arguments
- c <- alexGetChar
- let {-# INLINE [0] join #-}
- -- This is a *hack*, the compiler doesn't eliminate the Maybe return
- -- from alexGetChar unless we extract this join point and inline
- -- it later.
- join c' =
-
-
-
- alex_scan_tkn lc
- (len +# 1#) s' new_acc
- where
- base = alexIndexShortOffAddr alex_base s
- (I# (ord_c)) = ord c'
- offset = (base +# ord_c)
- check = alexIndexShortOffAddr alex_check offset
-
- s' =
- if (offset >=# 0#) && (check ==# ord_c)
- then alexIndexShortOffAddr alex_table offset
- else alexIndexShortOffAddr alex_deflt s
- case c of
- Nothing -> return new_acc -- end of input
- Just c' -> join c'
- -- where
- -- OPTIMISATION PROBLEM. We need to eta-expand
- -- check_accs and check_accs1. This needs a simple
- -- one-shot analysis of some kind, but note that
- -- check_accs1 is recursive.
-check_accs s lc len last_acc = check_accs1 (alex_accept `unsafeAt` (I# (s))) lc len last_acc
-check_accs1 accs lc len last_acc =
- case accs of
- [] -> return last_acc
- (AlexAcc _ a lctx rctx : rest) ->
-
- case lctx of
- Nothing -> check_rctx a rctx rest lc len last_acc
- Just arr | arr!lc -> check_rctx a rctx rest lc len last_acc
- | otherwise -> check_accs1 rest lc len last_acc
- -- where
-
-ok a len = do inp <- alexGetInput
- return (AlexLastAcc a inp (I# (len)))
-
-check_rctx a rctx rest lc len last_acc =
- case rctx of
- Nothing -> ok a len
- Just (I# (sn)) -> do
- inp <- alexGetInput
- let c = alexInputPrevChar inp
- c `seq` do
- acc <- alex_scan_tkn c 0# sn AlexNone
- alexSetInput inp
- case acc of
- AlexNone -> check_accs1 rest lc len last_acc
- AlexLastAcc{} -> ok a len
- -- TODO: there's no need to find the longest
- -- match when checking the right context, just
- -- the first match will do.
-
-data AlexLastAcc a = AlexNone | AlexLastAcc a !AlexInput !Int
-
-data AlexAcc a = AlexAcc Int a (Maybe (Array Char Bool)) (Maybe Int)
diff --git a/testsuite/tests/arityanal/Main.stderr b/testsuite/tests/arityanal/Main.stderr deleted file mode 100644 index 5a816d67a6..0000000000 --- a/testsuite/tests/arityanal/Main.stderr +++ /dev/null @@ -1,1874 +0,0 @@ -
-==================== Arity analysis ====================
-$w==_s4mH :: GHC.Prim.Int#
- -> GHC.Base.Int
- -> GHC.Base.Int
- -> GHC.Prim.Int#
- -> GHC.Base.Int
- -> GHC.Base.Int
- -> GHC.Base.Bool
-[Arity 6
- 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> *
- Str: DmdType LLLLLL]
-$w==_s4mH = \ (ww_s4lF :: GHC.Prim.Int#)
- (ww_s4lH :: GHC.Base.Int)
- (ww_s4lI :: GHC.Base.Int)
- (ww_s4lO :: GHC.Prim.Int#)
- (ww_s4lQ :: GHC.Base.Int)
- (ww_s4lR :: GHC.Base.Int) ->
- case GHC.Base.Bool GHC.Prim.==# ww_s4lF ww_s4lO of wild_X45N {
- GHC.Base.False -> GHC.Base.False;
- GHC.Base.True ->
- case GHC.Base.Bool ww_s4lH of wild_X45G { GHC.Base.I# x_X45H ->
- case GHC.Base.Bool ww_s4lQ of wild1_X45M { GHC.Base.I# y_X45Q ->
- case GHC.Base.Bool GHC.Prim.==# x_X45H y_X45Q of wild_X45X {
- GHC.Base.False -> GHC.Base.False;
- GHC.Base.True ->
- case GHC.Base.Bool ww_s4lI of wild_X47o { GHC.Base.I# x_X47r ->
- case GHC.Base.Bool ww_s4lR of wild1_X47y { GHC.Base.I# y_X47E ->
- GHC.Prim.==# x_X47r y_X47E
- }
- }
- }
- }
- }
- }
-
-a_s40I :: [GHC.Base.Char]
-[*
- Str: DmdType]
-a_s40I = GHC.Base.unpackCString# "AlexPn "
-
-$wshowsPrec_s4mG :: GHC.Prim.Int#
- -> GHC.Base.Int
- -> GHC.Base.Int
- -> GHC.Base.Int
- -> GHC.Base.String
- -> GHC.Base.String
-[Arity 5
- 0 -> 0 -> 0 -> 0 -> 0 -> *
- Str: DmdType LLLLL]
-$wshowsPrec_s4mG = \ (ww_s4lp :: GHC.Prim.Int#)
- (ww_s4lt :: GHC.Base.Int)
- (ww_s4lu :: GHC.Base.Int)
- (ww_s4lv :: GHC.Base.Int)
- (w_s4lx :: GHC.Base.String) ->
- let {
- p_s4p5 :: GHC.Show.ShowS
- [Arity 1
- *
- Str: DmdType L]
- p_s4p5 = \ (x_a41d :: GHC.Base.String) ->
- GHC.Base.++
- @ GHC.Base.Char
- a_s40I
- (case [GHC.Base.Char] ww_s4lt of w_X42m { GHC.Base.I# ww_a40t ->
- GHC.Show.$wshowSignedInt
- 11
- ww_a40t
- (GHC.Base.:
- @ GHC.Base.Char
- GHC.Show.lvl1
- (case [GHC.Base.Char] ww_s4lu of w_X44A { GHC.Base.I# ww_X42J ->
- GHC.Show.$wshowSignedInt
- 11
- ww_X42J
- (GHC.Base.:
- @ GHC.Base.Char
- GHC.Show.lvl1
- (case [GHC.Base.Char] ww_s4lv of w_X44r { GHC.Base.I# ww_X42A ->
- GHC.Show.$wshowSignedInt 11 ww_X42A x_a41d
- }))
- }))
- })
- } in
- case GHC.Base.String GHC.Prim.>=# ww_s4lp 11 of wild_a42t {
- GHC.Base.False -> p_s4p5 w_s4lx;
- GHC.Base.True ->
- GHC.Base.:
- @ GHC.Base.Char
- GHC.Show.a2
- (p_s4p5 (GHC.Base.: @ GHC.Base.Char GHC.Show.a w_s4lx))
- }
-
-lvl_s3Z7 :: [GHC.Base.Char]
-[*
- Str: DmdType]
-lvl_s3Z7 = GHC.Base.unpackCString# "error."
-
-lvl_s3Z6 :: [GHC.Base.Char]
-[*
- Str: DmdType]
-lvl_s3Z6 = GHC.Base.unpackCString# "stopped."
-
-lit_s3Yy :: GHC.Num.Integer
-[*
- Str: DmdType]
-lit_s3Yy = GHC.Num.S# 1
-
-lit_a3m9 :: GHC.Base.Int
-[*
- Str: DmdType m]
-lit_a3m9 = GHC.Base.I# 0
-
-return_a3fW :: forall a_a2mR. a_a2mR -> Main.Alex a_a2mR
-[Arity 2
- 0 -> T
- Str: DmdType LA]
-return_a3fW = \ (@ a_a3g1)
- (a_X2cH :: a_a3g1)
- (@ s_a3g7)
- (s_a2bU :: Main.AlexState s_a3g7) ->
- GHC.ST.poly_return @ s_a3g7 @ a_a3g1 a_X2cH
-
->>_a3fv :: forall a_a2kH b_a2kJ.
- Main.Alex a_a2kH -> Main.Alex b_a2kJ -> Main.Alex b_a2kJ
-[Arity 4
- 3 -> 3 -> 0 -> 0 -> *
- Str: DmdType C(C(U(LA)))C(C(S))LL]
->>_a3fv = \ (@ a_a3fM)
- (@ b_a3fN)
- (eta_a3Ts :: Main.Alex a_a3fM)
- (eta1_a3Tr :: Main.Alex b_a3fN)
- (@ s_a3eY)
- (eta_s40h :: Main.AlexState s_a3eY)
- (eta_s40i :: GHC.Prim.State# s_a3eY) ->
- case (# GHC.Prim.State# s_a3eY, b_a3fN #) eta_a3Ts @ s_a3eY eta_s40h eta_s40i
- of wild_a3ZB { (# new_s_a3Zz, r_a3ZA #) ->
- eta1_a3Tr @ s_a3eY eta_s40h new_s_a3Zz
- }
-
->>=_a3eM :: forall a_a2n6 b_a2n8.
- Main.Alex a_a2n6 -> (a_a2n6 -> Main.Alex b_a2n8) -> Main.Alex b_a2n8
-[Arity 4
- 3 -> 4 -> 0 -> 0 -> *
- Str: DmdType C(C(U(LL)))C(C(C(S)))LL]
->>=_a3eM = \ (@ a_a3eR)
- (@ b_a3eS)
- (ds_d3nC :: Main.Alex a_a3eR)
- (k_X2cv :: a_a3eR -> Main.Alex b_a3eS)
- (@ s_a3eY)
- (s_a2bI :: Main.AlexState s_a3eY)
- (s_a3Zr :: GHC.Prim.State# s_a3eY) ->
- case (# GHC.Prim.State# s_a3eY, b_a3eS #) ds_d3nC @ s_a3eY s_a2bI s_a3Zr
- of wild_a3ZB { (# new_s_a3Zz, r_a3ZA #) ->
- k_X2cv r_a3ZA @ s_a3eY s_a2bI new_s_a3Zz
- }
-
-showsPrec_a3cJ :: GHC.Base.Int -> Main.AlexPosn -> GHC.Show.ShowS
-[T
- Worker $wshowsPrec_s4mG
- Str: DmdType U(L)U(LLL)L]
-showsPrec_a3cJ = __inline_me (\ (w_s4ln :: GHC.Base.Int)
- (w_s4lr :: Main.AlexPosn)
- (w_s4lx :: GHC.Base.String) ->
- case GHC.Base.String w_s4ln of w_X4mv { GHC.Base.I# ww_s4lp ->
- case GHC.Base.String w_s4lr of w_X4mD { Main.AlexPn ww_s4lt ww_s4lu ww_s4lv ->
- $wshowsPrec_s4mG ww_s4lp ww_s4lt ww_s4lu ww_s4lv w_s4lx
- }
- })
-
-showList_a3eh :: [Main.AlexPosn] -> GHC.Show.ShowS
-[Arity 2
- 0 -> 0 -> *
- Str: DmdType SL]
-showList_a3eh = \ (ds1_a3Hj :: [Main.AlexPosn]) (s_a3Hi :: GHC.Base.String) ->
- case GHC.Base.String ds1_a3Hj of wild_a3Hu {
- [] -> GHC.Base.++ @ GHC.Base.Char GHC.Show.lvl16 s_a3Hi;
- : x_a3Hs xs_a3Ht ->
- GHC.Base.:
- @ GHC.Base.Char
- GHC.Show.lvl14
- (case [GHC.Base.Char] x_a3Hs of w_X4mD { Main.AlexPn ww_s4lt ww_s4lu ww_s4lv ->
- $wshowsPrec_s4mG
- 0
- ww_s4lt
- ww_s4lu
- ww_s4lv
- (__letrec {
- showl1_s4p9 :: [Main.AlexPosn] -> [GHC.Base.Char]
- [Arity 1
- 0 -> *
- Str: DmdType S]
- showl1_s4p9 = \ (ds2_a3Hq :: [Main.AlexPosn]) ->
- case [GHC.Base.Char] ds2_a3Hq of wild1_a42z {
- [] -> GHC.Base.: @ GHC.Base.Char GHC.Show.lvl15 s_a3Hi;
- : y_a42x ys_a42y ->
- GHC.Base.:
- @ GHC.Base.Char
- GHC.Show.a1
- (case [GHC.Base.Char] y_a42x
- of w_X4o5 { Main.AlexPn ww_X4mX ww_X4mZ ww_X4n1 ->
- $wshowsPrec_s4mG 0 ww_X4mX ww_X4mZ ww_X4n1 (showl1_s4p9 ys_a42y)
- })
- };
- } in showl1_s4p9 xs_a3Ht)
- })
- }
-
-$dmshow_a3m7 :: Main.AlexPosn -> GHC.Base.String
-[Arity 1
- 0 -> *
- Str: DmdType U(LLL)]
-$dmshow_a3m7 = \ (x_a42G :: Main.AlexPosn) ->
- case GHC.Base.String x_a42G of w_X4mD { Main.AlexPn ww_s4lt ww_s4lu ww_s4lv ->
- $wshowsPrec_s4mG 0 ww_s4lt ww_s4lu ww_s4lv (GHC.Base.[] @ GHC.Base.Char)
- }
-
-==_a3c8 :: Main.AlexPosn -> Main.AlexPosn -> GHC.Base.Bool
-[T
- Worker $w==_s4mH
- Str: DmdType U(U(L)LL)U(U(L)LL)]
-==_a3c8 = __inline_me (\ (w_s4lB :: Main.AlexPosn) (w_s4lK :: Main.AlexPosn) ->
- case GHC.Base.Bool w_s4lB of w_X4mO { Main.AlexPn ww_s4lD ww_s4lH ww_s4lI ->
- case GHC.Base.Bool ww_s4lD of ww_X4mW { GHC.Base.I# ww_s4lF ->
- case GHC.Base.Bool w_s4lK of w_X4n7 { Main.AlexPn ww_s4lM ww_s4lQ ww_s4lR ->
- case GHC.Base.Bool ww_s4lM of ww_X4nf { GHC.Base.I# ww_s4lO ->
- $w==_s4mH ww_s4lF ww_s4lH ww_s4lI ww_s4lO ww_s4lQ ww_s4lR
- }
- }
- }
- })
-
-/=_a3cr :: Main.AlexPosn -> Main.AlexPosn -> GHC.Base.Bool
-[Arity 2
- 0 -> 0 -> *
- Str: DmdType U(U(L)LL)U(U(L)LL)]
-/=_a3cr = \ (a_a2jh :: Main.AlexPosn) (b_a2ji :: Main.AlexPosn) ->
- case GHC.Base.Bool a_a2jh of w_X4mO { Main.AlexPn ww_s4lD ww_s4lH ww_s4lI ->
- case GHC.Base.Bool ww_s4lD of ww_X4mW { GHC.Base.I# ww_s4lF ->
- case GHC.Base.Bool b_a2ji of w_X4n7 { Main.AlexPn ww_s4lM ww_s4lQ ww_s4lR ->
- case GHC.Base.Bool ww_s4lM of ww_X4nf { GHC.Base.I# ww_s4lO ->
- case GHC.Base.Bool GHC.Prim.==# ww_s4lF ww_s4lO of wild_X45N {
- GHC.Base.False -> GHC.Base.True;
- GHC.Base.True ->
- case GHC.Base.Bool ww_s4lH of wild_X45G { GHC.Base.I# x_X45H ->
- case GHC.Base.Bool ww_s4lQ of wild1_X45M { GHC.Base.I# y_X45Q ->
- case GHC.Base.Bool GHC.Prim.==# x_X45H y_X45Q of wild_X45X {
- GHC.Base.False -> GHC.Base.True;
- GHC.Base.True ->
- case GHC.Base.Bool ww_s4lI of wild_X47o { GHC.Base.I# x_X47r ->
- case GHC.Base.Bool ww_s4lR of wild1_X47y { GHC.Base.I# y_X47E ->
- case GHC.Base.Bool GHC.Prim.==# x_X47r y_X47E of wild_a43s {
- GHC.Base.False -> GHC.Base.True; GHC.Base.True -> GHC.Base.False
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
-
-$fShowAlexPosn_a2iT :: {GHC.Show.Show Main.AlexPosn}
-[Exported]
-[*
- Str: DmdType m]
-$fShowAlexPosn_a2iT = GHC.Show.:DShow
- @ Main.AlexPosn showsPrec_a3cJ $dmshow_a3m7 showList_a3eh
-
-$fEqAlexPosn_a2iS :: {GHC.Base.Eq Main.AlexPosn}
-[Exported]
-[*
- Str: DmdType m]
-$fEqAlexPosn_a2iS = GHC.Base.:DEq @ Main.AlexPosn ==_a3c8 /=_a3cr
-
-Rec {
-$fMonadAlex_a2dQ :: {GHC.Base.Monad Main.Alex}
-[Exported]
-[*
- Str: DmdType m]
-$fMonadAlex_a2dQ = GHC.Base.:DMonad
- @ Main.Alex >>=_a3eM >>_a3fv return_a3fW fail_a3gq
-fail_a3gq :: forall a_a3eL. GHC.Base.String -> Main.Alex a_a3eL
-[Arity 1
- *
- Str: DmdType Sb]
-fail_a3gq = \ (@ a_a3gE) (eta_x1 :: GHC.Base.String) ->
- GHC.Base.$dmfail @ Main.Alex $fMonadAlex_a2dQ @ a_a3gE eta_x1
-end Rec }
-
-lvl_s4pX :: GHC.Base.Int
-[*]
-lvl_s4pX = GHC.Base.I# 3
-
-lvl_s4pU :: (Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]
-[Arity 2
- 0 -> 0 -> T]
-lvl_s4pU = \ (ds_d3nZ :: (Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char]))
- (len_a1Rn :: GHC.Base.Int) ->
- case (Main.Alex [GHC.Base.Char]) ds_d3nZ
- of wild_X3c { (ds_d3o0, ds_d3o1, input_a1Rm) ->
- let {
- a_s4pV :: [GHC.Base.Char]
- [*
- Str: DmdType]
- a_s4pV = GHC.List.take @ GHC.Base.Char len_a1Rn input_a1Rm
- } in
- \ (@ s_X3jq)
- (s_X2fe :: Main.AlexState s_X3jq)
- (s_a3ZV :: GHC.Prim.State# s_X3jq) ->
- (# s_a3ZV, a_s4pV #)
- }
-
-lvl_s4pT :: GHC.Base.Int
-[*]
-lvl_s4pT = GHC.Base.I# 1
-
-lvl_s4pS :: Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])
-[*]
-lvl_s4pS = Main.AlexAcc
- @ ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])
- lvl_s4pT
- lvl_s4pU
- (Data.Maybe.Nothing @ (GHC.Arr.Array GHC.Base.Char GHC.Base.Bool))
- (Data.Maybe.Nothing @ GHC.Base.Int)
-
-lvl_s4pR :: [Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]
-[*]
-lvl_s4pR = GHC.Base.:
- @ (Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))
- lvl_s4pS
- (GHC.Base.[]
- @ (Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])))
-
-lvl_s4pQ :: [[Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]]
-[*]
-lvl_s4pQ = GHC.Base.:
- @ [Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]
- lvl_s4pR
- (GHC.Base.[]
- @ [Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])])
-
-Rec {
-$wk_s4mM :: GHC.Prim.Int#
- -> forall s_a2bs.
- Main.AlexState s_a2bs
- -> GHC.Prim.State# s_a2bs
- -> (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #)
-[Arity 3
- 0 -> 0 -> 0 -> *
- Str: DmdType LS(U(L)U(L)U(L)L)L]
-$wk_s4mM = \ (ww_s4mz :: GHC.Prim.Int#)
- (@ s_a2bs)
- (w_s4mC :: Main.AlexState s_a2bs)
- (w_s4mD :: GHC.Prim.State# s_a2bs) ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) w_s4mC
- of wild_X2B { Main.AlexState pos_r_a21Q inp_r_a21S chr_r_a21R ds_d3od ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) inp_r_a21S
- of wild_a43y { GHC.STRef.STRef var#_a43z ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) GHC.Prim.readMutVar#
- @ s_a2bs @ GHC.Base.String var#_a43z w_s4mD
- of wild_a3ZB { (# new_s_a3Zz, r_a3ZA #) ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) chr_r_a21R
- of wild_X46u { GHC.STRef.STRef var#_X46x ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) GHC.Prim.readMutVar#
- @ s_a2bs @ GHC.Base.Char var#_X46x new_s_a3Zz
- of wild_X42B { (# new_s_X42A, r_X42C #) ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) pos_r_a21Q
- of wild_X46v { GHC.STRef.STRef var#_X46y ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) GHC.Prim.readMutVar#
- @ s_a2bs @ Main.AlexPosn var#_X46y new_s_X42A
- of wild_X45K { (# new_s_X48T, r_X42D #) ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) r_X42C
- of tpl_X4U { GHC.Base.C# a_s3Wm ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) alex_scan_tkn_a2zF
- tpl_X4U
- 0
- ww_s4mz
- (Main.AlexNone
- @ (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))
- @ s_a2bs
- wild_X2B
- new_s_X48T
- of wild_X42t { (# new_s_X42s, r_X42u #) ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) r_X42u of wild_X4V {
- Main.AlexNone ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) r_a3ZA of wild_X4y {
- [] -> (# new_s_X42s, lvl_s3Z6 #); : a_s3Tv a_s3Tw -> (# new_s_X42s, lvl_s3Z7 #)
- };
- Main.AlexLastAcc k_a23z input_a23A len_a23B ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) input_a23A
- of wild_X2D { (pos_a225, chr_a226, inp_a227) ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) GHC.Prim.writeMutVar#
- @ s_a2bs
- @ GHC.Base.String
- var#_a43z
- inp_a227
- new_s_X42s
- of s2#_a43F { __DEFAULT ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) GHC.Prim.writeMutVar#
- @ s_a2bs
- @ Main.AlexPosn
- var#_X46y
- pos_a225
- s2#_a43F
- of s2#_X46S { __DEFAULT ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) GHC.Prim.writeMutVar#
- @ s_a2bs
- @ GHC.Base.Char
- var#_X46x
- chr_a226
- s2#_X46S
- of s2#_X46O { __DEFAULT ->
- k_a23z (r_X42D, tpl_X4U, r_a3ZA) len_a23B @ s_a2bs wild_X2B s2#_X46O
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
-lvl_s4pP :: (Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> forall s_a2bs.
- Main.AlexState s_a2bs
- -> GHC.Prim.State# s_a2bs
- -> (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #)
-[Arity 4
- T]
-lvl_s4pP = \ (input_a22z :: (Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char]))
- (len_a22A :: GHC.Base.Int)
- (@ s_a2bs)
- (eta_s47H :: Main.AlexState s_a2bs)
- (eta_s47I :: GHC.Prim.State# s_a2bs) ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) eta_s47H
- of wild_X34 { Main.AlexState ds_d3og ds_d3oh ds_d3oi scd_r_a22m ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) scd_r_a22m
- of wild_a43y { GHC.STRef.STRef var#_a43z ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) GHC.Prim.readMutVar#
- @ s_a2bs @ GHC.Base.Int var#_a43z eta_s47I
- of wild_a3ZB { (# new_s_a3Zz, r_a3ZA #) ->
- case (# GHC.Prim.State# s_a2bs, [GHC.Base.Char] #) r_a3ZA
- of w_X4o2 { GHC.Base.I# ww_s4mz ->
- $wk_s4mM ww_s4mz @ s_a2bs wild_X34 new_s_a3Zz
- }
- }
- }
- }
-lvl_s4pN :: Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])
-[*]
-lvl_s4pN = Main.AlexAcc
- @ ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])
- lit_a3m9
- lvl_s4pP
- (Data.Maybe.Nothing @ (GHC.Arr.Array GHC.Base.Char GHC.Base.Bool))
- (Data.Maybe.Nothing @ GHC.Base.Int)
-lvl_s4pM :: [Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]
-[*]
-lvl_s4pM = GHC.Base.:
- @ (Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))
- lvl_s4pN
- (GHC.Base.[]
- @ (Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])))
-lvl_s4pL :: [[Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]]
-[*]
-lvl_s4pL = GHC.Base.:
- @ [Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]
- lvl_s4pM
- lvl_s4pQ
-lvl_s4pK :: [[Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]]
-[*]
-lvl_s4pK = GHC.Base.:
- @ [Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]
- (GHC.Base.[]
- @ (Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])))
- lvl_s4pL
-lvl_s4pJ :: [[Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]]
-[*]
-lvl_s4pJ = GHC.Base.:
- @ [Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]
- (GHC.Base.[]
- @ (Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])))
- lvl_s4pK
-alex_accept_a2Bg :: GHC.Arr.Array GHC.Base.Int
- [Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]
-[*
- Str: DmdType]
-alex_accept_a2Bg = case (GHC.Arr.Array GHC.Base.Int
- [Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]) GHC.Prim.newArray#
- @ [Main.AlexAcc ((Main.AlexPosn,
- GHC.Base.Char,
- [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]
- @ GHC.Prim.RealWorld
- 4
- (GHC.Arr.arrEleBottom
- @ [Main.AlexAcc ((Main.AlexPosn,
- GHC.Base.Char,
- [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])])
- GHC.Prim.realWorld#
- of wild2_a3Up { (# s2#_a3Un, marr#_a3Uo #) ->
- __letrec {
- fillFromList_s4pc :: GHC.Prim.Int#
- -> [[Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]]
- -> GHC.Prim.State# GHC.Prim.RealWorld
- -> GHC.Prim.State# GHC.Prim.RealWorld
- [Arity 3
- 0 -> 0 -> 0 -> *
- Str: DmdType LLL]
- fillFromList_s4pc = \ (i#_a3Ul :: GHC.Prim.Int#)
- (xs_a3Uk :: [[Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]])
- (s3#_a3Uj :: GHC.Prim.State# GHC.Prim.RealWorld) ->
- case (GHC.Prim.State# GHC.Prim.RealWorld) i#_a3Ul of wild_X3y {
- __DEFAULT ->
- case (GHC.Prim.State# GHC.Prim.RealWorld) xs_a3Uk of wild4_a47j {
- [] -> s3#_a3Uj;
- : y_a47h ys_a47i ->
- case (GHC.Prim.State# GHC.Prim.RealWorld) GHC.Prim.writeArray#
- @ GHC.Prim.RealWorld
- @ [Main.AlexAcc ((Main.AlexPosn,
- GHC.Base.Char,
- [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]
- marr#_a3Uo
- wild_X3y
- y_a47h
- s3#_a3Uj
- of s4#_a47g { __DEFAULT ->
- fillFromList_s4pc (GHC.Prim.+# wild_X3y 1) ys_a47i s4#_a47g
- }
- };
- 4 -> s3#_a3Uj
- };
- } in
- case (GHC.Arr.Array GHC.Base.Int
- [Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]) fillFromList_s4pc
- 0 lvl_s4pJ s2#_a3Un
- of s3#_a47k { __DEFAULT ->
- case (GHC.Arr.Array GHC.Base.Int
- [Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]) GHC.Prim.unsafeFreezeArray#
- @ GHC.Prim.RealWorld
- @ [Main.AlexAcc ((Main.AlexPosn,
- GHC.Base.Char,
- [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]
- marr#_a3Uo
- s3#_a47k
- of wild_a488 { (# s2#_a48a, arr#_a48b #) ->
- GHC.Arr.Array
- @ GHC.Base.Int
- @ [Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]
- lit_a3m9
- lvl_s4pX
- arr#_a48b
- }
- }
- }
-check_rctx_a2B6 :: ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])
- -> Data.Maybe.Maybe GHC.Base.Int
- -> [Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]
- -> GHC.Base.Char
- -> GHC.Prim.Int#
- -> Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])
- -> Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))
-[Arity 8
- 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> *
- Str: DmdType LSLLLL]
-check_rctx_a2B6 = \ (a_a2aL :: (Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])
- (rctx_a2aM :: Data.Maybe.Maybe GHC.Base.Int)
- (rest_a2aN :: [Main.AlexAcc ((Main.AlexPosn, GHC.Base.Char, [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])])
- (lc_a2aO :: GHC.Base.Char)
- (len_a2aP :: GHC.Prim.Int#)
- (last_acc_a2aQ :: Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))
- (@ s_a2bs)
- (eta_x1 :: Main.AlexState s_a2bs)
- (eta_x2 :: GHC.Prim.State# s_a2bs) ->
- (case (Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))) rctx_a2aM
- of wild_X3t {
- Data.Maybe.Nothing ->
- \ (@ s_a2bs)
- (w_s4m0 :: Main.AlexState s_a2bs)
- (w_s4mg :: GHC.Prim.State# s_a2bs) ->
- case (# GHC.Prim.State# s_a2bs,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) w_s4m0
- of w_X4n1 { Main.AlexState ww_s4m2 ww_s4m6 ww_s4ma ww_s4me ->
- case (# GHC.Prim.State# s_a2bs,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) ww_s4m2
- of ww_X4na { GHC.STRef.STRef ww_s4m4 ->
- case (# GHC.Prim.State# s_a2bs,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) ww_s4m6
- of ww_X4ni { GHC.STRef.STRef ww_s4m8 ->
- case (# GHC.Prim.State# s_a2bs,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) ww_s4ma
- of ww_X4nq { GHC.STRef.STRef ww_s4mc ->
- case (# GHC.Prim.State# s_a2bs,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.readMutVar#
- @ s_a2bs
- @ GHC.Base.String
- ww_s4m8
- w_s4mg
- of wild_a3ZB { (# new_s_a3Zz, r_a3ZA #) ->
- case (# GHC.Prim.State# s_a2bs,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.readMutVar#
- @ s_a2bs
- @ GHC.Base.Char
- ww_s4mc
- new_s_a3Zz
- of wild_X42B { (# new_s_X42A, r_X42C #) ->
- case (# GHC.Prim.State# s_a2bs,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.readMutVar#
- @ s_a2bs
- @ Main.AlexPosn
- ww_s4m4
- new_s_X42A
- of wild_X45K { (# new_s_X48T, r_X42D #) ->
- (# new_s_X48T,
- (Main.AlexLastAcc
- @ (Main.AlexInput -> GHC.Base.Int -> Main.Alex [GHC.Base.Char])
- a_a2aL
- (r_X42D, r_X42C, r_a3ZA)
- (GHC.Base.I# len_a2aP)) #)
- }
- }
- }
- }
- }
- }
- };
- Data.Maybe.Just ds_d3nH ->
- case (Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))) ds_d3nH
- of wild_X4X { GHC.Base.I# ds_d3nI ->
- let {
- lvl_s4pt :: Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))
- [*
- Str: DmdType]
- lvl_s4pt = check_accs1_a2B8 rest_a2aN lc_a2aO len_a2aP last_acc_a2aQ
- } in
- \ (@ s_X3iB)
- (s_X2fm :: Main.AlexState s_X3iB)
- (s_X436 :: GHC.Prim.State# s_X3iB) ->
- case (# GHC.Prim.State# s_X3iB,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) s_X2fm
- of wild_X2B { Main.AlexState pos_r_a21Q inp_r_a21S chr_r_a21R ds_d3od ->
- case (# GHC.Prim.State# s_X3iB,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) inp_r_a21S
- of wild_a43y { GHC.STRef.STRef var#_a43z ->
- case (# GHC.Prim.State# s_X3iB,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.readMutVar#
- @ s_X3iB
- @ GHC.Base.String
- var#_a43z
- s_X436
- of wild_a3ZB { (# new_s_a3Zz, r_a3ZA #) ->
- case (# GHC.Prim.State# s_X3iB,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) chr_r_a21R
- of wild_X46u { GHC.STRef.STRef var#_X46x ->
- case (# GHC.Prim.State# s_X3iB,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.readMutVar#
- @ s_X3iB
- @ GHC.Base.Char
- var#_X46x
- new_s_a3Zz
- of wild_X42B { (# new_s_X42A, r_X42C #) ->
- case (# GHC.Prim.State# s_X3iB,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) pos_r_a21Q
- of wild_X46v { GHC.STRef.STRef var#_X46y ->
- case (# GHC.Prim.State# s_X3iB,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.readMutVar#
- @ s_X3iB
- @ Main.AlexPosn
- var#_X46y
- new_s_X42A
- of wild_X45K { (# new_s_X48T, r_X42D #) ->
- case (# GHC.Prim.State# s_X3iB,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) r_X42C
- of tpl_X56 { GHC.Base.C# a_s3Wu ->
- case (# GHC.Prim.State# s_X3iB,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) alex_scan_tkn_a2zF
- tpl_X56
- 0
- ds_d3nI
- (Main.AlexNone
- @ (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))
- @ s_X3iB
- wild_X2B
- new_s_X48T
- of wild_X42y { (# new_s_X42x, r_X42z #) ->
- case (# GHC.Prim.State# s_X3iB,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.writeMutVar#
- @ s_X3iB
- @ GHC.Base.String
- var#_a43z
- r_a3ZA
- new_s_X42x
- of s2#_a43F { __DEFAULT ->
- case (# GHC.Prim.State# s_X3iB,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.writeMutVar#
- @ s_X3iB
- @ Main.AlexPosn
- var#_X46y
- r_X42D
- s2#_a43F
- of s2#_X46S { __DEFAULT ->
- case (# GHC.Prim.State# s_X3iB,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.writeMutVar#
- @ s_X3iB
- @ GHC.Base.Char
- var#_X46x
- tpl_X56
- s2#_X46S
- of s2#_X46O { __DEFAULT ->
- case (# GHC.Prim.State# s_X3iB,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) r_X42z
- of wild_X57 {
- Main.AlexNone -> lvl_s4pt @ s_X3iB wild_X2B s2#_X46O;
- Main.AlexLastAcc ds_d3nK ds_d3nL ds_d3nM ->
- case (# GHC.Prim.State# s_X3iB,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.readMutVar#
- @ s_X3iB
- @ GHC.Base.String
- var#_a43z
- s2#_X46O
- of wild_X42f { (# new_s_X42e, r_X42g #) ->
- case (# GHC.Prim.State# s_X3iB,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.readMutVar#
- @ s_X3iB
- @ GHC.Base.Char
- var#_X46x
- new_s_X42e
- of wild_X45j { (# new_s_X482, r_X45m #) ->
- case (# GHC.Prim.State# s_X3iB,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.readMutVar#
- @ s_X3iB
- @ Main.AlexPosn
- var#_X46y
- new_s_X482
- of wild_X48w { (# new_s_X4bG, r_X45r #) ->
- (# new_s_X4bG,
- (Main.AlexLastAcc
- @ (Main.AlexInput -> GHC.Base.Int -> Main.Alex [GHC.Base.Char])
- a_a2aL
- (r_X45r, r_X45m, r_X42g)
- (GHC.Base.I# len_a2aP)) #)
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- })
- @ s_a2bs eta_x1 eta_x2
-check_accs1_a2B8 :: [Main.AlexAcc ((Main.AlexPosn,
- GHC.Base.Char,
- [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]
- -> GHC.Base.Char
- -> GHC.Prim.Int#
- -> Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])
- -> Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))
-[Arity 4
- 0 -> 0 -> 0 -> 0 -> *
- Str: DmdType SLLL]
-check_accs1_a2B8 = \ (accs_a24C :: [Main.AlexAcc ((Main.AlexPosn,
- GHC.Base.Char,
- [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])])
- (lc_a24D :: GHC.Base.Char)
- (len_a24E :: GHC.Prim.Int#)
- (last_acc_a24F :: Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])) ->
- case (Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))) accs_a24C
- of wild_X3t {
- [] ->
- return_a3fW
- @ (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))
- last_acc_a24F;
- : ds_d3nO rest_a24P ->
- case (Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))) ds_d3nO
- of wild_X4Y { Main.AlexAcc ds_d3nP a_a24M lctx_a24N rctx_a24O ->
- case (Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))) lctx_a24N
- of wild_X54 {
- Data.Maybe.Nothing ->
- check_rctx_a2B6 a_a24M rctx_a24O rest_a24P lc_a24D len_a24E last_acc_a24F;
- Data.Maybe.Just arr_a24W ->
- case (Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))) arr_a24W
- of wild_a48O { GHC.Arr.Array l_a48P u_a48Q ds_a48R ->
- case (Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))) l_a48P
- of ww_a48V { GHC.Base.C# ww_a48X ->
- case (Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))) u_a48Q
- of ww_a48Z { GHC.Base.C# ww_a491 ->
- case (Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))) lc_a24D
- of w_a494 { GHC.Base.C# ww_a496 ->
- case (Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))) GHC.Arr.$windex2
- ww_a48X
- ww_a491
- ww_a496
- of ww_a49b { __DEFAULT ->
- case (Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))) GHC.Prim.indexArray#
- @ GHC.Base.Bool
- ds_a48R
- ww_a49b
- of wild2_a49K { (# e_a49M #) ->
- case (Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))) e_a49M
- of wild_X57 {
- GHC.Base.False -> check_accs1_a2B8 rest_a24P w_a494 len_a24E last_acc_a24F;
- GHC.Base.True ->
- check_rctx_a2B6 a_a24M rctx_a24O rest_a24P w_a494 len_a24E last_acc_a24F
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
-alex_scan_tkn_a2zF :: GHC.Base.Char
- -> GHC.Prim.Int#
- -> GHC.Prim.Int#
- -> Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])
- -> Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))
-[Arity 4
- 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> *
- Str: DmdType LLLL]
-alex_scan_tkn_a2zF = \ (lc_a23F :: GHC.Base.Char)
- (len_a23G :: GHC.Prim.Int#)
- (ds_d3n1 :: GHC.Prim.Int#)
- (last_acc_a23H :: Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])) ->
- case (Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))) ds_d3n1
- of ds_X3rY {
- __DEFAULT ->
- let {
- ds_s4pv :: Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))
- [*
- Str: DmdType]
- ds_s4pv = case (Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))) alex_accept_a2Bg
- of wild_a4cx { GHC.Arr.Array ds2_a4cu ds3_a4cv arr#_a4cw ->
- case (Main.Alex (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))) GHC.Prim.indexArray#
- @ [Main.AlexAcc ((Main.AlexPosn,
- GHC.Base.Char,
- [GHC.Base.Char])
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char])]
- arr#_a4cw
- ds_X3rY
- of wild2_a4cD { (# e_a4cF #) ->
- check_accs1_a2B8 e_a4cF lc_a23F len_a23G last_acc_a23H
- }
- }
- } in
- \ (@ s_X3iz)
- (s_X2fk :: Main.AlexState s_X3iz)
- (s_X434 :: GHC.Prim.State# s_X3iz) ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) ds_s4pv @ s_X3iz s_X2fk s_X434
- of wild_a3ZB { (# new_s_a3Zz, r_a3ZA #) ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) s_X2fk
- of wild_X2w { Main.AlexState pos_r_a21o inp_r_a21m chr_r_a21n ds_d3o7 ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) inp_r_a21m
- of wild_a43y { GHC.STRef.STRef var#_a43z ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.readMutVar#
- @ s_X3iz
- @ GHC.Base.String
- var#_a43z
- new_s_a3Zz
- of wild_X420 { (# new_s_X41Z, r_X421 #) ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) pos_r_a21o
- of wild_X46p { GHC.STRef.STRef var#_X46s ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.readMutVar#
- @ s_X3iz
- @ Main.AlexPosn
- var#_X46s
- new_s_X41Z
- of wild_X42w { (# new_s_X42v, r_X42x #) ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) r_X421
- of wild_X4j {
- [] -> (# new_s_X42v, r_a3ZA #);
- : c_a21B s_a21C ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.writeMutVar#
- @ s_X3iz
- @ GHC.Base.String
- var#_a43z
- s_a21C
- new_s_X42v
- of s2#_a43F { __DEFAULT ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) chr_r_a21n
- of wild_X46I { GHC.STRef.STRef var#_X46M ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.writeMutVar#
- @ s_X3iz
- @ GHC.Base.Char
- var#_X46M
- c_a21B
- s2#_a43F
- of s2#_X46N { __DEFAULT ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) r_X42x
- of wild_X4p { Main.AlexPn a_a1UD l_a1UE c_a1UF ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) c_a21B
- of wild_X3V { GHC.Base.C# ds_d3my ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) ds_d3my
- of ds_X3qv {
- __DEFAULT ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) a_a1UD
- of wild_a437 { GHC.Base.I# x_a436 ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) c_a1UF
- of wild_X469 { GHC.Base.I# x_X46a ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) l_a1UE
- of tpl_X3b { GHC.Base.I# a_s43O ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.writeMutVar#
- @ s_X3iz
- @ Main.AlexPosn
- var#_X46s
- (Main.AlexPn
- (GHC.Base.I#
- (GHC.Prim.+#
- x_a436 1))
- tpl_X3b
- (GHC.Base.I#
- (GHC.Prim.+#
- x_X46a 1)))
- s2#_X46N
- of s2#_X461 { __DEFAULT ->
- let {
- off'_s3XM :: GHC.Prim.Int#
- [*
- Str: DmdType]
- off'_s3XM = GHC.Prim.*# ds_X3rY 2 } in
- let {
- arr_a22R :: GHC.Prim.Addr#
- [*
- Str: DmdType]
- arr_a22R = "\248\255\253\255\STX\NULL\NUL" } in
- let {
- ds_d3nX :: GHC.Prim.Int#
- [*
- Str: DmdType]
- ds_d3nX = GHC.Prim.ord# ds_X3qv } in
- let {
- offset_s3XK :: GHC.Prim.Int#
- [*
- Str: DmdType]
- offset_s3XK = GHC.Prim.+#
- (GHC.Prim.narrow16Int#
- (GHC.Prim.word2Int#
- (GHC.Prim.or#
- (GHC.Prim.uncheckedShiftL#
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_a22R (GHC.Prim.+# off'_s3XM 1))))
- 8)
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_a22R off'_s3XM))))))
- ds_d3nX } in
- let {
- $w$j_s4px :: GHC.Prim.State# GHC.Prim.RealWorld
- -> (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #)
- [Arity 1
- *
- Str: DmdType A]
- $w$j_s4px = \ (w_s4mk :: GHC.Prim.State# GHC.Prim.RealWorld) ->
- let {
- arr_X26b :: GHC.Prim.Addr#
- [*
- Str: DmdType]
- arr_X26b = "\255\255\255\255\255\255\255\255"
- } in
- alex_scan_tkn_a2zF
- lc_a23F
- (GHC.Prim.+# len_a23G 1)
- (GHC.Prim.narrow16Int#
- (GHC.Prim.word2Int#
- (GHC.Prim.or#
- (GHC.Prim.uncheckedShiftL#
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X26b (GHC.Prim.+# off'_s3XM 1))))
- 8)
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X26b off'_s3XM))))))
- r_a3ZA
- @ s_X3iz
- wild_X2w
- s2#_X461
- } in
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.>=#
- offset_s3XK 0
- of wild_a43m {
- GHC.Base.False -> $w$j_s4px GHC.Prim.realWorld#;
- GHC.Base.True ->
- let {
- off'_X40Z :: GHC.Prim.Int#
- [*
- Str: DmdType]
- off'_X40Z = GHC.Prim.*# offset_s3XK 2 } in
- let {
- arr_X262 :: GHC.Prim.Addr#
- [*
- Str: DmdType]
- arr_X262 = "\255\255\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255 \NUL\255\255\255\255\255\255\255\255 \NUL\255\255'\NUL\255\255\255\255 \NUL\255\255\255\255-\NUL\255\255\255\255\&0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255A\NULB\NULC\NULD\NULE\NULF\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\255\255\255\255\255\255\255\255\255\255a\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULm\NULn\NULo\NULp\NULq\NULr\NULs\NULt\NULu\NULv\NULw\NULx\NULy\NULz\NUL'\NUL\255\255\255\255\255\255\255\255\255\255-\NUL\255\255\255\255\&0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255A\NULB\NULC\NULD\NULE\NULF\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\255\255\255\255\255\255\255\255\255\255a\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULm\NULn\NULo\NULp\NULq\NULr\NULs\NULt\NULu\NULv\NULw\NULx\NULy\NULz\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255"
- } in
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.==#
- (GHC.Prim.narrow16Int#
- (GHC.Prim.word2Int#
- (GHC.Prim.or#
- (GHC.Prim.uncheckedShiftL#
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X262
- (GHC.Prim.+#
- off'_X40Z
- 1))))
- 8)
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X262
- off'_X40Z))))))
- ds_d3nX
- of wild_X8K {
- GHC.Base.False -> $w$j_s4px GHC.Prim.realWorld#;
- GHC.Base.True ->
- let {
- arr_X26c :: GHC.Prim.Addr#
- [*
- Str: DmdType]
- arr_X26c = "\NUL\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\NUL\NUL\NUL\ETX\NUL\NUL\NUL\NUL\NUL\STX\NUL\NUL\NUL\NUL\NUL\ETX\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL"
- } in
- alex_scan_tkn_a2zF
- lc_a23F
- (GHC.Prim.+# len_a23G 1)
- (GHC.Prim.narrow16Int#
- (GHC.Prim.word2Int#
- (GHC.Prim.or#
- (GHC.Prim.uncheckedShiftL#
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X26c (GHC.Prim.+# off'_X40Z 1))))
- 8)
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X26c off'_X40Z))))))
- r_a3ZA
- @ s_X3iz
- wild_X2w
- s2#_X461
- }
- }
- }
- }
- }
- };
- '\t' ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) a_a1UD
- of wild_a437 { GHC.Base.I# x_a436 ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) c_a1UF
- of wild_X469 { GHC.Base.I# x_X46a ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Base.divInt#
- (GHC.Prim.+#
- x_X46a 7)
- 8
- of x_a44T { __DEFAULT ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) l_a1UE
- of tpl_X3c { GHC.Base.I# a_s452 ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.writeMutVar#
- @ s_X3iz
- @ Main.AlexPosn
- var#_X46s
- (Main.AlexPn
- (GHC.Base.I#
- (GHC.Prim.+#
- x_a436 1))
- tpl_X3c
- (GHC.Base.I#
- (GHC.Prim.+#
- (GHC.Prim.*#
- x_a44T
- 8)
- 1)))
- s2#_X46N
- of s2#_X461 { __DEFAULT ->
- let {
- off'_s3XM :: GHC.Prim.Int#
- [*
- Str: DmdType]
- off'_s3XM = GHC.Prim.*# ds_X3rY 2 } in
- let {
- arr_a22R :: GHC.Prim.Addr#
- [*
- Str: DmdType]
- arr_a22R = "\248\255\253\255\STX\NULL\NUL" } in
- let {
- offset_s3XK :: GHC.Prim.Int#
- [*
- Str: DmdType]
- offset_s3XK = GHC.Prim.+#
- (GHC.Prim.narrow16Int#
- (GHC.Prim.word2Int#
- (GHC.Prim.or#
- (GHC.Prim.uncheckedShiftL#
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_a22R (GHC.Prim.+# off'_s3XM 1))))
- 8)
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_a22R off'_s3XM))))))
- 9 } in
- let {
- $w$j_s4pz :: GHC.Prim.State# GHC.Prim.RealWorld
- -> (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #)
- [Arity 1
- *
- Str: DmdType A]
- $w$j_s4pz = \ (w_s4mo :: GHC.Prim.State# GHC.Prim.RealWorld) ->
- let {
- arr_X26c :: GHC.Prim.Addr#
- [*
- Str: DmdType]
- arr_X26c = "\255\255\255\255\255\255\255\255"
- } in
- alex_scan_tkn_a2zF
- lc_a23F
- (GHC.Prim.+# len_a23G 1)
- (GHC.Prim.narrow16Int#
- (GHC.Prim.word2Int#
- (GHC.Prim.or#
- (GHC.Prim.uncheckedShiftL#
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X26c (GHC.Prim.+# off'_s3XM 1))))
- 8)
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X26c off'_s3XM))))))
- r_a3ZA
- @ s_X3iz
- wild_X2w
- s2#_X461
- } in
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.>=#
- offset_s3XK 0
- of wild_a43m {
- GHC.Base.False -> $w$j_s4pz GHC.Prim.realWorld#;
- GHC.Base.True ->
- let {
- off'_X410 :: GHC.Prim.Int#
- [*
- Str: DmdType]
- off'_X410 = GHC.Prim.*# offset_s3XK 2 } in
- let {
- arr_X263 :: GHC.Prim.Addr#
- [*
- Str: DmdType]
- arr_X263 = "\255\255\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255 \NUL\255\255\255\255\255\255\255\255 \NUL\255\255'\NUL\255\255\255\255 \NUL\255\255\255\255-\NUL\255\255\255\255\&0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255A\NULB\NULC\NULD\NULE\NULF\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\255\255\255\255\255\255\255\255\255\255a\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULm\NULn\NULo\NULp\NULq\NULr\NULs\NULt\NULu\NULv\NULw\NULx\NULy\NULz\NUL'\NUL\255\255\255\255\255\255\255\255\255\255-\NUL\255\255\255\255\&0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255A\NULB\NULC\NULD\NULE\NULF\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\255\255\255\255\255\255\255\255\255\255a\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULm\NULn\NULo\NULp\NULq\NULr\NULs\NULt\NULu\NULv\NULw\NULx\NULy\NULz\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255"
- } in
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.narrow16Int#
- (GHC.Prim.word2Int#
- (GHC.Prim.or#
- (GHC.Prim.uncheckedShiftL#
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X263
- (GHC.Prim.+#
- off'_X410
- 1))))
- 8)
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X263
- off'_X410)))))
- of wild_X3k {
- __DEFAULT -> $w$j_s4pz GHC.Prim.realWorld#;
- 9 ->
- let {
- arr_X26d :: GHC.Prim.Addr#
- [*
- Str: DmdType]
- arr_X26d = "\NUL\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\NUL\NUL\NUL\ETX\NUL\NUL\NUL\NUL\NUL\STX\NUL\NUL\NUL\NUL\NUL\ETX\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL"
- } in
- alex_scan_tkn_a2zF
- lc_a23F
- (GHC.Prim.+# len_a23G 1)
- (GHC.Prim.narrow16Int#
- (GHC.Prim.word2Int#
- (GHC.Prim.or#
- (GHC.Prim.uncheckedShiftL#
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X26d (GHC.Prim.+# off'_X410 1))))
- 8)
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X26d off'_X410))))))
- r_a3ZA
- @ s_X3iz
- wild_X2w
- s2#_X461
- }
- }
- }
- }
- }
- }
- };
- '\n' ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) a_a1UD
- of wild_a437 { GHC.Base.I# x_a436 ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) l_a1UE
- of wild_X469 { GHC.Base.I# x_X46a ->
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.writeMutVar#
- @ s_X3iz
- @ Main.AlexPosn
- var#_X46s
- (Main.AlexPn
- (GHC.Base.I#
- (GHC.Prim.+#
- x_a436 1))
- (GHC.Base.I#
- (GHC.Prim.+#
- x_X46a 1))
- lvl_s4pT)
- s2#_X46N
- of s2#_X461 { __DEFAULT ->
- let {
- off'_s3XM :: GHC.Prim.Int#
- [*
- Str: DmdType]
- off'_s3XM = GHC.Prim.*# ds_X3rY 2 } in
- let {
- arr_a22R :: GHC.Prim.Addr#
- [*
- Str: DmdType]
- arr_a22R = "\248\255\253\255\STX\NULL\NUL" } in
- let {
- offset_s3XK :: GHC.Prim.Int#
- [*
- Str: DmdType]
- offset_s3XK = GHC.Prim.+#
- (GHC.Prim.narrow16Int#
- (GHC.Prim.word2Int#
- (GHC.Prim.or#
- (GHC.Prim.uncheckedShiftL#
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_a22R (GHC.Prim.+# off'_s3XM 1))))
- 8)
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_a22R off'_s3XM))))))
- 10 } in
- let {
- $w$j_s4pC :: GHC.Prim.State# GHC.Prim.RealWorld
- -> (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #)
- [Arity 1
- *
- Str: DmdType A]
- $w$j_s4pC = \ (w_s4ms :: GHC.Prim.State# GHC.Prim.RealWorld) ->
- let {
- arr_X266 :: GHC.Prim.Addr#
- [*
- Str: DmdType]
- arr_X266 = "\255\255\255\255\255\255\255\255"
- } in
- alex_scan_tkn_a2zF
- lc_a23F
- (GHC.Prim.+# len_a23G 1)
- (GHC.Prim.narrow16Int#
- (GHC.Prim.word2Int#
- (GHC.Prim.or#
- (GHC.Prim.uncheckedShiftL#
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X266 (GHC.Prim.+# off'_s3XM 1))))
- 8)
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X266 off'_s3XM))))))
- r_a3ZA
- @ s_X3iz
- wild_X2w
- s2#_X461
- } in
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.>=#
- offset_s3XK 0
- of wild_a43m {
- GHC.Base.False -> $w$j_s4pC GHC.Prim.realWorld#;
- GHC.Base.True ->
- let {
- off'_X40U :: GHC.Prim.Int#
- [*
- Str: DmdType]
- off'_X40U = GHC.Prim.*# offset_s3XK 2 } in
- let {
- arr_X25X :: GHC.Prim.Addr#
- [*
- Str: DmdType]
- arr_X25X = "\255\255\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255 \NUL\255\255\255\255\255\255\255\255 \NUL\255\255'\NUL\255\255\255\255 \NUL\255\255\255\255-\NUL\255\255\255\255\&0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255A\NULB\NULC\NULD\NULE\NULF\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\255\255\255\255\255\255\255\255\255\255a\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULm\NULn\NULo\NULp\NULq\NULr\NULs\NULt\NULu\NULv\NULw\NULx\NULy\NULz\NUL'\NUL\255\255\255\255\255\255\255\255\255\255-\NUL\255\255\255\255\&0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255A\NULB\NULC\NULD\NULE\NULF\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\255\255\255\255\255\255\255\255\255\255a\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULm\NULn\NULo\NULp\NULq\NULr\NULs\NULt\NULu\NULv\NULw\NULx\NULy\NULz\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255"
- } in
- case (# GHC.Prim.State# s_X3iz,
- Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]) #) GHC.Prim.narrow16Int#
- (GHC.Prim.word2Int#
- (GHC.Prim.or#
- (GHC.Prim.uncheckedShiftL#
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X25X
- (GHC.Prim.+#
- off'_X40U
- 1))))
- 8)
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X25X
- off'_X40U)))))
- of wild_X3e {
- __DEFAULT -> $w$j_s4pC GHC.Prim.realWorld#;
- 10 ->
- let {
- arr_X267 :: GHC.Prim.Addr#
- [*
- Str: DmdType]
- arr_X267 = "\NUL\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\NUL\NUL\NUL\ETX\NUL\NUL\NUL\NUL\NUL\STX\NUL\NUL\NUL\NUL\NUL\ETX\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL"
- } in
- alex_scan_tkn_a2zF
- lc_a23F
- (GHC.Prim.+# len_a23G 1)
- (GHC.Prim.narrow16Int#
- (GHC.Prim.word2Int#
- (GHC.Prim.or#
- (GHC.Prim.uncheckedShiftL#
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X267 (GHC.Prim.+# off'_X40U 1))))
- 8)
- (GHC.Prim.int2Word#
- (GHC.Prim.ord#
- (GHC.Prim.indexCharOffAddr#
- arr_X267 off'_X40U))))))
- r_a3ZA
- @ s_X3iz
- wild_X2w
- s2#_X461
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- };
- (-1) ->
- return_a3fW
- @ (Main.AlexLastAcc (Main.AlexInput
- -> GHC.Base.Int
- -> Main.Alex [GHC.Base.Char]))
- last_acc_a23H
- }
-end Rec }
-
-Rec {
-loop_s3YA :: GHC.Num.Integer -> Main.Alex GHC.Num.Integer
-[Arity 1
- 0 -> 0 -> 0 -> *
- Str: DmdType L]
-loop_s3YA = \ (i_a1Ry :: GHC.Num.Integer) ->
- let {
- lvl_s4pE :: Main.Alex GHC.Num.Integer
- [*
- Str: DmdType]
- lvl_s4pE = case (Main.Alex GHC.Num.Integer) GHC.Num.plusInteger i_a1Ry lit_s3Yy
- of tpl_X5k { __DEFAULT ->
- loop_s3YA tpl_X5k
- }
- } in
- \ (@ s_X3iH)
- (s_X2fs :: Main.AlexState s_X3iH)
- (s_X43c :: GHC.Prim.State# s_X3iH) ->
- case (# GHC.Prim.State# s_X3iH, GHC.Num.Integer #) s_X2fs
- of wild_X34 { Main.AlexState ds_d3og ds_d3oh ds_d3oi scd_r_a22m ->
- case (# GHC.Prim.State# s_X3iH, GHC.Num.Integer #) scd_r_a22m
- of wild_a43y { GHC.STRef.STRef var#_a43z ->
- case (# GHC.Prim.State# s_X3iH, GHC.Num.Integer #) GHC.Prim.readMutVar#
- @ s_X3iH @ GHC.Base.Int var#_a43z s_X43c
- of wild_a3ZB { (# new_s_a3Zz, r_a3ZA #) ->
- case (# GHC.Prim.State# s_X3iH, GHC.Num.Integer #) r_a3ZA
- of w_X4o2 { GHC.Base.I# ww_s4mz ->
- case (# GHC.Prim.State# s_X3iH, GHC.Num.Integer #) $wk_s4mM
- ww_s4mz @ s_X3iH wild_X34 new_s_a3Zz
- of wild_X43C { (# new_s_X43B, r_X43D #) ->
- case (# GHC.Prim.State# s_X3iH, GHC.Num.Integer #) GHC.Base.==1 r_X43D lvl_s3Z6
- of wild_a4d2 {
- GHC.Base.False ->
- case (# GHC.Prim.State# s_X3iH, GHC.Num.Integer #) GHC.Base.==1 r_X43D lvl_s3Z7
- of wild_X3O {
- GHC.Base.False -> lvl_s4pE @ s_X3iH wild_X34 new_s_X43B;
- GHC.Base.True -> (# new_s_X43B, i_a1Ry #)
- };
- GHC.Base.True -> (# new_s_X43B, i_a1Ry #)
- }
- }
- }
- }
- }
- }
-end Rec }
-
-lvl_s4pZ :: GHC.Num.Integer
-[*]
-lvl_s4pZ = GHC.Num.S# 0
-
-lvl_s3Z5 :: Main.Alex GHC.Num.Integer
-[0 -> 0 -> *
- Str: DmdType]
-lvl_s3Z5 = loop_s3YA lvl_s4pZ
-
-Main.alexStartPos :: Main.AlexPosn
-[*
- Str: DmdType m]
-Main.alexStartPos = Main.AlexPn lit_a3m9 lvl_s4pT lvl_s4pT
-
-lvl_s4q0 :: GHC.Base.Char
-[*]
-lvl_s4q0 = GHC.Base.C# '\n'
-
-k_a4es :: GHC.Base.String -> GHC.IOBase.IO ()
-[Arity 2
- 0 -> 0 -> *
- Str: DmdType LL]
-k_a4es = \ (s_a1Uq :: GHC.Base.String)
- (eta_s4ed :: GHC.Prim.State# GHC.Prim.RealWorld) ->
- case (# GHC.Prim.State# GHC.Prim.RealWorld, () #) GHC.IO.hPutStr
- GHC.Handle.stdout
- (case GHC.Base.String GHC.Prim.newMutVar#
- @ GHC.Base.String
- @ GHC.Prim.RealWorld
- s_a1Uq
- GHC.Prim.realWorld#
- of wild_a4cU { (# s2#_a4cV, var#_a4cW #) ->
- case GHC.Base.String GHC.Prim.newMutVar#
- @ GHC.Base.Char
- @ GHC.Prim.RealWorld
- lvl_s4q0
- s2#_a4cV
- of wild_X4fc { (# s2#_X4fe, var#_X4fg #) ->
- case GHC.Base.String GHC.Prim.newMutVar#
- @ Main.AlexPosn
- @ GHC.Prim.RealWorld
- Main.alexStartPos
- s2#_X4fe
- of wild_X4gU { (# s2#_X4gW, var#_X4gY #) ->
- case GHC.Base.String GHC.Prim.newMutVar#
- @ GHC.Base.Int
- @ GHC.Prim.RealWorld
- lit_a3m9
- s2#_X4gW
- of wild_X4gS { (# s2#_X4l2, var#_X4l5 #) ->
- case GHC.Base.String lvl_s3Z5
- @ GHC.Prim.RealWorld
- (Main.AlexState
- @ GHC.Prim.RealWorld
- (GHC.STRef.STRef
- @ GHC.Prim.RealWorld
- @ Main.AlexPosn
- var#_X4gY)
- (GHC.STRef.STRef
- @ GHC.Prim.RealWorld
- @ GHC.Base.String
- var#_a4cW)
- (GHC.STRef.STRef
- @ GHC.Prim.RealWorld
- @ GHC.Base.Char
- var#_X4fg)
- (GHC.STRef.STRef
- @ GHC.Prim.RealWorld
- @ GHC.Base.Int
- var#_X4l5))
- s2#_X4l2
- of wild_a4jy { (# ds_a4jz, r_a4jA #) ->
- GHC.Num.$wshowsPrec
- 0 r_a4jA (GHC.Base.[] @ GHC.Base.Char)
- }
- }
- }
- }
- })
- eta_s4ed
- of wild_a4dA { (# new_s_a4dB, a89_a4dC #) ->
- GHC.IO.$whPutChar GHC.Handle.stdout '\n' new_s_a4dB
- }
-
-Main.main :: GHC.IOBase.IO ()
-[Exported]
-[Arity 1
- 0 -> *
- Str: DmdType L]
-Main.main = \ (s_a4er :: GHC.Prim.State# GHC.Prim.RealWorld) ->
- case (# GHC.Prim.State# GHC.Prim.RealWorld, () #) GHC.IO.hGetContents
- GHC.Handle.stdin s_a4er
- of wild_a4eA { (# new_s_a4ey, a89_a4ez #) ->
- k_a4es a89_a4ez new_s_a4ey
- }
-
-lvl_s4q1 :: GHC.Prim.State# GHC.Prim.RealWorld
- -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
-[Arity 1
- 0 -> *]
-lvl_s4q1 = \ (s_a3VF :: GHC.Prim.State# GHC.Prim.RealWorld) ->
- case (# GHC.Prim.State# GHC.Prim.RealWorld, () #) GHC.IO.hGetContents
- GHC.Handle.stdin s_a3VF
- of wild_a4eA { (# new_s_a4ey, a89_a4ez #) ->
- case (# GHC.Prim.State# GHC.Prim.RealWorld, () #) k_a4es a89_a4ez new_s_a4ey
- of wild_a4eD { (# new_s_a4eK, a89_a4eL #) ->
- case (# GHC.Prim.State# GHC.Prim.RealWorld, () #) GHC.Prim.catch#
- @ ()
- @ GHC.IOBase.Exception
- GHC.TopHandler.ds
- GHC.TopHandler.k
- new_s_a4eK
- of wild1_a4eE { (# new_s1_a4eI, a891_a4eJ #) ->
- case (# GHC.Prim.State# GHC.Prim.RealWorld, () #) GHC.Prim.catch#
- @ ()
- @ GHC.IOBase.Exception
- GHC.TopHandler.ds1
- GHC.TopHandler.k1
- new_s1_a4eI
- of wild2_a4eF { (# new_s2_a4eG, a892_a4eH #) ->
- (# new_s2_a4eG, a89_a4eL #)
- }
- }
- }
- }
-
-:Main.main :: GHC.IOBase.IO ()
-[Exported]
-[Arity 1
- 0 -> *
- Str: DmdType L]
-:Main.main = \ (eta_a3VG :: GHC.Prim.State# GHC.Prim.RealWorld) ->
- GHC.Prim.catch#
- @ () @ GHC.IOBase.Exception lvl_s4q1 (GHC.TopHandler.topHandler @ ()) eta_a3VG
-
-
-
diff --git a/testsuite/tests/arityanal/Makefile b/testsuite/tests/arityanal/Makefile index e69de29bb2..9a36a1c5fe 100644 --- a/testsuite/tests/arityanal/Makefile +++ b/testsuite/tests/arityanal/Makefile @@ -0,0 +1,3 @@ +TOP=../.. +include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/test.mk diff --git a/testsuite/tests/arityanal/f0.stderr b/testsuite/tests/arityanal/f0.stderr deleted file mode 100644 index 29ce90589b..0000000000 --- a/testsuite/tests/arityanal/f0.stderr +++ /dev/null @@ -1,12 +0,0 @@ -
-==================== IdInfo ====================
-lvl_s1yb :: GHC.Base.Int :: [*
- Str: DmdType m]
-F0.f0 :: GHC.Base.Int
- -> GHC.Base.Int
- -> GHC.Base.Int
- -> GHC.Base.Int :: [Arity 3
- 0 -> 0 -> 0 -> *
- Str: DmdType U(L)LLm]
-
-
diff --git a/testsuite/tests/arityanal/f1.stderr b/testsuite/tests/arityanal/f1.stderr deleted file mode 100644 index afafd7d71b..0000000000 --- a/testsuite/tests/arityanal/f1.stderr +++ /dev/null @@ -1,20 +0,0 @@ -***Arity is changed: h1{v a19i} 3 2
-
-==================== IdInfo ====================
-lvl_s1AI :: GHC.Num.Integer -> GHC.Num.Integer :: [Arity 1
- 0 -> *
- Str: DmdType S]
-lit_a1hu :: GHC.Num.Integer :: [*
- Str: DmdType]
-lit_a1ho :: GHC.Num.Integer :: [*
- Str: DmdType]
-h1_a19i :: GHC.Num.Integer
- -> GHC.Num.Integer
- -> GHC.Num.Integer
- -> GHC.Num.Integer :: [Arity 2
- 0 -> 0 -> 0 -> *
- Str: DmdType SS]
-F1.f1 :: GHC.Num.Integer :: [*
- Str: DmdType]
-
-
diff --git a/testsuite/tests/arityanal/f10.stderr b/testsuite/tests/arityanal/f10.stderr deleted file mode 100644 index cd3a95fbe4..0000000000 --- a/testsuite/tests/arityanal/f10.stderr +++ /dev/null @@ -1,27 +0,0 @@ -***Arity is changed as occur many times: F10.f10f{v r155} 2 1
-
-==================== IdInfo ====================
-lit_s1Ll :: GHC.Num.Integer :: [*
- Str: DmdType]
-lit_s1Lj :: GHC.Num.Integer :: [*
- Str: DmdType]
-lit_s1Lh :: GHC.Num.Integer :: [*
- Str: DmdType]
-F10.f10g :: GHC.Num.Integer -> GHC.Num.Integer -> GHC.Num.Integer :: [Arity 2
- *
- Str: DmdType SS]
-F10.f10f :: forall a_a1fu.
- (GHC.Num.Integer -> GHC.Num.Integer -> a_a1fu)
- -> (a_a1fu, GHC.Num.Integer -> a_a1fu) :: [Arity 1
- 1 -> *
- Str: DmdType Lm]
-F10.f10h :: (GHC.Num.Integer, GHC.Num.Integer -> GHC.Num.Integer) :: [*
- Str: DmdType]
-F10.f10x1 :: GHC.Num.Integer :: [*
- Str: DmdType]
-F10.f10x2 :: GHC.Num.Integer -> GHC.Num.Integer :: [*
- Str: DmdType]
-F10.f10 :: GHC.Num.Integer :: [*
- Str: DmdType]
-
-
diff --git a/testsuite/tests/arityanal/f11.stderr b/testsuite/tests/arityanal/f11.stderr deleted file mode 100644 index fc78dad48d..0000000000 --- a/testsuite/tests/arityanal/f11.stderr +++ /dev/null @@ -1,45 +0,0 @@ -***expensive e1 0
-***expensive e1 0
-***expensive e1 0
-***expensive e1 0
-***expensive e1 0
-
-==================== IdInfo ====================
-lvl_s1Fz :: GHC.Num.Integer :: [*
- Str: DmdType]
-lvl_s1Fv :: GHC.Num.Integer :: [*
- Str: DmdType]
-lvl_s1Fu :: GHC.Num.Integer :: [*
- Str: DmdType]
-fib_s1Fj :: GHC.Num.Integer -> GHC.Num.Integer :: [Arity 1
- 0 -> *
- Str: DmdType S]
-lvl_s1IP :: GHC.Num.Integer :: [*]
-x_s1Fr :: GHC.Num.Integer :: [*
- Str: DmdType]
-lvl_s1IQ :: GHC.Num.Integer :: [*]
-a_s1rF :: GHC.Num.Integer :: [*
- Str: DmdType]
-lvl_s1IR :: GHC.Num.Integer :: [*]
-a_s1rE :: GHC.Num.Integer :: [*
- Str: DmdType]
-F11.f11 :: (GHC.Num.Integer, GHC.Num.Integer) :: [*
- Str: DmdType m]
-F11.f11f :: forall t_a1gd.
- t_a1gd -> GHC.Num.Integer -> GHC.Num.Integer :: [Arity 2
- T
- Str: DmdType AS]
-F11.fib :: forall a_a19x a_a1eN.
- (GHC.Num.Num a_a1eN, GHC.Num.Num a_a19x) =>
- a_a19x -> a_a1eN :: [Arity 2
- 0 -> 0 -> 0 -> *
- Str: DmdType LL
- RULES: "SPEC F11.fib" __forall {$dNum_X1Fo :: {GHC.Num.Num GHC.Num.Integer}
- $dNum_X1Fq :: {GHC.Num.Num GHC.Num.Integer}}
- F11.fib @ GHC.Num.Integer
- @ GHC.Num.Integer
- $dNum_X1Fo
- $dNum_X1Fq
- = fib_s1Fj ;]
-
-
diff --git a/testsuite/tests/arityanal/f12.stderr b/testsuite/tests/arityanal/f12.stderr deleted file mode 100644 index 9cd69ed7e2..0000000000 --- a/testsuite/tests/arityanal/f12.stderr +++ /dev/null @@ -1,8 +0,0 @@ -
-==================== IdInfo ====================
-lvl_s1Bx :: GHC.Num.Integer :: [*]
-lvl_s1By :: GHC.Num.Integer :: [*]
-F12.f12 :: GHC.Num.Integer :: [*
- Str: DmdType]
-
-
diff --git a/testsuite/tests/arityanal/f13.stderr b/testsuite/tests/arityanal/f13.stderr deleted file mode 100644 index 37718205b0..0000000000 --- a/testsuite/tests/arityanal/f13.stderr +++ /dev/null @@ -1,17 +0,0 @@ -***expensive e1 0
-
-==================== IdInfo ====================
-lvl_s1AR :: GHC.Num.Integer :: [*
- Str: DmdType]
-lvl_s1AQ :: GHC.Num.Integer :: [*
- Str: DmdType]
-F13.f13 :: forall a_a19A a_a1gc.
- (GHC.Num.Num a_a19A,
- GHC.Base.Ord a_a19A,
- GHC.Num.Num a_a1gc,
- GHC.Num.Num (a_a19A -> a_a1gc -> a_a1gc)) =>
- a_a19A -> a_a1gc -> a_a1gc -> a_a1gc :: [Arity 6
- 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> *
- Str: DmdType LLLLLL]
-
-
diff --git a/testsuite/tests/arityanal/f14.stderr b/testsuite/tests/arityanal/f14.stderr deleted file mode 100644 index 8a3e8382ba..0000000000 --- a/testsuite/tests/arityanal/f14.stderr +++ /dev/null @@ -1,26 +0,0 @@ -***expensive e1 0
-***Arity is changed as occur many times: F14.f14{v r16A} 4 0
-
-==================== IdInfo ====================
-lvl_s1zz :: forall a_a19p. a_a19p -> a_a19p :: [Arity 1
- 0 -> *
- Str: DmdType S]
-lvl_s1zy :: GHC.Num.Integer :: [*
- Str: DmdType]
-$wf14_s1Ak :: forall a_a19p.
- (a_a19p -> a_a19p -> GHC.Base.Bool)
- -> {GHC.Num.Num a_a19p}
- -> a_a19p
- -> a_a19p
- -> a_a19p
- -> a_a19p :: [Arity 4
- 2 -> 0 -> 0 -> 0 -> 0 -> *
- Str: DmdType C(C(S))LLL]
-F14.f14 :: forall a_a19p.
- (GHC.Base.Ord a_a19p, GHC.Num.Num a_a19p) =>
- a_a19p -> a_a19p -> a_a19p -> a_a19p :: [Arity 4
- T
- Worker $wf14_s1Ak
- Str: DmdType U(AAC(C(S))AAAAA)LLL]
-
-
diff --git a/testsuite/tests/arityanal/f15.stderr b/testsuite/tests/arityanal/f15.stderr deleted file mode 100644 index a68ecb25e4..0000000000 --- a/testsuite/tests/arityanal/f15.stderr +++ /dev/null @@ -1,14 +0,0 @@ -
-==================== IdInfo ====================
-lit_s1zs :: GHC.Num.Integer :: [*
- Str: DmdType]
-F15.f15f :: forall t_a1fm. (GHC.Num.Integer -> t_a1fm) -> t_a1fm :: [Arity 1
- 1 -> *
- Str: DmdType C(S)]
-F15.f15g :: GHC.Num.Integer -> GHC.Num.Integer :: [Arity 1
- 0 -> *
- Str: DmdType S]
-F15.f15 :: GHC.Num.Integer :: [*
- Str: DmdType]
-
-
diff --git a/testsuite/tests/arityanal/f2.stderr b/testsuite/tests/arityanal/f2.stderr deleted file mode 100644 index d3fe22cc80..0000000000 --- a/testsuite/tests/arityanal/f2.stderr +++ /dev/null @@ -1,18 +0,0 @@ -
-==================== IdInfo ====================
-lit_s1Bh :: GHC.Num.Integer :: [*
- Str: DmdType]
-F2.f2f :: forall t_a19s t_a19u.
- (t_a19u -> GHC.Num.Integer -> t_a19s) -> t_a19u -> t_a19s :: [Arity 2
- 2 -> 0 -> *
- Str: DmdType C(C(S))L]
-lit_a1i8 :: GHC.Num.Integer :: [*
- Str: DmdType]
-g_a1fp :: GHC.Num.Integer -> GHC.Num.Integer -> GHC.Num.Integer :: [Arity 2
- 0 -> 0 -> *
- Str: DmdType SS]
-lvl_s1DV :: GHC.Num.Integer :: [*]
-F2.f2 :: GHC.Num.Integer :: [*
- Str: DmdType]
-
-
diff --git a/testsuite/tests/arityanal/f3.stderr b/testsuite/tests/arityanal/f3.stderr deleted file mode 100644 index 863713ebe4..0000000000 --- a/testsuite/tests/arityanal/f3.stderr +++ /dev/null @@ -1,15 +0,0 @@ -***Arity is changed as occur many times: F3.f3{v r157} 1 0
-
-==================== IdInfo ====================
-$wfac_s1Bz :: GHC.Prim.Int# -> GHC.Prim.Int# :: [Arity 1
- 0 -> *
- Str: DmdType L]
-F3.fac :: GHC.Base.Int -> GHC.Base.Int :: [Arity 1
- T
- Worker $wfac_s1Bz
- Str: DmdType U(L)m]
-F3.f3 :: GHC.Base.Int -> GHC.Base.Int :: [Arity 1
- T
- Str: DmdType U(L)m]
-
-
diff --git a/testsuite/tests/arityanal/f4.stderr b/testsuite/tests/arityanal/f4.stderr deleted file mode 100644 index 48b617f3ae..0000000000 --- a/testsuite/tests/arityanal/f4.stderr +++ /dev/null @@ -1,22 +0,0 @@ -***Arity is changed as occur many times: F4.f4h{v r155} 2 0
-
-==================== IdInfo ====================
-F4.f4g :: GHC.Base.Int -> GHC.Base.Int :: [Arity 1
- 0 -> *
- Str: DmdType U(L)m]
-lvl_s1Cq :: GHC.Base.Int :: [*]
-$wf4h_s1C9 :: (GHC.Base.Int -> GHC.Base.Int)
- -> GHC.Prim.Int#
- -> GHC.Base.Int :: [Arity 2
- 0 -> 0 -> *
- Str: DmdType C(S)L]
-F4.f4h :: (GHC.Base.Int -> GHC.Base.Int)
- -> GHC.Base.Int
- -> GHC.Base.Int :: [Arity 2
- T
- Worker $wf4h_s1C9
- Str: DmdType C(S)U(L)]
-F4.f4 :: GHC.Base.Int :: [*
- Str: DmdType]
-
-
diff --git a/testsuite/tests/arityanal/f5.stderr b/testsuite/tests/arityanal/f5.stderr deleted file mode 100644 index 757cd3d35e..0000000000 --- a/testsuite/tests/arityanal/f5.stderr +++ /dev/null @@ -1,47 +0,0 @@ -
-==================== IdInfo ====================
-lvl_s1B7 :: GHC.Num.Integer :: [*
- Str: DmdType]
-$sf5h_s1B2 :: forall t_a1gj.
- (t_a1gj -> GHC.Num.Integer)
- -> t_a1gj
- -> (t_a1gj -> GHC.Num.Integer)
- -> GHC.Num.Integer :: [Arity 3
- 1 -> 0 -> 1 -> *
- Str: DmdType C(S)LC(S)]
-$sf5g_s1B1 :: forall t_a1fy.
- (t_a1fy -> GHC.Num.Integer) -> t_a1fy -> GHC.Num.Integer :: [Arity 2
- 1 -> 0 -> *
- Str: DmdType C(S)L]
-eta_s1or :: GHC.Num.Integer :: [*
- Str: DmdType]
-F5.f5h :: forall a_a1gd t_a1gj.
- (GHC.Num.Num a_a1gd) =>
- (t_a1gj -> a_a1gd) -> t_a1gj -> (t_a1gj -> a_a1gd) -> a_a1gd :: [Arity 4
- 0 -> 1 -> 0 -> 1 -> *
- Str: DmdType U(AAC(C(S))AAAAAL)LLL
- RULES: "SPEC F5.f5h" __forall {@ t_a1gj
- $dNum_X1Bl :: {GHC.Num.Num GHC.Num.Integer}}
- F5.f5h @ GHC.Num.Integer
- @ t_a1gj
- $dNum_X1Bl
- = $sf5h_s1B2
- @ t_a1gj ;]
-F5.f5g :: forall t_a1fy a_a1fB.
- (GHC.Num.Num a_a1fB) =>
- (t_a1fy -> a_a1fB) -> t_a1fy -> a_a1fB :: [Arity 3
- 0 -> 1 -> 0 -> *
- Str: DmdType U(AAC(C(S))AAAAAL)LL
- RULES: "SPEC F5.f5g" __forall {@ t_a1fy
- $dNum_X1Bk :: {GHC.Num.Num GHC.Num.Integer}}
- F5.f5g @ t_a1fy @ GHC.Num.Integer $dNum_X1Bk
- = $sf5g_s1B1 @ t_a1fy ;]
-F5.f5y :: GHC.Num.Integer -> GHC.Num.Integer :: [Arity 1
- 0 -> *
- Str: DmdType S]
-lvl_s1DK :: GHC.Num.Integer :: [*]
-lvl_s1DL :: GHC.Num.Integer :: [*]
-F5.f5 :: GHC.Num.Integer :: [*
- Str: DmdType]
-
-
diff --git a/testsuite/tests/arityanal/f6.stderr b/testsuite/tests/arityanal/f6.stderr deleted file mode 100644 index 68c03c44a3..0000000000 --- a/testsuite/tests/arityanal/f6.stderr +++ /dev/null @@ -1,16 +0,0 @@ -
-==================== IdInfo ====================
-lit_s1zR :: GHC.Num.Integer :: [*
- Str: DmdType]
-lvl_s1C2 :: GHC.Num.Integer :: [*]
-F6.f6 :: GHC.Num.Integer :: [*
- Str: DmdType]
-F6.f6t :: GHC.Num.Integer -> GHC.Num.Integer -> GHC.Num.Integer :: [Arity 2
- *
- Str: DmdType SS]
-F6.f6f :: forall t_a1fp t_a1fr.
- (t_a1fr -> GHC.Num.Integer -> t_a1fp) -> t_a1fr -> t_a1fp :: [Arity 2
- 2 -> 0 -> *
- Str: DmdType C(C(S))L]
-
-
diff --git a/testsuite/tests/arityanal/f7.stderr b/testsuite/tests/arityanal/f7.stderr deleted file mode 100644 index 7cef2a7c36..0000000000 --- a/testsuite/tests/arityanal/f7.stderr +++ /dev/null @@ -1,14 +0,0 @@ -
-==================== IdInfo ====================
-lvl_s1BI :: GHC.Num.Integer :: [*]
-lvl_s1BJ :: GHC.Num.Integer :: [*]
-F7.f7 :: GHC.Num.Integer :: [*
- Str: DmdType]
-F7.f7g :: GHC.Num.Integer -> GHC.Num.Integer -> GHC.Num.Integer :: [Arity 2
- *
- Str: DmdType SS]
-F7.f7f :: forall t_a1fh. t_a1fh -> t_a1fh :: [Arity 1
- 0 -> *
- Str: DmdType S]
-
-
diff --git a/testsuite/tests/arityanal/f8.stderr b/testsuite/tests/arityanal/f8.stderr deleted file mode 100644 index e297ceb722..0000000000 --- a/testsuite/tests/arityanal/f8.stderr +++ /dev/null @@ -1,20 +0,0 @@ -
-==================== IdInfo ====================
-$sf8f_s1zR :: GHC.Base.Bool
- -> GHC.Num.Integer
- -> GHC.Num.Integer
- -> GHC.Num.Integer :: [Arity 3
- 0 -> 0 -> 0 -> *
- Str: DmdType SLS]
-F8.f8 :: GHC.Num.Integer :: [*
- Str: DmdType]
-F8.f8f :: forall a_a1ex.
- (GHC.Num.Num a_a1ex) =>
- GHC.Base.Bool -> a_a1ex -> a_a1ex -> a_a1ex :: [Arity 4
- 0 -> 0 -> 0 -> 0 -> *
- Str: DmdType LSLL
- RULES: "SPEC F8.f8f" __forall {$dNum_X1zY :: {GHC.Num.Num GHC.Num.Integer}}
- F8.f8f @ GHC.Num.Integer $dNum_X1zY
- = $sf8f_s1zR ;]
-
-
diff --git a/testsuite/tests/arityanal/f9.stderr b/testsuite/tests/arityanal/f9.stderr deleted file mode 100644 index 267b96b858..0000000000 --- a/testsuite/tests/arityanal/f9.stderr +++ /dev/null @@ -1,15 +0,0 @@ -
-==================== IdInfo ====================
-lit_a1hg :: GHC.Num.Integer :: [*
- Str: DmdType]
-lit_a1he :: GHC.Num.Integer :: [*
- Str: DmdType]
-lit_a1h9 :: GHC.Num.Integer :: [*
- Str: DmdType]
-f_a19b :: GHC.Num.Integer -> GHC.Num.Integer :: [Arity 1
- 0 -> *
- Str: DmdType S]
-F9.f91 :: GHC.Num.Integer :: [*
- Str: DmdType]
-
-
diff --git a/testsuite/tests/arityanal/prim.stderr b/testsuite/tests/arityanal/prim.stderr deleted file mode 100644 index b5f76d493e..0000000000 --- a/testsuite/tests/arityanal/prim.stderr +++ /dev/null @@ -1,15 +0,0 @@ -***Arity is changed as occur in Lambda: polyzufail_s1tt{v} 1 0
-
-==================== IdInfo ====================
-poly_fail_s1tt :: forall a_a175. [a_a175] :: [*
- Str: DmdType b]
-Prim.zipWith2 :: forall a_a16Z a_a171 a_a175.
- (a_a16Z -> a_a171 -> a_a175) -> [a_a16Z] -> [a_a171] -> [a_a175] :: [Arity 3
- 0 -> 0 -> 0 -> *
- Str: DmdType LSS]
-Prim.map2 :: forall a_a17C a_a17G.
- (a_a17C -> a_a17G) -> [a_a17C] -> [a_a17G] :: [Arity 2
- 0 -> 0 -> *
- Str: DmdType LS]
-
-
diff --git a/testsuite/tests/arityanal/f0.hs b/testsuite/tests/arityanal/should_compile/Arity00.hs index 2499aa6f2c..2499aa6f2c 100644 --- a/testsuite/tests/arityanal/f0.hs +++ b/testsuite/tests/arityanal/should_compile/Arity00.hs diff --git a/testsuite/tests/arityanal/should_compile/Arity00.stderr b/testsuite/tests/arityanal/should_compile/Arity00.stderr new file mode 100644 index 0000000000..392e1eebc5 --- /dev/null +++ b/testsuite/tests/arityanal/should_compile/Arity00.stderr @@ -0,0 +1,34 @@ + +==================== Tidy Core ==================== +Result size of Tidy Core = {terms: 29, types: 15, coercions: 0, joins: 0/0} + +-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} +F0.f1 :: Int +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}] +F0.f1 = GHC.Types.I# 1# + +-- RHS size: {terms: 25, types: 10, coercions: 0, joins: 0/0} +f0 :: Int -> Int -> Int -> Int +[GblId, + Arity=3, + Str=<S,1*U(U)><L,1*U(U)><L,1*U(U)>, + Cpr=m1, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=3,unsat_ok=True,boring_ok=False) + Tmpl= \ (x [Occ=Once1!] :: Int) (y [Occ=Once1!] :: Int) (eta [Occ=Once1!] :: Int) -> + case x of { GHC.Types.I# x1 -> + case GHC.Prim.># x1 0# of { + __DEFAULT -> F0.f1; + 1# -> case y of { GHC.Types.I# y1 [Occ=Once1] -> case eta of { GHC.Types.I# y2 [Occ=Once1] -> GHC.Types.I# (GHC.Prim.+# (GHC.Prim.+# x1 y1) y2) } } + } + }}] +f0 + = \ (x :: Int) (y :: Int) (eta :: Int) -> + case x of { GHC.Types.I# x1 -> + case GHC.Prim.># x1 0# of { + __DEFAULT -> F0.f1; + 1# -> case y of { GHC.Types.I# y1 -> case eta of { GHC.Types.I# y2 -> GHC.Types.I# (GHC.Prim.+# (GHC.Prim.+# x1 y1) y2) } } + } + } + + + diff --git a/testsuite/tests/arityanal/f1.hs b/testsuite/tests/arityanal/should_compile/Arity01.hs index 71ccfe4d16..71ccfe4d16 100644 --- a/testsuite/tests/arityanal/f1.hs +++ b/testsuite/tests/arityanal/should_compile/Arity01.hs diff --git a/testsuite/tests/arityanal/should_compile/Arity01.stderr b/testsuite/tests/arityanal/should_compile/Arity01.stderr new file mode 100644 index 0000000000..318fc799e0 --- /dev/null +++ b/testsuite/tests/arityanal/should_compile/Arity01.stderr @@ -0,0 +1,70 @@ + +==================== Tidy Core ==================== +Result size of Tidy Core = {terms: 61, types: 45, coercions: 0, joins: 0/0} + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F1.f2 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F1.f2 = 1 + +Rec { +-- RHS size: {terms: 18, types: 4, coercions: 0, joins: 0/0} +F1.f1_h1 [Occ=LoopBreaker] :: Integer -> Integer -> Integer -> Integer +[GblId, Arity=3, Str=<S,U><S,U><S,U>, Unf=OtherCon []] +F1.f1_h1 + = \ (n :: Integer) (x :: Integer) (eta :: Integer) -> + case GHC.Num.Integer.integerCompare x n of { + __DEFAULT -> eta; + LT -> F1.f1_h1 n (GHC.Num.Integer.integerAdd x F1.f2) (GHC.Num.Integer.integerAdd x eta) + } +end Rec } + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F1.f3 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F1.f3 = 5 + +-- RHS size: {terms: 4, types: 0, coercions: 0, joins: 0/0} +f1 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}] +f1 = F1.f1_h1 F1.f3 F1.f2 F1.f3 + +-- RHS size: {terms: 14, types: 5, coercions: 0, joins: 0/0} +g :: Integer -> Integer -> Integer -> Integer -> Integer -> Integer +[GblId, + Arity=5, + Str=<S,1*U><S,U><S,U><S,U><S,U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=5,unsat_ok=True,boring_ok=False) + Tmpl= \ (x1 [Occ=Once1] :: Integer) (x2 [Occ=Once1] :: Integer) (x3 [Occ=Once1] :: Integer) (x4 [Occ=Once1] :: Integer) (x5 [Occ=Once1] :: Integer) -> GHC.Num.Integer.integerAdd (GHC.Num.Integer.integerAdd (GHC.Num.Integer.integerAdd (GHC.Num.Integer.integerAdd x1 x2) x3) x4) x5}] +g = \ (x1 :: Integer) (x2 :: Integer) (x3 :: Integer) (x4 :: Integer) (x5 :: Integer) -> GHC.Num.Integer.integerAdd (GHC.Num.Integer.integerAdd (GHC.Num.Integer.integerAdd (GHC.Num.Integer.integerAdd x1 x2) x3) x4) x5 + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F1.s1 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F1.s1 = 3 + +-- RHS size: {terms: 8, types: 9, coercions: 0, joins: 0/0} +s :: forall {t1} {t2}. Num t1 => (t1 -> t2) -> t2 +[GblId, + Arity=2, + Str=<L,1*U(A,A,A,A,A,A,1*C1(U))><C(S),1*C1(U)>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False) + Tmpl= \ (@t) (@t1) ($dNum [Occ=Once1] :: Num t) (f [Occ=Once1!] :: t -> t1) -> f (fromInteger @t $dNum F1.s1)}] +s = \ (@t) (@t1) ($dNum :: Num t) (f :: t -> t1) -> f (fromInteger @t $dNum F1.s1) + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F1.h1 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F1.h1 = 24 + +-- RHS size: {terms: 4, types: 1, coercions: 0, joins: 0/0} +h :: Integer -> Integer +[GblId, + Arity=1, + Str=<S,U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) + Tmpl= \ (x5 [Occ=Once1] :: Integer) -> GHC.Num.Integer.integerAdd F1.h1 x5}] +h = \ (x5 :: Integer) -> GHC.Num.Integer.integerAdd F1.h1 x5 + + + diff --git a/testsuite/tests/arityanal/f2.hs b/testsuite/tests/arityanal/should_compile/Arity02.hs index 39ddae0f06..39ddae0f06 100644 --- a/testsuite/tests/arityanal/f2.hs +++ b/testsuite/tests/arityanal/should_compile/Arity02.hs diff --git a/testsuite/tests/arityanal/should_compile/Arity02.stderr b/testsuite/tests/arityanal/should_compile/Arity02.stderr new file mode 100644 index 0000000000..3bcac9aacc --- /dev/null +++ b/testsuite/tests/arityanal/should_compile/Arity02.stderr @@ -0,0 +1,47 @@ + +==================== Tidy Core ==================== +Result size of Tidy Core = {terms: 35, types: 27, coercions: 0, joins: 0/0} + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F2.f1 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F2.f1 = 0 + +-- RHS size: {terms: 7, types: 8, coercions: 0, joins: 0/0} +f2f :: forall {t1} {t2}. (t1 -> Integer -> t2) -> t1 -> t2 +[GblId, + Arity=2, + Str=<C(C(S)),1*C1(C1(U))><L,U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=True) + Tmpl= \ (@t) (@t1) (h [Occ=Once1!] :: t -> Integer -> t1) (x [Occ=Once1] :: t) -> h x F2.f1}] +f2f = \ (@t) (@t1) (h :: t -> Integer -> t1) (x :: t) -> h x F2.f1 + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +lvl :: Integer +[GblId, Unf=OtherCon []] +lvl = 1 + +Rec { +-- RHS size: {terms: 16, types: 3, coercions: 0, joins: 0/0} +F2.f2_g [Occ=LoopBreaker] :: Integer -> Integer -> Integer +[GblId, Arity=2, Str=<S,U><S,U>, Unf=OtherCon []] +F2.f2_g + = \ (x :: Integer) (y :: Integer) -> + case GHC.Num.Integer.integerCompare x F2.f1 of { + __DEFAULT -> y; + GT -> F2.f2_g (GHC.Num.Integer.integerSub x lvl) (GHC.Num.Integer.integerAdd x y) + } +end Rec } + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F2.f3 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F2.f3 = 5 + +-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} +f2 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}] +f2 = F2.f2_g F2.f3 F2.f1 + + + diff --git a/testsuite/tests/arityanal/f3.hs b/testsuite/tests/arityanal/should_compile/Arity03.hs index a54f25b78e..a54f25b78e 100644 --- a/testsuite/tests/arityanal/f3.hs +++ b/testsuite/tests/arityanal/should_compile/Arity03.hs diff --git a/testsuite/tests/arityanal/should_compile/Arity03.stderr b/testsuite/tests/arityanal/should_compile/Arity03.stderr new file mode 100644 index 0000000000..29432b7307 --- /dev/null +++ b/testsuite/tests/arityanal/should_compile/Arity03.stderr @@ -0,0 +1,38 @@ + +==================== Tidy Core ==================== +Result size of Tidy Core = {terms: 29, types: 13, coercions: 0, joins: 0/0} + +Rec { +-- RHS size: {terms: 15, types: 3, coercions: 0, joins: 0/0} +F3.$wfac [InlPrag=NOUSERINLINE[2], Occ=LoopBreaker] :: GHC.Prim.Int# -> GHC.Prim.Int# +[GblId, Arity=1, Str=<S,1*U>, Unf=OtherCon []] +F3.$wfac + = \ (ww :: GHC.Prim.Int#) -> + case ww of wild { + __DEFAULT -> case F3.$wfac (GHC.Prim.-# wild 1#) of ww1 { __DEFAULT -> GHC.Prim.*# wild ww1 }; + 0# -> 1# + } +end Rec } + +-- RHS size: {terms: 10, types: 4, coercions: 0, joins: 0/0} +fac [InlPrag=NOUSERINLINE[2]] :: Int -> Int +[GblId, + Arity=1, + Str=<S(S),1*U(1*U)>, + Cpr=m1, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) + Tmpl= \ (w [Occ=Once1!] :: Int) -> case w of { GHC.Types.I# ww1 [Occ=Once1] -> case F3.$wfac ww1 of ww2 [Occ=Once1] { __DEFAULT -> GHC.Types.I# ww2 } }}] +fac = \ (w :: Int) -> case w of { GHC.Types.I# ww1 -> case F3.$wfac ww1 of ww2 { __DEFAULT -> GHC.Types.I# ww2 } } + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +f3 :: Int -> Int +[GblId, + Arity=1, + Str=<S(S),1*U(1*U)>, + Cpr=m1, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True) + Tmpl= fac}] +f3 = fac + + + diff --git a/testsuite/tests/arityanal/f4.hs b/testsuite/tests/arityanal/should_compile/Arity04.hs index 3c70acae4a..3c70acae4a 100644 --- a/testsuite/tests/arityanal/f4.hs +++ b/testsuite/tests/arityanal/should_compile/Arity04.hs diff --git a/testsuite/tests/arityanal/should_compile/Arity04.stderr b/testsuite/tests/arityanal/should_compile/Arity04.stderr new file mode 100644 index 0000000000..5e05c7407d --- /dev/null +++ b/testsuite/tests/arityanal/should_compile/Arity04.stderr @@ -0,0 +1,47 @@ + +==================== Tidy Core ==================== +Result size of Tidy Core = {terms: 39, types: 24, coercions: 0, joins: 0/0} + +-- RHS size: {terms: 8, types: 3, coercions: 0, joins: 0/0} +f4g :: Int -> Int +[GblId, + Arity=1, + Str=<S,1*U(U)>, + Cpr=m1, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) + Tmpl= \ (y [Occ=Once1!] :: Int) -> case y of { GHC.Types.I# x [Occ=Once1] -> GHC.Types.I# (GHC.Prim.+# x 1#) }}] +f4g = \ (y :: Int) -> case y of { GHC.Types.I# x -> GHC.Types.I# (GHC.Prim.+# x 1#) } + +-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} +lvl :: Int +[GblId, Unf=OtherCon []] +lvl = GHC.Types.I# 0# + +Rec { +-- RHS size: {terms: 13, types: 4, coercions: 0, joins: 0/0} +F4.$wf4h [InlPrag=NOUSERINLINE[2], Occ=LoopBreaker] :: (Int -> Int) -> GHC.Prim.Int# -> Int +[GblId, Arity=2, Str=<C(S),1*C1(U)><S,1*U>, Unf=OtherCon []] +F4.$wf4h + = \ (w :: Int -> Int) (ww :: GHC.Prim.Int#) -> + case ww of wild { + __DEFAULT -> F4.$wf4h w (GHC.Prim.-# wild 1#); + 0# -> w lvl + } +end Rec } + +-- RHS size: {terms: 8, types: 5, coercions: 0, joins: 0/0} +f4h [InlPrag=NOUSERINLINE[2]] :: (Int -> Int) -> Int -> Int +[GblId, + Arity=2, + Str=<C(S),1*C1(U)><S(S),1*U(1*U)>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False) + Tmpl= \ (w [Occ=Once1] :: Int -> Int) (w1 [Occ=Once1!] :: Int) -> case w1 of { GHC.Types.I# ww1 [Occ=Once1] -> F4.$wf4h w ww1 }}] +f4h = \ (w :: Int -> Int) (w1 :: Int) -> case w1 of { GHC.Types.I# ww1 -> F4.$wf4h w ww1 } + +-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} +f4 :: Int +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}] +f4 = F4.$wf4h f4g 9# + + + diff --git a/testsuite/tests/arityanal/f5.hs b/testsuite/tests/arityanal/should_compile/Arity05.hs index 7595866195..7595866195 100644 --- a/testsuite/tests/arityanal/f5.hs +++ b/testsuite/tests/arityanal/should_compile/Arity05.hs diff --git a/testsuite/tests/arityanal/should_compile/Arity05.stderr b/testsuite/tests/arityanal/should_compile/Arity05.stderr new file mode 100644 index 0000000000..ccdba513af --- /dev/null +++ b/testsuite/tests/arityanal/should_compile/Arity05.stderr @@ -0,0 +1,48 @@ + +==================== Tidy Core ==================== +Result size of Tidy Core = {terms: 54, types: 99, coercions: 0, joins: 0/0} + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F5.f5g1 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F5.f5g1 = 1 + +-- RHS size: {terms: 12, types: 11, coercions: 0, joins: 0/0} +f5g :: forall {a} {t}. Num a => (t -> a) -> t -> a +[GblId, + Arity=3, + Str=<S(C(C(S))LLLLLL),U(1*C1(C1(U)),A,A,A,A,A,1*C1(U))><L,1*C1(U)><L,U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=3,unsat_ok=True,boring_ok=False) + Tmpl= \ (@a) (@t) ($dNum :: Num a) (h [Occ=Once1!] :: t -> a) (z [Occ=Once1] :: t) -> + @a $dNum (h z) (fromInteger @a $dNum F5.f5g1)}] +f5g = \ (@a) (@t) ($dNum :: Num a) (h :: t -> a) (z :: t) -> + @a $dNum (h z) (fromInteger @a $dNum F5.f5g1) + +-- RHS size: {terms: 15, types: 14, coercions: 0, joins: 0/0} +F5.$wf5h [InlPrag=NOUSERINLINE[2]] :: forall {a} {t}. (a -> a -> a) -> (Integer -> a) -> (t -> a) -> t -> (t -> a) -> a +[GblId, Arity=5, Str=<C(C(S)),C(C1(U))><L,1*C1(U)><L,1*C1(U)><L,U><L,1*C1(U)>, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 60 60 0 60] 120 0}] +F5.$wf5h = \ (@a) (@t) (ww :: a -> a -> a) (ww1 :: Integer -> a) (w :: t -> a) (w1 :: t) (w2 :: t -> a) -> ww (w w1) (ww (w2 w1) (ww1 F5.f5g1)) + +-- RHS size: {terms: 15, types: 32, coercions: 0, joins: 0/0} +f5h [InlPrag=NOUSERINLINE[2]] :: forall {a} {t}. Num a => (t -> a) -> t -> (t -> a) -> a +[GblId, + Arity=4, + Str=<S(C(C(S))LLLLLL),1*U(C(C1(U)),A,A,A,A,A,1*C1(U))><L,1*C1(U)><L,U><L,1*C1(U)>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=4,unsat_ok=True,boring_ok=False) + Tmpl= \ (@a) (@t) (w [Occ=Once1!] :: Num a) (w1 [Occ=Once1] :: t -> a) (w2 [Occ=Once1] :: t) (w3 [Occ=Once1] :: t -> a) -> case w of { GHC.Num.C:Num ww1 [Occ=Once1] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww7 [Occ=Once1] -> F5.$wf5h @a @t ww1 ww7 w1 w2 w3 }}] +f5h = \ (@a) (@t) (w :: Num a) (w1 :: t -> a) (w2 :: t) (w3 :: t -> a) -> case w of { GHC.Num.C:Num ww1 ww2 ww3 ww4 ww5 ww6 ww7 -> F5.$wf5h @a @t ww1 ww7 w1 w2 w3 } + +-- RHS size: {terms: 4, types: 1, coercions: 0, joins: 0/0} +f5y :: Integer -> Integer +[GblId, + Arity=1, + Str=<S,1*U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) + Tmpl= \ (y [Occ=Once1] :: Integer) -> GHC.Num.Integer.integerAdd y F5.f5g1}] +f5y = \ (y :: Integer) -> GHC.Num.Integer.integerAdd y F5.f5g1 + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +f5 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +f5 = 3 + + + diff --git a/testsuite/tests/arityanal/f6.hs b/testsuite/tests/arityanal/should_compile/Arity06.hs index b45951d6a2..b45951d6a2 100644 --- a/testsuite/tests/arityanal/f6.hs +++ b/testsuite/tests/arityanal/should_compile/Arity06.hs diff --git a/testsuite/tests/arityanal/should_compile/Arity06.stderr b/testsuite/tests/arityanal/should_compile/Arity06.stderr new file mode 100644 index 0000000000..50a1ddc76b --- /dev/null +++ b/testsuite/tests/arityanal/should_compile/Arity06.stderr @@ -0,0 +1,34 @@ + +==================== Tidy Core ==================== +Result size of Tidy Core = {terms: 14, types: 22, coercions: 0, joins: 0/0} + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F6.f6f1 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F6.f6f1 = 0 + +-- RHS size: {terms: 7, types: 8, coercions: 0, joins: 0/0} +f6f :: forall {t1} {t2}. (t1 -> Integer -> t2) -> t1 -> t2 +[GblId, + Arity=2, + Str=<C(C(S)),1*C1(C1(U))><L,U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=True) + Tmpl= \ (@t) (@t1) (h [Occ=Once1!] :: t -> Integer -> t1) (x [Occ=Once1] :: t) -> h x F6.f6f1}] +f6f = \ (@t) (@t1) (h :: t -> Integer -> t1) (x :: t) -> h x F6.f6f1 + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +f6t :: Integer -> Integer -> Integer +[GblId, + Arity=2, + Str=<S,1*U><S,U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) + Tmpl= GHC.Num.Integer.integerAdd}] +f6t = GHC.Num.Integer.integerAdd + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +f6 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +f6 = 3 + + + diff --git a/testsuite/tests/arityanal/f7.hs b/testsuite/tests/arityanal/should_compile/Arity07.hs index fb68ada9c2..fb68ada9c2 100644 --- a/testsuite/tests/arityanal/f7.hs +++ b/testsuite/tests/arityanal/should_compile/Arity07.hs diff --git a/testsuite/tests/arityanal/should_compile/Arity07.stderr b/testsuite/tests/arityanal/should_compile/Arity07.stderr new file mode 100644 index 0000000000..3a1852e017 --- /dev/null +++ b/testsuite/tests/arityanal/should_compile/Arity07.stderr @@ -0,0 +1,29 @@ + +==================== Tidy Core ==================== +Result size of Tidy Core = {terms: 8, types: 11, coercions: 0, joins: 0/0} + +-- RHS size: {terms: 3, types: 3, coercions: 0, joins: 0/0} +f7f :: forall {p}. p -> p +[GblId, + Arity=1, + Str=<S,1*U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True) + Tmpl= \ (@p) (x [Occ=Once1] :: p) -> x}] +f7f = \ (@p) (x :: p) -> x + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +f7g :: Integer -> Integer -> Integer +[GblId, + Arity=2, + Str=<S,1*U><S,U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) + Tmpl= GHC.Num.Integer.integerAdd}] +f7g = GHC.Num.Integer.integerAdd + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +f7 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +f7 = 5 + + + diff --git a/testsuite/tests/arityanal/f8.hs b/testsuite/tests/arityanal/should_compile/Arity08.hs index 6abb2b87e9..6abb2b87e9 100644 --- a/testsuite/tests/arityanal/f8.hs +++ b/testsuite/tests/arityanal/should_compile/Arity08.hs diff --git a/testsuite/tests/arityanal/should_compile/Arity08.stderr b/testsuite/tests/arityanal/should_compile/Arity08.stderr new file mode 100644 index 0000000000..1f2f6c0fa4 --- /dev/null +++ b/testsuite/tests/arityanal/should_compile/Arity08.stderr @@ -0,0 +1,29 @@ + +==================== Tidy Core ==================== +Result size of Tidy Core = {terms: 23, types: 20, coercions: 0, joins: 0/0} + +-- RHS size: {terms: 20, types: 11, coercions: 0, joins: 0/0} +f8f :: forall {p}. Num p => Bool -> p -> p -> p +[GblId, + Arity=4, + Str=<L,U(C(C1(U)),A,1*C1(C1(U)),A,A,A,A)><S,1*U><L,U><L,U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=4,unsat_ok=True,boring_ok=False) + Tmpl= \ (@p) ($dNum :: Num p) (b [Occ=Once1!] :: Bool) (x :: p) (y [Occ=Once2] :: p) -> + case b of { + False -> + @p $dNum (+ @p $dNum x y) (* @p $dNum x x); + True -> y + }}] +f8f + = \ (@p) ($dNum :: Num p) (b :: Bool) (x :: p) (y :: p) -> + case b of { + False -> + @p $dNum (+ @p $dNum x y) (* @p $dNum x x); + True -> y + } + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +f8 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +f8 = 2 + + + diff --git a/testsuite/tests/arityanal/f9.hs b/testsuite/tests/arityanal/should_compile/Arity09.hs index 1d53d89174..1d53d89174 100644 --- a/testsuite/tests/arityanal/f9.hs +++ b/testsuite/tests/arityanal/should_compile/Arity09.hs diff --git a/testsuite/tests/arityanal/should_compile/Arity09.stderr b/testsuite/tests/arityanal/should_compile/Arity09.stderr new file mode 100644 index 0000000000..580483309f --- /dev/null +++ b/testsuite/tests/arityanal/should_compile/Arity09.stderr @@ -0,0 +1,38 @@ + +==================== Tidy Core ==================== +Result size of Tidy Core = {terms: 25, types: 8, coercions: 0, joins: 0/0} + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +lvl :: Integer +[GblId, Unf=OtherCon []] +lvl = 100 + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +lvl1 :: Integer +[GblId, Unf=OtherCon []] +lvl1 = 11 + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F9.f1 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F9.f1 = 10 + +Rec { +-- RHS size: {terms: 15, types: 2, coercions: 0, joins: 0/0} +F9.f91_f [Occ=LoopBreaker] :: Integer -> Integer +[GblId, Arity=1, Str=<S,U>, Unf=OtherCon []] +F9.f91_f + = \ (n :: Integer) -> + case GHC.Num.Integer.integerCompare n lvl of { + __DEFAULT -> F9.f91_f (F9.f91_f (GHC.Num.Integer.integerAdd n lvl1)); + GT -> GHC.Num.Integer.integerSub n F9.f1 + } +end Rec } + +-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} +f91 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] +f91 = F9.f91_f F9.f1 + + + diff --git a/testsuite/tests/arityanal/f10.hs b/testsuite/tests/arityanal/should_compile/Arity10.hs index 12d4009a53..12d4009a53 100644 --- a/testsuite/tests/arityanal/f10.hs +++ b/testsuite/tests/arityanal/should_compile/Arity10.hs diff --git a/testsuite/tests/arityanal/should_compile/Arity10.stderr b/testsuite/tests/arityanal/should_compile/Arity10.stderr new file mode 100644 index 0000000000..3c527026ec --- /dev/null +++ b/testsuite/tests/arityanal/should_compile/Arity10.stderr @@ -0,0 +1,64 @@ + +==================== Tidy Core ==================== +Result size of Tidy Core = {terms: 28, types: 34, coercions: 0, joins: 0/0} + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F10.f10f3 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F10.f10f3 = 1 + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F10.f10f2 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F10.f10f2 = 2 + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F10.f10f1 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F10.f10f1 = 3 + +-- RHS size: {terms: 8, types: 8, coercions: 0, joins: 0/0} +f10f :: forall {a}. (Integer -> Integer -> a) -> (a, Integer -> a) +[GblId, + Arity=1, + Str=<L,C(U)>, + Cpr=m1, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) + Tmpl= \ (@a) (h :: Integer -> Integer -> a) -> (h F10.f10f3 F10.f10f2, h F10.f10f1)}] +f10f = \ (@a) (h :: Integer -> Integer -> a) -> (h F10.f10f3 F10.f10f2, h F10.f10f1) + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +f10g :: Integer -> Integer -> Integer +[GblId, + Arity=2, + Str=<S,1*U><S,U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) + Tmpl= GHC.Num.Integer.integerAdd}] +f10g = GHC.Num.Integer.integerAdd + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +f10x1 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}] +f10x1 = F10.f10f1 + +-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} +f10x2 :: Integer -> Integer +[GblId, + Arity=1, + Str=<S,U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=False) + Tmpl= \ (eta [Occ=Once1] :: Integer) -> GHC.Num.Integer.integerAdd F10.f10f1 eta}] +f10x2 = GHC.Num.Integer.integerAdd F10.f10f1 + +-- RHS size: {terms: 3, types: 3, coercions: 0, joins: 0/0} +f10h :: (Integer, Integer -> Integer) +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}] +f10h = (F10.f10f1, f10x2) + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +f10 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +f10 = 6 + + + diff --git a/testsuite/tests/arityanal/f11.hs b/testsuite/tests/arityanal/should_compile/Arity11.hs index 9fd32c2fb5..9fd32c2fb5 100644 --- a/testsuite/tests/arityanal/f11.hs +++ b/testsuite/tests/arityanal/should_compile/Arity11.hs diff --git a/testsuite/tests/arityanal/should_compile/Arity11.stderr b/testsuite/tests/arityanal/should_compile/Arity11.stderr new file mode 100644 index 0000000000..243632ea06 --- /dev/null +++ b/testsuite/tests/arityanal/should_compile/Arity11.stderr @@ -0,0 +1,135 @@ + +==================== Tidy Core ==================== +Result size of Tidy Core = {terms: 129, types: 104, coercions: 0, joins: 0/5} + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F11.fib1 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F11.fib1 = 0 + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F11.fib3 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F11.fib3 = 1 + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F11.fib2 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F11.fib2 = 2 + +Rec { +-- RHS size: {terms: 24, types: 3, coercions: 0, joins: 0/0} +F11.f11_fib [Occ=LoopBreaker] :: Integer -> Integer +[GblId, Arity=1, Str=<S,U>, Unf=OtherCon []] +F11.f11_fib + = \ (ds :: Integer) -> + case GHC.Num.Integer.integerEq# ds F11.fib1 of { + __DEFAULT -> + case GHC.Num.Integer.integerEq# ds F11.fib3 of { + __DEFAULT -> GHC.Num.Integer.integerAdd (F11.f11_fib (GHC.Num.Integer.integerSub ds F11.fib3)) (F11.f11_fib (GHC.Num.Integer.integerSub ds F11.fib2)); + 1# -> F11.fib3 + }; + 1# -> F11.fib3 + } +end Rec } + +-- RHS size: {terms: 52, types: 28, coercions: 0, joins: 0/5} +F11.$wfib [InlPrag=NOUSERINLINE[2]] :: forall {a} {p}. (a -> a -> Bool) -> (Num a, Num p) => a -> p +[GblId, Arity=4, Str=<C(C(S)),C(C1(U))><L,U(A,C(C1(U)),A,A,A,A,C(U))><L,U(C(C1(U)),A,A,A,A,A,1*C1(U))><L,U>, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 150 60 0] 460 0}] +F11.$wfib + = \ (@a) (@p) (ww :: a -> a -> Bool) (w :: Num a) (w1 :: Num p) (w2 :: a) -> + let { + lvl :: a + [LclId] + lvl = fromInteger @a w F11.fib3 } in + let { + lvl1 :: a + [LclId] + lvl1 = fromInteger @a w F11.fib2 } in + let { + lvl2 :: p + [LclId] + lvl2 = fromInteger @p w1 F11.fib3 } in + let { + lvl3 :: a + [LclId] + lvl3 = fromInteger @a w F11.fib1 } in + letrec { + fib4 [Occ=LoopBreaker] :: a -> p + [LclId, Arity=1, Str=<L,U>, Unf=OtherCon []] + fib4 + = \ (ds :: a) -> + case ww ds lvl3 of { + False -> + case ww ds lvl of { + False -> + @p w1 (fib4 (- @a w ds lvl)) (fib4 (- @a w ds lvl1)); + True -> lvl2 + }; + True -> lvl2 + }; } in + fib4 w2 + +-- RHS size: {terms: 14, types: 21, coercions: 0, joins: 0/0} +fib [InlPrag=NOUSERINLINE[2]] :: forall {a} {p}. (Eq a, Num a, Num p) => a -> p +[GblId, + Arity=4, + Str=<S(C(C(S))L),1*U(C(C1(U)),A)><L,U(A,C(C1(U)),A,A,A,A,C(U))><L,U(C(C1(U)),A,A,A,A,A,C(U))><L,U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=4,unsat_ok=True,boring_ok=False) + Tmpl= \ (@a) (@p) (w [Occ=Once1!] :: Eq a) (w1 [Occ=Once1] :: Num a) (w2 [Occ=Once1] :: Num p) (w3 [Occ=Once1] :: a) -> case w of { GHC.Classes.C:Eq ww1 [Occ=Once1] _ [Occ=Dead] -> F11.$wfib @a @p ww1 w1 w2 w3 }}] +fib = \ (@a) (@p) (w :: Eq a) (w1 :: Num a) (w2 :: Num p) (w3 :: a) -> case w of { GHC.Classes.C:Eq ww1 ww2 -> F11.$wfib @a @p ww1 w1 w2 w3 } + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F11.f3 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F11.f3 = 1000 + +-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} +F11.f11_x :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] +F11.f11_x = F11.f11_fib F11.f3 + +-- RHS size: {terms: 4, types: 1, coercions: 0, joins: 0/0} +F11.f11f1 :: Integer -> Integer +[GblId, + Arity=1, + Str=<S,U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) + Tmpl= \ (y [Occ=Once1] :: Integer) -> GHC.Num.Integer.integerAdd F11.f11_x y}] +F11.f11f1 = \ (y :: Integer) -> GHC.Num.Integer.integerAdd F11.f11_x y + +-- RHS size: {terms: 3, types: 3, coercions: 0, joins: 0/0} +f11f :: forall {p}. p -> Integer -> Integer +[GblId, + Arity=2, + Str=<L,A><S,U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True) + Tmpl= \ (@p) _ [Occ=Dead] (eta [Occ=Once1] :: Integer) -> F11.f11f1 eta}] +f11f = \ (@p) _ [Occ=Dead] -> F11.f11f1 + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F11.f5 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F11.f5 = 6 + +-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} +F11.f4 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}] +F11.f4 = GHC.Num.Integer.integerAdd F11.f11_x F11.f5 + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F11.f2 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F11.f2 = 8 + +-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} +F11.f1 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}] +F11.f1 = GHC.Num.Integer.integerAdd F11.f11_x F11.f2 + +-- RHS size: {terms: 3, types: 2, coercions: 0, joins: 0/0} +f11 :: (Integer, Integer) +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}] +f11 = (F11.f4, F11.f1) + + + diff --git a/testsuite/tests/arityanal/f12.hs b/testsuite/tests/arityanal/should_compile/Arity12.hs index dfc043b84c..dfc043b84c 100644 --- a/testsuite/tests/arityanal/f12.hs +++ b/testsuite/tests/arityanal/should_compile/Arity12.hs diff --git a/testsuite/tests/arityanal/f13.hs b/testsuite/tests/arityanal/should_compile/Arity13.hs index 5ab7823b0d..bcf87f53e4 100644 --- a/testsuite/tests/arityanal/f13.hs +++ b/testsuite/tests/arityanal/should_compile/Arity13.hs @@ -1,8 +1,9 @@ module F13 where +f13 :: Int -> Int -> Int -> Int f13 x y = let f13f = if (x>0) then \z -> z x y else \z -> y - f13h = let v = f13f 5 + f13h = let v = f13f (*) in \w -> w + v in \u -> f13h u diff --git a/testsuite/tests/arityanal/should_compile/Arity13.stderr b/testsuite/tests/arityanal/should_compile/Arity13.stderr new file mode 100644 index 0000000000..88f55bda2d --- /dev/null +++ b/testsuite/tests/arityanal/should_compile/Arity13.stderr @@ -0,0 +1,33 @@ + +==================== Tidy Core ==================== +Result size of Tidy Core = {terms: 32, types: 16, coercions: 0, joins: 0/0} + +-- RHS size: {terms: 31, types: 12, coercions: 0, joins: 0/0} +f13 :: Int -> Int -> Int -> Int +[GblId, + Arity=3, + Str=<S,1*U(U)><S,1*U(U)><S,1*U(U)>, + Cpr=m1, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=3,unsat_ok=True,boring_ok=False) + Tmpl= \ (x [Occ=Once1!] :: Int) (y [Occ=Once2!] :: Int) (eta [Occ=Once1!] :: Int) -> + case eta of { GHC.Types.I# x1 [Occ=Once2] -> + case x of { GHC.Types.I# x2 -> + case GHC.Prim.># x2 0# of { + __DEFAULT -> case y of { GHC.Types.I# y1 [Occ=Once1] -> GHC.Types.I# (GHC.Prim.+# x1 y1) }; + 1# -> case y of { GHC.Types.I# y1 [Occ=Once1] -> GHC.Types.I# (GHC.Prim.+# x1 (GHC.Prim.*# x2 y1)) } + } + } + }}] +f13 + = \ (x :: Int) (y :: Int) (eta :: Int) -> + case eta of { GHC.Types.I# x1 -> + case x of { GHC.Types.I# x2 -> + case GHC.Prim.># x2 0# of { + __DEFAULT -> case y of { GHC.Types.I# y1 -> GHC.Types.I# (GHC.Prim.+# x1 y1) }; + 1# -> case y of { GHC.Types.I# y1 -> GHC.Types.I# (GHC.Prim.+# x1 (GHC.Prim.*# x2 y1)) } + } + } + } + + + diff --git a/testsuite/tests/arityanal/f14.hs b/testsuite/tests/arityanal/should_compile/Arity14.hs index 1f2c19ed92..1f2c19ed92 100644 --- a/testsuite/tests/arityanal/f14.hs +++ b/testsuite/tests/arityanal/should_compile/Arity14.hs diff --git a/testsuite/tests/arityanal/should_compile/Arity14.stderr b/testsuite/tests/arityanal/should_compile/Arity14.stderr new file mode 100644 index 0000000000..1d4ea800e6 --- /dev/null +++ b/testsuite/tests/arityanal/should_compile/Arity14.stderr @@ -0,0 +1,54 @@ + +==================== Tidy Core ==================== +Result size of Tidy Core = {terms: 56, types: 87, coercions: 0, joins: 0/3} + +-- RHS size: {terms: 3, types: 3, coercions: 0, joins: 0/0} +F14.f1 :: forall {t}. t -> t +[GblId, + Arity=1, + Str=<S,1*U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True) + Tmpl= \ (@t) (y [Occ=Once1] :: t) -> y}] +F14.f1 = \ (@t) (y :: t) -> y + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F14.f2 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F14.f2 = 1 + +-- RHS size: {terms: 35, types: 24, coercions: 0, joins: 0/3} +F14.$wf14 [InlPrag=NOUSERINLINE[2]] :: forall {t}. (t -> t -> Bool) -> Num t => t -> t -> t -> t +[GblId, Arity=4, Str=<C(C(S)),C(C1(U))><L,U(C(C1(U)),A,A,A,A,A,1*C1(U))><L,U><L,U>, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 90 0 0] 300 0}] +F14.$wf14 + = \ (@t) (ww :: t -> t -> Bool) (w :: Num t) (w1 :: t) (w2 :: t) -> + let { + lvl :: t + [LclId] + lvl = fromInteger @t w F14.f2 } in + letrec { + f3 [Occ=LoopBreaker] :: t -> t -> t -> t + [LclId, Arity=2, Str=<L,U><L,U>, Unf=OtherCon []] + f3 + = \ (n :: t) (x :: t) -> + case ww x n of { + False -> F14.f1 @t; + True -> + let { + v [Dmd=<L,C(U)>] :: t -> t + [LclId] + v = f3 n (+ @t w x lvl) } in + \ (y :: t) -> v (+ @t w x y) + }; } in + f3 w1 w2 + +-- RHS size: {terms: 13, types: 34, coercions: 0, joins: 0/0} +f14 [InlPrag=NOUSERINLINE[2]] :: forall {t}. (Ord t, Num t) => t -> t -> t -> t +[GblId, + Arity=4, + Str=<S(LLC(C(S))LLLLL),1*U(A,A,C(C1(U)),A,A,A,A,A)><L,U(C(C1(U)),A,A,A,A,A,C(U))><L,U><L,U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=4,unsat_ok=True,boring_ok=False) + Tmpl= \ (@t) (w [Occ=Once1!] :: Ord t) (w1 [Occ=Once1] :: Num t) (w2 [Occ=Once1] :: t) (w3 [Occ=Once1] :: t) -> case w of { GHC.Classes.C:Ord _ [Occ=Dead] _ [Occ=Dead] ww3 [Occ=Once1] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> F14.$wf14 @t ww3 w1 w2 w3 }}] +f14 = \ (@t) (w :: Ord t) (w1 :: Num t) (w2 :: t) (w3 :: t) -> case w of { GHC.Classes.C:Ord ww1 ww2 ww3 ww4 ww5 ww6 ww7 ww8 -> F14.$wf14 @t ww3 w1 w2 w3 } + + + diff --git a/testsuite/tests/arityanal/f15.hs b/testsuite/tests/arityanal/should_compile/Arity15.hs index 0ad77e3a3f..0ad77e3a3f 100644 --- a/testsuite/tests/arityanal/f15.hs +++ b/testsuite/tests/arityanal/should_compile/Arity15.hs diff --git a/testsuite/tests/arityanal/should_compile/Arity15.stderr b/testsuite/tests/arityanal/should_compile/Arity15.stderr new file mode 100644 index 0000000000..4034be6198 --- /dev/null +++ b/testsuite/tests/arityanal/should_compile/Arity15.stderr @@ -0,0 +1,34 @@ + +==================== Tidy Core ==================== +Result size of Tidy Core = {terms: 14, types: 14, coercions: 0, joins: 0/0} + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +F15.f15f1 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +F15.f15f1 = 1 + +-- RHS size: {terms: 4, types: 4, coercions: 0, joins: 0/0} +f15f :: forall {t}. (Integer -> t) -> t +[GblId, + Arity=1, + Str=<C(S),1*C1(U)>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True) + Tmpl= \ (@t) (h [Occ=Once1!] :: Integer -> t) -> h F15.f15f1}] +f15f = \ (@t) (h :: Integer -> t) -> h F15.f15f1 + +-- RHS size: {terms: 4, types: 1, coercions: 0, joins: 0/0} +f15g :: Integer -> Integer +[GblId, + Arity=1, + Str=<S,1*U>, + Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) + Tmpl= \ (x [Occ=Once1] :: Integer) -> GHC.Num.Integer.integerAdd x F15.f15f1}] +f15g = \ (x :: Integer) -> GHC.Num.Integer.integerAdd x F15.f15f1 + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +f15 :: Integer +[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] +f15 = 2 + + + diff --git a/testsuite/tests/arityanal/prim.hs b/testsuite/tests/arityanal/should_compile/Arity16.hs index b5a854cb4d..b5a854cb4d 100644 --- a/testsuite/tests/arityanal/prim.hs +++ b/testsuite/tests/arityanal/should_compile/Arity16.hs diff --git a/testsuite/tests/arityanal/should_compile/Arity16.stderr b/testsuite/tests/arityanal/should_compile/Arity16.stderr new file mode 100644 index 0000000000..6c9d7f61f8 --- /dev/null +++ b/testsuite/tests/arityanal/should_compile/Arity16.stderr @@ -0,0 +1,48 @@ + +==================== Tidy Core ==================== +Result size of Tidy Core = {terms: 52, types: 87, coercions: 0, joins: 0/0} + +Rec { +-- RHS size: {terms: 15, types: 17, coercions: 0, joins: 0/0} +map2 [Occ=LoopBreaker] :: forall {t} {a}. (t -> a) -> [t] -> [a] +[GblId, Arity=2, Str=<L,C(U)><S,1*U>, Unf=OtherCon []] +map2 + = \ (@t) (@a) (f :: t -> a) (ds :: [t]) -> + case ds of { + [] -> GHC.Types.[] @a; + : x xs -> GHC.Types.: @a (f x) (map2 @t @a f xs) + } +end Rec } + +-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +lvl :: GHC.Prim.Addr# +[GblId, Unf=OtherCon []] +lvl = "Arity16.hs:(6,1)-(7,47)|function zipWith2"# + +-- RHS size: {terms: 3, types: 5, coercions: 0, joins: 0/0} +lvl1 :: forall {a}. [a] +[GblId, Str=b, Cpr=b] +lvl1 = \ (@a) -> Control.Exception.Base.patError @'GHC.Types.LiftedRep @[a] lvl + +Rec { +-- RHS size: {terms: 29, types: 35, coercions: 0, joins: 0/0} +zipWith2 [Occ=LoopBreaker] :: forall {t1} {t2} {a}. (t1 -> t2 -> a) -> [t1] -> [t2] -> [a] +[GblId, Arity=3, Str=<L,C(C1(U))><S,1*U><S,1*U>, Unf=OtherCon []] +zipWith2 + = \ (@t) (@t1) (@a) (f :: t -> t1 -> a) (ds :: [t]) (ds1 :: [t1]) -> + case ds of { + [] -> + case ds1 of { + [] -> GHC.Types.[] @a; + : ipv ipv1 -> lvl1 @a + }; + : a1 x -> + case ds1 of { + [] -> lvl1 @a; + : b y -> GHC.Types.: @a (f a1 b) (zipWith2 @t @t1 @a f x y) + } + } +end Rec } + + + diff --git a/testsuite/tests/arityanal/should_compile/T18793.stderr b/testsuite/tests/arityanal/should_compile/T18793.stderr index 72fc5e4e19..60b2fd784d 100644 --- a/testsuite/tests/arityanal/should_compile/T18793.stderr +++ b/testsuite/tests/arityanal/should_compile/T18793.stderr @@ -1,31 +1,6 @@ ==================== Tidy Core ==================== -Result size of Tidy Core = {terms: 95, types: 79, coercions: 0, joins: 0/0} - --- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} -T18793.$trModule4 :: GHC.Prim.Addr# -[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}] -T18793.$trModule4 = "main"# - --- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} -T18793.$trModule3 :: GHC.Types.TrName -[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}] -T18793.$trModule3 = GHC.Types.TrNameS T18793.$trModule4 - --- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} -T18793.$trModule2 :: GHC.Prim.Addr# -[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 0}] -T18793.$trModule2 = "T18793"# - --- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} -T18793.$trModule1 :: GHC.Types.TrName -[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}] -T18793.$trModule1 = GHC.Types.TrNameS T18793.$trModule2 - --- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -T18793.$trModule :: GHC.Types.Module -[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}] -T18793.$trModule = GHC.Types.Module T18793.$trModule3 T18793.$trModule1 +Result size of Tidy Core = {terms: 81, types: 74, coercions: 0, joins: 0/0} -- RHS size: {terms: 20, types: 13, coercions: 0, joins: 0/0} T18793.$wstuff [InlPrag=NOINLINE] :: Int -> (# Int, [Int] #) diff --git a/testsuite/tests/arityanal/should_compile/all.T b/testsuite/tests/arityanal/should_compile/all.T index ed1047ba00..3413a3270c 100644 --- a/testsuite/tests/arityanal/should_compile/all.T +++ b/testsuite/tests/arityanal/should_compile/all.T @@ -1 +1,21 @@ -test('T18793', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +# "Unit tests" +test('Arity00', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +test('Arity01', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +test('Arity02', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +test('Arity03', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +test('Arity04', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +test('Arity05', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +test('Arity06', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +test('Arity07', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +test('Arity08', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +test('Arity09', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +test('Arity10', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +test('Arity11', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +test('Arity12', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +test('Arity13', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +test('Arity14', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +test('Arity15', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) +test('Arity16', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) + +# Regression tests +test('T18793', [ only_ways(['optasm']), grep_errmsg('Arity=') ], compile, ['-dno-typeable-binds -ddump-simpl -dppr-cols=99999 -dsuppress-uniques']) |