Wolfgang Jeltsch pushed to branch wip/jeltsch/textual-bytecode-output at Glasgow Haskell Compiler / GHC

Commits:

6 changed files:

Changes:

  • testsuite/tests/show-bytecode/Example.hs
    1
    +{-# LANGUAGE StaticPointers #-}
    
    2
    +
    
    3
    +module Example where
    
    4
    +
    
    5
    +import Numeric.Natural (Natural)
    
    6
    +import GHC.StaticPtr (StaticPtr)
    
    7
    +
    
    8
    +fibonaccis :: [Natural]
    
    9
    +fibonaccis = 0 : positiveFibonaccis where
    
    10
    +
    
    11
    +    positiveFibonaccis :: [Natural]
    
    12
    +    positiveFibonaccis = 1 : zipWith (+) fibonaccis positiveFibonaccis
    
    13
    +
    
    14
    +fibonaccisPtr :: StaticPtr [Natural]
    
    15
    +fibonaccisPtr = static fibonaccis
    
    16
    +
    
    17
    +divides :: Integral a => a -> a -> Bool
    
    18
    +k `divides` n = n `mod` k == 0
    
    19
    +
    
    20
    +primes :: [Natural]
    
    21
    +primes = 2 : filter isPrime [3 ..] where
    
    22
    +
    
    23
    +    isPrime :: Natural -> Bool
    
    24
    +    isPrime n = not (any (`divides` n) (takeWhile ((<= n) . (^ 2)) primes))
    
    25
    +
    
    26
    +primesPtr :: StaticPtr [Natural]
    
    27
    +primesPtr = static primes
    
    28
    +
    
    29
    +data BinTree a b = Leaf a | Node (BinTree a b) b (BinTree a b)
    
    30
    +
    
    31
    +data PerfectTree a = PerfectTree a | Nested (PerfectTree (a, a))

  • testsuite/tests/show-bytecode/Makefile
    1
    +TOP=../..
    
    2
    +include $(TOP)/mk/boilerplate.mk
    
    3
    +include $(TOP)/mk/test.mk
    
    4
    +
    
    5
    +compile   = '$(TEST_HC)' $(TEST_HC_OPTS) -fbyte-code -fwrite-byte-code -no-link
    
    6
    +show      = '$(TEST_HC)' $(TEST_HC_OPTS) --show-byte-code
    
    7
    +normalize = sed -E -e 's/_[[:alnum:]]+//g'
    
    8
    +
    
    9
    +show-bytecode-vanilla:
    
    10
    +	$(compile) Example.hs
    
    11
    +	$(show) Example.gbc | $(normalize)
    
    12
    +
    
    13
    +show-bytecode-breakpoints:
    
    14
    +	$(compile) -fbreak-points Example.hs
    
    15
    +	$(show) Example.gbc | $(normalize)
    
    16
    +
    
    17
    +show-bytecode-hpc:
    
    18
    +	$(compile) -fhpc Example.hs
    
    19
    +	$(show) Example.gbc | $(normalize)

  • testsuite/tests/show-bytecode/all.T
    1
    +test(
    
    2
    +    'show-bytecode-vanilla',
    
    3
    +    extra_files(['Example.hs']),
    
    4
    +    makefile_test,
    
    5
    +    []
    
    6
    +)
    
    7
    +test(
    
    8
    +    'show-bytecode-breakpoints',
    
    9
    +    extra_files(['Example.hs']),
    
    10
    +    makefile_test,
    
    11
    +    []
    
    12
    +)
    
    13
    +test(
    
    14
    +    'show-bytecode-hpc',
    
    15
    +    extra_files(['Example.hs']),
    
    16
    +    makefile_test,
    
    17
    +    []
    
    18
    +)

  • testsuite/tests/show-bytecode/show-bytecode-breakpoints.stdout
    1
    +[1 of 1] Compiling Example          ( Example.hs, Example.gbc )
    
    2
    +name: Example
    
    3
    +hash: 35e1280518690981ffc1dfa3d7c3c18e
    
    4
    +objects:
    
    5
    +  ordinary object ‘primesPtr’:
    
    6
    +    arity: 0
    
    7
    +    literals:
    
    8
    +      top-level string "Example"
    
    9
    +      top-level string "main"
    
    10
    +      cost center of breakpoint 0
    
    11
    +    utilized items:
    
    12
    +      break array of module ‘Example’
    
    13
    +      item named ‘static’
    
    14
    +      item named ‘$dTypeable2’
    
    15
    +      item named ‘$fIsStaticStaticPtr’
    
    16
    +  static-construction object ‘static’:
    
    17
    +    data constructor name: StaticPtr
    
    18
    +    lifted: yes
    
    19
    +    literals:
    
    20
    +      word 2391484856205448807
    
    21
    +      word 14295153105712797526
    
    22
    +    utilized items:
    
    23
    +      item named ‘static’
    
    24
    +      item named ‘primes’
    
    25
    +  static-construction object ‘static’:
    
    26
    +    data constructor name: StaticPtrInfo
    
    27
    +    lifted: yes
    
    28
    +    literals: <none>
    
    29
    +    utilized items:
    
    30
    +      item named ‘static’
    
    31
    +      item named ‘static’
    
    32
    +      item named ‘static’
    
    33
    +  ordinary object ‘static’:
    
    34
    +    arity: 0
    
    35
    +    literals: top-level string "main"
    
    36
    +    utilized items:
    
    37
    +      ordinary object ‘static’:
    
    38
    +        arity: 0
    
    39
    +        literals: <none>
    
    40
    +        utilized items: item named ‘unpackCString#’
    
    41
    +  ordinary object ‘static’:
    
    42
    +    arity: 0
    
    43
    +    literals: top-level string "Example"
    
    44
    +    utilized items:
    
    45
    +      ordinary object ‘static’:
    
    46
    +        arity: 0
    
    47
    +        literals: <none>
    
    48
    +        utilized items: item named ‘unpackCString#’
    
    49
    +  static-construction object ‘static’:
    
    50
    +    data constructor name: (,)
    
    51
    +    lifted: yes
    
    52
    +    literals: <none>
    
    53
    +    utilized items:
    
    54
    +      item named ‘static’
    
    55
    +      item named ‘static’
    
    56
    +  static-construction object ‘static’:
    
    57
    +    data constructor name: I#
    
    58
    +    lifted: yes
    
    59
    +    literals: word 27
    
    60
    +    utilized items: <none>
    
    61
    +  static-construction object ‘static’:
    
    62
    +    data constructor name: I#
    
    63
    +    lifted: yes
    
    64
    +    literals: word 20
    
    65
    +    utilized items: <none>
    
    66
    +  ordinary object ‘primes’:
    
    67
    +    arity: 0
    
    68
    +    literals:
    
    69
    +      top-level string "Example"
    
    70
    +      top-level string "main"
    
    71
    +      cost center of breakpoint 2
    
    72
    +      info table of ‘:’
    
    73
    +    utilized items:
    
    74
    +      break array of module ‘Example’
    
    75
    +      ordinary object ‘primes’:
    
    76
    +        arity: 0
    
    77
    +        literals:
    
    78
    +          top-level string "Example"
    
    79
    +          top-level string "main"
    
    80
    +          cost center of breakpoint 1
    
    81
    +        utilized items:
    
    82
    +          break array of module ‘Example’
    
    83
    +          ordinary object ‘primes’:
    
    84
    +            arity: 0
    
    85
    +            literals: <none>
    
    86
    +            utilized items:
    
    87
    +              ordinary object ‘primes’:
    
    88
    +                arity: 0
    
    89
    +                literals:
    
    90
    +                  word 3
    
    91
    +                  info table of ‘IS’
    
    92
    +                utilized items:
    
    93
    +                  item named ‘$fNumNatural’
    
    94
    +                  item named ‘fromInteger’
    
    95
    +              item named ‘$fEnumNatural’
    
    96
    +              item named ‘enumFrom’
    
    97
    +          item named ‘isPrime’
    
    98
    +          item named ‘filter’
    
    99
    +      ordinary object ‘primes’:
    
    100
    +        arity: 0
    
    101
    +        literals:
    
    102
    +          word 2
    
    103
    +          info table of ‘IS’
    
    104
    +        utilized items:
    
    105
    +          item named ‘$fNumNatural’
    
    106
    +          item named ‘fromInteger’
    
    107
    +  ordinary object ‘isPrime’:
    
    108
    +    arity: 1
    
    109
    +    literals:
    
    110
    +      top-level string "Example"
    
    111
    +      top-level string "main"
    
    112
    +      cost center of breakpoint 9
    
    113
    +    utilized items:
    
    114
    +      break array of module ‘Example’
    
    115
    +      ordinary object ‘isPrime’:
    
    116
    +        arity: 1
    
    117
    +        literals:
    
    118
    +          top-level string "Example"
    
    119
    +          top-level string "main"
    
    120
    +          cost center of breakpoint 8
    
    121
    +        utilized items:
    
    122
    +          break array of module ‘Example’
    
    123
    +          ordinary object ‘isPrime’:
    
    124
    +            arity: 1
    
    125
    +            literals:
    
    126
    +              top-level string "Example"
    
    127
    +              top-level string "main"
    
    128
    +              cost center of breakpoint 7
    
    129
    +            utilized items:
    
    130
    +              break array of module ‘Example’
    
    131
    +              ordinary object ‘isPrime’:
    
    132
    +                arity: 1
    
    133
    +                literals:
    
    134
    +                  top-level string "Example"
    
    135
    +                  top-level string "main"
    
    136
    +                  cost center of breakpoint 6
    
    137
    +                utilized items:
    
    138
    +                  break array of module ‘Example’
    
    139
    +                  ordinary object ‘isPrime’:
    
    140
    +                    arity: 0
    
    141
    +                    literals:
    
    142
    +                      top-level string "Example"
    
    143
    +                      top-level string "main"
    
    144
    +                      cost center of breakpoint 5
    
    145
    +                      word 2
    
    146
    +                      info table of ‘IS’
    
    147
    +                    utilized items:
    
    148
    +                      break array of module ‘Example’
    
    149
    +                      ordinary object ‘v’:
    
    150
    +                        arity: 0
    
    151
    +                        literals: <none>
    
    152
    +                        utilized items:
    
    153
    +                          item named ‘$fIntegralInteger’
    
    154
    +                          item named ‘$fNumNatural’
    
    155
    +                          item named ‘^’
    
    156
    +                      ordinary object ‘pap’:
    
    157
    +                        arity: 3
    
    158
    +                        literals: <none>
    
    159
    +                        utilized items: <none>
    
    160
    +                  ordinary object ‘isPrime’:
    
    161
    +                    arity: 1
    
    162
    +                    literals:
    
    163
    +                      top-level string "Example"
    
    164
    +                      top-level string "main"
    
    165
    +                      cost center of breakpoint 4
    
    166
    +                    utilized items:
    
    167
    +                      break array of module ‘Example’
    
    168
    +                      ordinary object ‘v’:
    
    169
    +                        arity: 0
    
    170
    +                        literals: <none>
    
    171
    +                        utilized items:
    
    172
    +                          item named ‘$fOrdNatural’
    
    173
    +                          item named ‘<=’
    
    174
    +                      ordinary object ‘pap’:
    
    175
    +                        arity: 3
    
    176
    +                        literals: <none>
    
    177
    +                        utilized items: <none>
    
    178
    +                  item named ‘.’
    
    179
    +              item named ‘primes’
    
    180
    +              item named ‘takeWhile’
    
    181
    +          ordinary object ‘isPrime’:
    
    182
    +            arity: 1
    
    183
    +            literals:
    
    184
    +              top-level string "Example"
    
    185
    +              top-level string "main"
    
    186
    +              cost center of breakpoint 3
    
    187
    +            utilized items:
    
    188
    +              break array of module ‘Example’
    
    189
    +              ordinary object ‘pap’:
    
    190
    +                arity: 2
    
    191
    +                literals: <none>
    
    192
    +                utilized items:
    
    193
    +                  item named ‘$fIntegralNatural’
    
    194
    +                  item named ‘divides’
    
    195
    +          item named ‘$fFoldableList’
    
    196
    +          item named ‘any’
    
    197
    +      item named ‘not’
    
    198
    +  ordinary object ‘fibonaccisPtr’:
    
    199
    +    arity: 0
    
    200
    +    literals:
    
    201
    +      top-level string "Example"
    
    202
    +      top-level string "main"
    
    203
    +      cost center of breakpoint 10
    
    204
    +    utilized items:
    
    205
    +      break array of module ‘Example’
    
    206
    +      item named ‘static’
    
    207
    +      item named ‘$dTypeable2’
    
    208
    +      item named ‘$fIsStaticStaticPtr’
    
    209
    +  static-construction object ‘static’:
    
    210
    +    data constructor name: StaticPtr
    
    211
    +    lifted: yes
    
    212
    +    literals:
    
    213
    +      word 17112019464237448244
    
    214
    +      word 14704510317759369968
    
    215
    +    utilized items:
    
    216
    +      item named ‘static’
    
    217
    +      item named ‘fibonaccis’
    
    218
    +  static-construction object ‘static’:
    
    219
    +    data constructor name: StaticPtrInfo
    
    220
    +    lifted: yes
    
    221
    +    literals: <none>
    
    222
    +    utilized items:
    
    223
    +      item named ‘static’
    
    224
    +      item named ‘static’
    
    225
    +      item named ‘static’
    
    226
    +  ordinary object ‘static’:
    
    227
    +    arity: 0
    
    228
    +    literals: top-level string "main"
    
    229
    +    utilized items:
    
    230
    +      ordinary object ‘static’:
    
    231
    +        arity: 0
    
    232
    +        literals: <none>
    
    233
    +        utilized items: item named ‘unpackCString#’
    
    234
    +  ordinary object ‘static’:
    
    235
    +    arity: 0
    
    236
    +    literals: top-level string "Example"
    
    237
    +    utilized items:
    
    238
    +      ordinary object ‘static’:
    
    239
    +        arity: 0
    
    240
    +        literals: <none>
    
    241
    +        utilized items: item named ‘unpackCString#’
    
    242
    +  static-construction object ‘static’:
    
    243
    +    data constructor name: (,)
    
    244
    +    lifted: yes
    
    245
    +    literals: <none>
    
    246
    +    utilized items:
    
    247
    +      item named ‘static’
    
    248
    +      item named ‘static’
    
    249
    +  static-construction object ‘static’:
    
    250
    +    data constructor name: I#
    
    251
    +    lifted: yes
    
    252
    +    literals: word 15
    
    253
    +    utilized items: <none>
    
    254
    +  static-construction object ‘static’:
    
    255
    +    data constructor name: I#
    
    256
    +    lifted: yes
    
    257
    +    literals: word 24
    
    258
    +    utilized items: <none>
    
    259
    +  ordinary object ‘fibonaccis’:
    
    260
    +    arity: 0
    
    261
    +    literals:
    
    262
    +      top-level string "Example"
    
    263
    +      top-level string "main"
    
    264
    +      cost center of breakpoint 11
    
    265
    +      info table of ‘:’
    
    266
    +    utilized items:
    
    267
    +      break array of module ‘Example’
    
    268
    +      ordinary object ‘fibonaccis’:
    
    269
    +        arity: 0
    
    270
    +        literals:
    
    271
    +          word 0
    
    272
    +          info table of ‘IS’
    
    273
    +        utilized items:
    
    274
    +          item named ‘$fNumNatural’
    
    275
    +          item named ‘fromInteger’
    
    276
    +      item named ‘positiveFibonaccis’
    
    277
    +  ordinary object ‘positiveFibonaccis’:
    
    278
    +    arity: 0
    
    279
    +    literals:
    
    280
    +      top-level string "Example"
    
    281
    +      top-level string "main"
    
    282
    +      cost center of breakpoint 13
    
    283
    +      info table of ‘:’
    
    284
    +    utilized items:
    
    285
    +      break array of module ‘Example’
    
    286
    +      ordinary object ‘positiveFibonaccis’:
    
    287
    +        arity: 0
    
    288
    +        literals:
    
    289
    +          top-level string "Example"
    
    290
    +          top-level string "main"
    
    291
    +          cost center of breakpoint 12
    
    292
    +        utilized items:
    
    293
    +          break array of module ‘Example’
    
    294
    +          ordinary object ‘positiveFibonaccis’:
    
    295
    +            arity: 0
    
    296
    +            literals: <none>
    
    297
    +            utilized items:
    
    298
    +              item named ‘$fNumNatural’
    
    299
    +              item named ‘+’
    
    300
    +          item named ‘positiveFibonaccis’
    
    301
    +          item named ‘fibonaccis’
    
    302
    +          item named ‘zipWith’
    
    303
    +      ordinary object ‘positiveFibonaccis’:
    
    304
    +        arity: 0
    
    305
    +        literals:
    
    306
    +          word 1
    
    307
    +          info table of ‘IS’
    
    308
    +        utilized items:
    
    309
    +          item named ‘$fNumNatural’
    
    310
    +          item named ‘fromInteger’
    
    311
    +  ordinary object ‘$dTypeable2’:
    
    312
    +    arity: 0
    
    313
    +    literals: <none>
    
    314
    +    utilized items:
    
    315
    +      item named ‘$dTypeable’
    
    316
    +      item named ‘$dTypeable1’
    
    317
    +      item named ‘mkTrAppChecked’
    
    318
    +  ordinary object ‘$dTypeable1’:
    
    319
    +    arity: 0
    
    320
    +    literals: info table of ‘[]’
    
    321
    +    utilized items:
    
    322
    +      item named ‘$tcList’
    
    323
    +      item named ‘mkTrCon’
    
    324
    +  ordinary object ‘$dTypeable’:
    
    325
    +    arity: 0
    
    326
    +    literals: info table of ‘[]’
    
    327
    +    utilized items:
    
    328
    +      item named ‘$tcNatural’
    
    329
    +      item named ‘mkTrCon’
    
    330
    +  static-construction object ‘$tc'Nested’:
    
    331
    +    data constructor name: TyCon
    
    332
    +    lifted: yes
    
    333
    +    literals:
    
    334
    +      word 4886352401159288042
    
    335
    +      word 15486177717927261000
    
    336
    +      word 1
    
    337
    +    utilized items:
    
    338
    +      item named ‘$trModule’
    
    339
    +      item named ‘$tc'Nested2’
    
    340
    +      item named ‘$krep17’
    
    341
    +  static-construction object ‘$tc'Nested2’:
    
    342
    +    data constructor name: TrNameS
    
    343
    +    lifted: yes
    
    344
    +    literals: address ‘$tc'Nested1’
    
    345
    +    utilized items: <none>
    
    346
    +  static-construction object ‘$krep17’:
    
    347
    +    data constructor name: KindRepFun
    
    348
    +    lifted: yes
    
    349
    +    literals: <none>
    
    350
    +    utilized items:
    
    351
    +      item named ‘$krep16’
    
    352
    +      item named ‘$krep13’
    
    353
    +  static-construction object ‘$krep16’:
    
    354
    +    data constructor name: KindRepTyConApp
    
    355
    +    lifted: yes
    
    356
    +    literals: <none>
    
    357
    +    utilized items:
    
    358
    +      item named ‘$tcPerfectTree’
    
    359
    +      item named ‘$krep15’
    
    360
    +  static-construction object ‘$krep15’:
    
    361
    +    data constructor name: :
    
    362
    +    lifted: yes
    
    363
    +    literals: <none>
    
    364
    +    utilized items:
    
    365
    +      item named ‘$krep4’
    
    366
    +      item named ‘[]’
    
    367
    +  static-construction object ‘$tc'PerfectTree’:
    
    368
    +    data constructor name: TyCon
    
    369
    +    lifted: yes
    
    370
    +    literals:
    
    371
    +      word 1216274636751977258
    
    372
    +      word 143956009589726941
    
    373
    +      word 1
    
    374
    +    utilized items:
    
    375
    +      item named ‘$trModule’
    
    376
    +      item named ‘$tc'PerfectTree2’
    
    377
    +      item named ‘$krep14’
    
    378
    +  static-construction object ‘$tc'PerfectTree2’:
    
    379
    +    data constructor name: TrNameS
    
    380
    +    lifted: yes
    
    381
    +    literals: address ‘$tc'PerfectTree1’
    
    382
    +    utilized items: <none>
    
    383
    +  static-construction object ‘$krep14’:
    
    384
    +    data constructor name: KindRepFun
    
    385
    +    lifted: yes
    
    386
    +    literals: <none>
    
    387
    +    utilized items:
    
    388
    +      item named ‘$krep1’
    
    389
    +      item named ‘$krep13’
    
    390
    +  static-construction object ‘$krep13’:
    
    391
    +    data constructor name: KindRepTyConApp
    
    392
    +    lifted: yes
    
    393
    +    literals: <none>
    
    394
    +    utilized items:
    
    395
    +      item named ‘$tcPerfectTree’
    
    396
    +      item named ‘$krep12’
    
    397
    +  static-construction object ‘$krep12’:
    
    398
    +    data constructor name: :
    
    399
    +    lifted: yes
    
    400
    +    literals: <none>
    
    401
    +    utilized items:
    
    402
    +      item named ‘$krep1’
    
    403
    +      item named ‘[]’
    
    404
    +  static-construction object ‘$tcPerfectTree’:
    
    405
    +    data constructor name: TyCon
    
    406
    +    lifted: yes
    
    407
    +    literals:
    
    408
    +      word 11330648440307610868
    
    409
    +      word 17396431681782259314
    
    410
    +      word 0
    
    411
    +    utilized items:
    
    412
    +      item named ‘$trModule’
    
    413
    +      item named ‘$tcPerfectTree2’
    
    414
    +      item named ‘krep$*Arr*’
    
    415
    +  static-construction object ‘$tcPerfectTree2’:
    
    416
    +    data constructor name: TrNameS
    
    417
    +    lifted: yes
    
    418
    +    literals: address ‘$tcPerfectTree1’
    
    419
    +    utilized items: <none>
    
    420
    +  static-construction object ‘$tc'Node’:
    
    421
    +    data constructor name: TyCon
    
    422
    +    lifted: yes
    
    423
    +    literals:
    
    424
    +      word 2884468726215238492
    
    425
    +      word 558166382591591938
    
    426
    +      word 2
    
    427
    +    utilized items:
    
    428
    +      item named ‘$trModule’
    
    429
    +      item named ‘$tc'Node2’
    
    430
    +      item named ‘$krep11’
    
    431
    +  static-construction object ‘$tc'Node2’:
    
    432
    +    data constructor name: TrNameS
    
    433
    +    lifted: yes
    
    434
    +    literals: address ‘$tc'Node1’
    
    435
    +    utilized items: <none>
    
    436
    +  static-construction object ‘$krep11’:
    
    437
    +    data constructor name: KindRepFun
    
    438
    +    lifted: yes
    
    439
    +    literals: <none>
    
    440
    +    utilized items:
    
    441
    +      item named ‘$krep7’
    
    442
    +      item named ‘$krep10’
    
    443
    +  static-construction object ‘$krep10’:
    
    444
    +    data constructor name: KindRepFun
    
    445
    +    lifted: yes
    
    446
    +    literals: <none>
    
    447
    +    utilized items:
    
    448
    +      item named ‘$krep’
    
    449
    +      item named ‘$krep9’
    
    450
    +  static-construction object ‘$krep9’:
    
    451
    +    data constructor name: KindRepFun
    
    452
    +    lifted: yes
    
    453
    +    literals: <none>
    
    454
    +    utilized items:
    
    455
    +      item named ‘$krep7’
    
    456
    +      item named ‘$krep7’
    
    457
    +  static-construction object ‘$tc'Leaf’:
    
    458
    +    data constructor name: TyCon
    
    459
    +    lifted: yes
    
    460
    +    literals:
    
    461
    +      word 7677223365245394977
    
    462
    +      word 14318463004604079067
    
    463
    +      word 2
    
    464
    +    utilized items:
    
    465
    +      item named ‘$trModule’
    
    466
    +      item named ‘$tc'Leaf2’
    
    467
    +      item named ‘$krep8’
    
    468
    +  static-construction object ‘$tc'Leaf2’:
    
    469
    +    data constructor name: TrNameS
    
    470
    +    lifted: yes
    
    471
    +    literals: address ‘$tc'Leaf1’
    
    472
    +    utilized items: <none>
    
    473
    +  static-construction object ‘$krep8’:
    
    474
    +    data constructor name: KindRepFun
    
    475
    +    lifted: yes
    
    476
    +    literals: <none>
    
    477
    +    utilized items:
    
    478
    +      item named ‘$krep1’
    
    479
    +      item named ‘$krep7’
    
    480
    +  static-construction object ‘$krep7’:
    
    481
    +    data constructor name: KindRepTyConApp
    
    482
    +    lifted: yes
    
    483
    +    literals: <none>
    
    484
    +    utilized items:
    
    485
    +      item named ‘$tcBinTree’
    
    486
    +      item named ‘$krep6’
    
    487
    +  static-construction object ‘$krep6’:
    
    488
    +    data constructor name: :
    
    489
    +    lifted: yes
    
    490
    +    literals: <none>
    
    491
    +    utilized items:
    
    492
    +      item named ‘$krep1’
    
    493
    +      item named ‘$krep5’
    
    494
    +  static-construction object ‘$krep5’:
    
    495
    +    data constructor name: :
    
    496
    +    lifted: yes
    
    497
    +    literals: <none>
    
    498
    +    utilized items:
    
    499
    +      item named ‘$krep’
    
    500
    +      item named ‘[]’
    
    501
    +  static-construction object ‘$tcBinTree’:
    
    502
    +    data constructor name: TyCon
    
    503
    +    lifted: yes
    
    504
    +    literals:
    
    505
    +      word 9824011489556756898
    
    506
    +      word 1356349741031249981
    
    507
    +      word 0
    
    508
    +    utilized items:
    
    509
    +      item named ‘$trModule’
    
    510
    +      item named ‘$tcBinTree2’
    
    511
    +      item named ‘krep$*->*->*’
    
    512
    +  static-construction object ‘$tcBinTree2’:
    
    513
    +    data constructor name: TrNameS
    
    514
    +    lifted: yes
    
    515
    +    literals: address ‘$tcBinTree1’
    
    516
    +    utilized items: <none>
    
    517
    +  static-construction object ‘$krep4’:
    
    518
    +    data constructor name: KindRepTyConApp
    
    519
    +    lifted: yes
    
    520
    +    literals: <none>
    
    521
    +    utilized items:
    
    522
    +      item named ‘$tcTuple2’
    
    523
    +      item named ‘$krep3’
    
    524
    +  static-construction object ‘$krep3’:
    
    525
    +    data constructor name: :
    
    526
    +    lifted: yes
    
    527
    +    literals: <none>
    
    528
    +    utilized items:
    
    529
    +      item named ‘$krep1’
    
    530
    +      item named ‘$krep2’
    
    531
    +  static-construction object ‘$krep2’:
    
    532
    +    data constructor name: :
    
    533
    +    lifted: yes
    
    534
    +    literals: <none>
    
    535
    +    utilized items:
    
    536
    +      item named ‘$krep1’
    
    537
    +      item named ‘[]’
    
    538
    +  static-construction object ‘$krep1’:
    
    539
    +    data constructor name: KindRepVar
    
    540
    +    lifted: yes
    
    541
    +    literals: word 0
    
    542
    +    utilized items: <none>
    
    543
    +  static-construction object ‘$krep’:
    
    544
    +    data constructor name: KindRepVar
    
    545
    +    lifted: yes
    
    546
    +    literals: word 1
    
    547
    +    utilized items: <none>
    
    548
    +  static-construction object ‘$trModule’:
    
    549
    +    data constructor name: Module
    
    550
    +    lifted: yes
    
    551
    +    literals: <none>
    
    552
    +    utilized items:
    
    553
    +      item named ‘$trModule2’
    
    554
    +      item named ‘$trModule4’
    
    555
    +  static-construction object ‘$trModule4’:
    
    556
    +    data constructor name: TrNameS
    
    557
    +    lifted: yes
    
    558
    +    literals: address ‘$trModule3’
    
    559
    +    utilized items: <none>
    
    560
    +  static-construction object ‘$trModule2’:
    
    561
    +    data constructor name: TrNameS
    
    562
    +    lifted: yes
    
    563
    +    literals: address ‘$trModule1’
    
    564
    +    utilized items: <none>
    
    565
    +  ordinary object ‘divides’:
    
    566
    +    arity: 3
    
    567
    +    literals: <none>
    
    568
    +    utilized items:
    
    569
    +      ordinary object ‘$dReal’:
    
    570
    +        arity: 0
    
    571
    +        literals: <none>
    
    572
    +        utilized items:
    
    573
    +          ordinary object ‘$dNum’:
    
    574
    +            arity: 0
    
    575
    +            literals: <none>
    
    576
    +            utilized items:
    
    577
    +              ordinary object ‘$dEq’:
    
    578
    +                arity: 0
    
    579
    +                literals: <none>
    
    580
    +                utilized items:
    
    581
    +                  ordinary object ‘$dEq1’:
    
    582
    +                    arity: 0
    
    583
    +                    literals: <none>
    
    584
    +                    utilized items:
    
    585
    +                      ordinary object ‘bcprep’:
    
    586
    +                        arity: 5
    
    587
    +                        literals:
    
    588
    +                          top-level string "Example"
    
    589
    +                          top-level string "main"
    
    590
    +                          cost center of breakpoint 15
    
    591
    +                        utilized items:
    
    592
    +                          break array of module ‘Example’
    
    593
    +                          ordinary object ‘divides’:
    
    594
    +                            arity: 1
    
    595
    +                            literals:
    
    596
    +                              word 0
    
    597
    +                              info table of ‘IS’
    
    598
    +                            utilized items: item named ‘fromInteger’
    
    599
    +                          ordinary object ‘divides’:
    
    600
    +                            arity: 3
    
    601
    +                            literals:
    
    602
    +                              top-level string "Example"
    
    603
    +                              top-level string "main"
    
    604
    +                              cost center of breakpoint 14
    
    605
    +                            utilized items:
    
    606
    +                              break array of module ‘Example’
    
    607
    +                              item named ‘mod’
    
    608
    +                          item named ‘==’
    
    609
    +                  item named ‘$p1Ord’
    
    610
    +              item named ‘$p2Real’
    
    611
    +          item named ‘$p1Real’
    
    612
    +      item named ‘$p1Integral’
    
    613
    +  ordinary object ‘Node’:
    
    614
    +    arity: 3
    
    615
    +    literals: info table of ‘Node’
    
    616
    +    utilized items: <none>
    
    617
    +  ordinary object ‘Leaf’:
    
    618
    +    arity: 1
    
    619
    +    literals: info table of ‘Leaf’
    
    620
    +    utilized items: <none>
    
    621
    +  ordinary object ‘Nested’:
    
    622
    +    arity: 1
    
    623
    +    literals: info table of ‘Nested’
    
    624
    +    utilized items: <none>
    
    625
    +  ordinary object ‘PerfectTree’:
    
    626
    +    arity: 1
    
    627
    +    literals: info table of ‘PerfectTree’
    
    628
    +    utilized items: <none>
    
    629
    +data constructor info tables:
    
    630
    +  info table of ‘PerfectTree’:
    
    631
    +    number of words for pointers: 1
    
    632
    +    number of words for non-pointers: 0
    
    633
    +  info table of ‘Nested’:
    
    634
    +    number of words for pointers: 1
    
    635
    +    number of words for non-pointers: 0
    
    636
    +  info table of ‘Leaf’:
    
    637
    +    number of words for pointers: 1
    
    638
    +    number of words for non-pointers: 0
    
    639
    +  info table of ‘Node’:
    
    640
    +    number of words for pointers: 3
    
    641
    +    number of words for non-pointers: 0
    
    642
    +top-level strings:
    
    643
    +  $tc'Nested1: "'Nested"
    
    644
    +  $tc'PerfectTree1: "'PerfectTree"
    
    645
    +  $tcPerfectTree1: "PerfectTree"
    
    646
    +  $tc'Node1: "'Node"
    
    647
    +  $tc'Leaf1: "'Leaf"
    
    648
    +  $tcBinTree1: "BinTree"
    
    649
    +  $trModule3: "Example"
    
    650
    +  $trModule1: "main"
    
    651
    +breakpoints:
    
    652
    +  source breakpoints:
    
    653
    +    source breakpoint 0:
    
    654
    +      source span: Example.hs:18:17-25
    
    655
    +      declaration path: divides
    
    656
    +      free variables:
    
    657
    +        k
    
    658
    +        n
    
    659
    +    source breakpoint 1:
    
    660
    +      source span: Example.hs:18:17-30
    
    661
    +      declaration path: divides
    
    662
    +      free variables:
    
    663
    +        k
    
    664
    +        n
    
    665
    +    source breakpoint 2:
    
    666
    +      source span: Example.hs:24:27-37
    
    667
    +      declaration path:
    
    668
    +        primes
    
    669
    +        isPrime
    
    670
    +      free variables: n
    
    671
    +    source breakpoint 3:
    
    672
    +      source span: Example.hs:24:53-56
    
    673
    +      declaration path:
    
    674
    +        primes
    
    675
    +        isPrime
    
    676
    +      free variables: n
    
    677
    +    source breakpoint 4:
    
    678
    +      source span: Example.hs:24:62-64
    
    679
    +      declaration path:
    
    680
    +        primes
    
    681
    +        isPrime
    
    682
    +      free variables: <none>
    
    683
    +    source breakpoint 5:
    
    684
    +      source span: Example.hs:24:52-65
    
    685
    +      declaration path:
    
    686
    +        primes
    
    687
    +        isPrime
    
    688
    +      free variables: n
    
    689
    +    source breakpoint 6:
    
    690
    +      source span: Example.hs:24:41-73
    
    691
    +      declaration path:
    
    692
    +        primes
    
    693
    +        isPrime
    
    694
    +      free variables: n
    
    695
    +    source breakpoint 7:
    
    696
    +      source span: Example.hs:24:22-74
    
    697
    +      declaration path:
    
    698
    +        primes
    
    699
    +        isPrime
    
    700
    +      free variables: n
    
    701
    +    source breakpoint 8:
    
    702
    +      source span: Example.hs:24:17-75
    
    703
    +      declaration path:
    
    704
    +        primes
    
    705
    +        isPrime
    
    706
    +      free variables: n
    
    707
    +    source breakpoint 9:
    
    708
    +      source span: Example.hs:21:14-34
    
    709
    +      declaration path: primes
    
    710
    +      free variables: isPrime
    
    711
    +    source breakpoint 10:
    
    712
    +      source span: Example.hs:21:10-34
    
    713
    +      declaration path: primes
    
    714
    +      free variables: isPrime
    
    715
    +    source breakpoint 11:
    
    716
    +      source span: Example.hs:27:13-25
    
    717
    +      declaration path: primesPtr
    
    718
    +      free variables: <none>
    
    719
    +    source breakpoint 12:
    
    720
    +      source span: Example.hs:12:30-70
    
    721
    +      declaration path:
    
    722
    +        fibonaccis
    
    723
    +        positiveFibonaccis
    
    724
    +      free variables: positiveFibonaccis
    
    725
    +    source breakpoint 13:
    
    726
    +      source span: Example.hs:12:26-70
    
    727
    +      declaration path:
    
    728
    +        fibonaccis
    
    729
    +        positiveFibonaccis
    
    730
    +      free variables: positiveFibonaccis
    
    731
    +    source breakpoint 14:
    
    732
    +      source span: Example.hs:9:14-35
    
    733
    +      declaration path: fibonaccis
    
    734
    +      free variables: positiveFibonaccis
    
    735
    +    source breakpoint 15:
    
    736
    +      source span: Example.hs:15:17-33
    
    737
    +      declaration path: fibonaccisPtr
    
    738
    +      free variables: <none>
    
    739
    +  bytecode breakpoints:
    
    740
    +    bytecode breakpoint 0:
    
    741
    +      type: StaticPtr [Natural]
    
    742
    +      type variables: <none>
    
    743
    +      variables: <none>
    
    744
    +      corresponding source breakpoint: 11
    
    745
    +    bytecode breakpoint 1:
    
    746
    +      type: [Natural]
    
    747
    +      type variables: <none>
    
    748
    +      variables: <unknown>
    
    749
    +      corresponding source breakpoint: 9
    
    750
    +    bytecode breakpoint 2:
    
    751
    +      type: [Natural]
    
    752
    +      type variables: <none>
    
    753
    +      variables: <unknown>
    
    754
    +      corresponding source breakpoint: 10
    
    755
    +    bytecode breakpoint 3:
    
    756
    +      type: Natural -> Bool
    
    757
    +      type variables: <none>
    
    758
    +      variables: %'Many n :: Natural
    
    759
    +      corresponding source breakpoint: 2
    
    760
    +    bytecode breakpoint 4:
    
    761
    +      type: Natural -> Bool
    
    762
    +      type variables: <none>
    
    763
    +      variables: %'Many n :: Natural
    
    764
    +      corresponding source breakpoint: 3
    
    765
    +    bytecode breakpoint 5:
    
    766
    +      type: Natural -> Natural
    
    767
    +      type variables: <none>
    
    768
    +      variables: <none>
    
    769
    +      corresponding source breakpoint: 4
    
    770
    +    bytecode breakpoint 6:
    
    771
    +      type: Natural -> Bool
    
    772
    +      type variables: <none>
    
    773
    +      variables: %'Many n :: Natural
    
    774
    +      corresponding source breakpoint: 5
    
    775
    +    bytecode breakpoint 7:
    
    776
    +      type: [Natural]
    
    777
    +      type variables: <none>
    
    778
    +      variables: %'Many n :: Natural
    
    779
    +      corresponding source breakpoint: 6
    
    780
    +    bytecode breakpoint 8:
    
    781
    +      type: Bool
    
    782
    +      type variables: <none>
    
    783
    +      variables: %'Many n :: Natural
    
    784
    +      corresponding source breakpoint: 7
    
    785
    +    bytecode breakpoint 9:
    
    786
    +      type: Bool
    
    787
    +      type variables: <none>
    
    788
    +      variables: %'Many n :: Natural
    
    789
    +      corresponding source breakpoint: 8
    
    790
    +    bytecode breakpoint 10:
    
    791
    +      type: StaticPtr [Natural]
    
    792
    +      type variables: <none>
    
    793
    +      variables: <none>
    
    794
    +      corresponding source breakpoint: 15
    
    795
    +    bytecode breakpoint 11:
    
    796
    +      type: [Natural]
    
    797
    +      type variables: <none>
    
    798
    +      variables: <unknown>
    
    799
    +      corresponding source breakpoint: 14
    
    800
    +    bytecode breakpoint 12:
    
    801
    +      type: [Natural]
    
    802
    +      type variables: <none>
    
    803
    +      variables: <unknown>
    
    804
    +      corresponding source breakpoint: 12
    
    805
    +    bytecode breakpoint 13:
    
    806
    +      type: [Natural]
    
    807
    +      type variables: <none>
    
    808
    +      variables: <unknown>
    
    809
    +      corresponding source breakpoint: 13
    
    810
    +    bytecode breakpoint 14:
    
    811
    +      type: a
    
    812
    +      type variables: a :: *
    
    813
    +      variables:
    
    814
    +        %'Many eta :: a
    
    815
    +        %'Many eta1 :: a
    
    816
    +      corresponding source breakpoint: 0
    
    817
    +    bytecode breakpoint 15:
    
    818
    +      type: Bool
    
    819
    +      type variables: a :: *
    
    820
    +      variables:
    
    821
    +        %'Many eta :: a
    
    822
    +        %'Many eta1 :: a
    
    823
    +      corresponding source breakpoint: 1
    
    824
    +static-pointer table entries:
    
    825
    +  ed7a1b0a13717c34cc10ea39e61d12f0: static
    
    826
    +  213042ce5bda1667c6629602bbd55756: static
    
    827
    +HPC information: <none>
    
    828
    +

  • testsuite/tests/show-bytecode/show-bytecode-hpc.stdout
    1
    +[1 of 1] Compiling Example          ( Example.hs, Example.gbc )
    
    2
    +name: Example
    
    3
    +hash: f980f4ded430c2b38783bc705ca167a5
    
    4
    +objects:
    
    5
    +  ordinary object ‘primesPtr’:
    
    6
    +    arity: 0
    
    7
    +    literals:
    
    8
    +      label ‘’
    
    9
    +      label ‘’
    
    10
    +    utilized items:
    
    11
    +      item named ‘static’
    
    12
    +      item named ‘$dTypeable2’
    
    13
    +      item named ‘$fIsStaticStaticPtr’
    
    14
    +  static-construction object ‘static’:
    
    15
    +    data constructor name: StaticPtr
    
    16
    +    lifted: yes
    
    17
    +    literals:
    
    18
    +      word 2391484856205448807
    
    19
    +      word 14295153105712797526
    
    20
    +    utilized items:
    
    21
    +      item named ‘static’
    
    22
    +      item named ‘static’
    
    23
    +  static-construction object ‘static’:
    
    24
    +    data constructor name: StaticPtrInfo
    
    25
    +    lifted: yes
    
    26
    +    literals: <none>
    
    27
    +    utilized items:
    
    28
    +      item named ‘static’
    
    29
    +      item named ‘static’
    
    30
    +      item named ‘static’
    
    31
    +  ordinary object ‘static’:
    
    32
    +    arity: 0
    
    33
    +    literals: top-level string "main"
    
    34
    +    utilized items:
    
    35
    +      ordinary object ‘static’:
    
    36
    +        arity: 0
    
    37
    +        literals: <none>
    
    38
    +        utilized items: item named ‘unpackCString#’
    
    39
    +  ordinary object ‘static’:
    
    40
    +    arity: 0
    
    41
    +    literals: top-level string "Example"
    
    42
    +    utilized items:
    
    43
    +      ordinary object ‘static’:
    
    44
    +        arity: 0
    
    45
    +        literals: <none>
    
    46
    +        utilized items: item named ‘unpackCString#’
    
    47
    +  static-construction object ‘static’:
    
    48
    +    data constructor name: (,)
    
    49
    +    lifted: yes
    
    50
    +    literals: <none>
    
    51
    +    utilized items:
    
    52
    +      item named ‘static’
    
    53
    +      item named ‘static’
    
    54
    +  static-construction object ‘static’:
    
    55
    +    data constructor name: I#
    
    56
    +    lifted: yes
    
    57
    +    literals: word 27
    
    58
    +    utilized items: <none>
    
    59
    +  static-construction object ‘static’:
    
    60
    +    data constructor name: I#
    
    61
    +    lifted: yes
    
    62
    +    literals: word 20
    
    63
    +    utilized items: <none>
    
    64
    +  ordinary object ‘static’:
    
    65
    +    arity: 0
    
    66
    +    literals: label ‘’
    
    67
    +    utilized items: item named ‘primes’
    
    68
    +  ordinary object ‘primes2’:
    
    69
    +    arity: 0
    
    70
    +    literals: label ‘’
    
    71
    +    utilized items:
    
    72
    +      ordinary object ‘primes2’:
    
    73
    +        arity: 0
    
    74
    +        literals: label ‘’
    
    75
    +        utilized items:
    
    76
    +          ordinary object ‘primes2’:
    
    77
    +            arity: 0
    
    78
    +            literals:
    
    79
    +              label ‘’
    
    80
    +              word 3
    
    81
    +              info table of ‘IS’
    
    82
    +            utilized items:
    
    83
    +              item named ‘$fNumNatural’
    
    84
    +              item named ‘fromInteger’
    
    85
    +          item named ‘$fEnumNatural’
    
    86
    +          item named ‘enumFrom’
    
    87
    +      ordinary object ‘primes2’:
    
    88
    +        arity: 0
    
    89
    +        literals: label ‘’
    
    90
    +        utilized items: item named ‘isPrime’
    
    91
    +      item named ‘filter’
    
    92
    +  ordinary object ‘isPrime’:
    
    93
    +    arity: 1
    
    94
    +    literals:
    
    95
    +      label ‘’
    
    96
    +      label ‘’
    
    97
    +    utilized items:
    
    98
    +      ordinary object ‘isPrime’:
    
    99
    +        arity: 1
    
    100
    +        literals: label ‘’
    
    101
    +        utilized items:
    
    102
    +          ordinary object ‘isPrime’:
    
    103
    +            arity: 1
    
    104
    +            literals: label ‘’
    
    105
    +            utilized items:
    
    106
    +              ordinary object ‘isPrime’:
    
    107
    +                arity: 0
    
    108
    +                literals: label ‘’
    
    109
    +                utilized items: item named ‘primes’
    
    110
    +              ordinary object ‘isPrime’:
    
    111
    +                arity: 1
    
    112
    +                literals: label ‘’
    
    113
    +                utilized items:
    
    114
    +                  ordinary object ‘isPrime’:
    
    115
    +                    arity: 0
    
    116
    +                    literals: label ‘’
    
    117
    +                    utilized items:
    
    118
    +                      ordinary object ‘v’:
    
    119
    +                        arity: 0
    
    120
    +                        literals: label ‘’
    
    121
    +                        utilized items:
    
    122
    +                          item named ‘$fIntegralInteger’
    
    123
    +                          item named ‘$fNumNatural’
    
    124
    +                          item named ‘^’
    
    125
    +                      ordinary object ‘v1’:
    
    126
    +                        arity: 0
    
    127
    +                        literals:
    
    128
    +                          label ‘’
    
    129
    +                          word 2
    
    130
    +                          info table of ‘IS’
    
    131
    +                        utilized items: <none>
    
    132
    +                      ordinary object ‘pap’:
    
    133
    +                        arity: 3
    
    134
    +                        literals: <none>
    
    135
    +                        utilized items: <none>
    
    136
    +                  ordinary object ‘isPrime’:
    
    137
    +                    arity: 1
    
    138
    +                    literals: label ‘’
    
    139
    +                    utilized items:
    
    140
    +                      ordinary object ‘v’:
    
    141
    +                        arity: 0
    
    142
    +                        literals: label ‘’
    
    143
    +                        utilized items:
    
    144
    +                          item named ‘$fOrdNatural’
    
    145
    +                          item named ‘<=’
    
    146
    +                      ordinary object ‘v1’:
    
    147
    +                        arity: 1
    
    148
    +                        literals: label ‘’
    
    149
    +                        utilized items: <none>
    
    150
    +                      ordinary object ‘pap’:
    
    151
    +                        arity: 3
    
    152
    +                        literals: <none>
    
    153
    +                        utilized items: <none>
    
    154
    +                  item named ‘.’
    
    155
    +              item named ‘takeWhile’
    
    156
    +          ordinary object ‘isPrime’:
    
    157
    +            arity: 1
    
    158
    +            literals: label ‘’
    
    159
    +            utilized items:
    
    160
    +              ordinary object ‘v’:
    
    161
    +                arity: 0
    
    162
    +                literals: label ‘’
    
    163
    +                utilized items:
    
    164
    +                  ordinary object ‘pap’:
    
    165
    +                    arity: 2
    
    166
    +                    literals: <none>
    
    167
    +                    utilized items:
    
    168
    +                      item named ‘$fIntegralNatural’
    
    169
    +                      item named ‘divides’
    
    170
    +              ordinary object ‘v1’:
    
    171
    +                arity: 1
    
    172
    +                literals: label ‘’
    
    173
    +                utilized items: <none>
    
    174
    +              ordinary object ‘pap’:
    
    175
    +                arity: 3
    
    176
    +                literals: <none>
    
    177
    +                utilized items: <none>
    
    178
    +          item named ‘$fFoldableList’
    
    179
    +          item named ‘any’
    
    180
    +      item named ‘not’
    
    181
    +  ordinary object ‘primes’:
    
    182
    +    arity: 0
    
    183
    +    literals:
    
    184
    +      label ‘’
    
    185
    +      label ‘’
    
    186
    +      info table of ‘:’
    
    187
    +    utilized items:
    
    188
    +      item named ‘primes2’
    
    189
    +      item named ‘primes1’
    
    190
    +  ordinary object ‘primes1’:
    
    191
    +    arity: 0
    
    192
    +    literals:
    
    193
    +      label ‘’
    
    194
    +      word 2
    
    195
    +      info table of ‘IS’
    
    196
    +    utilized items:
    
    197
    +      item named ‘$fNumNatural’
    
    198
    +      item named ‘fromInteger’
    
    199
    +  ordinary object ‘fibonaccisPtr’:
    
    200
    +    arity: 0
    
    201
    +    literals:
    
    202
    +      label ‘’
    
    203
    +      label ‘’
    
    204
    +    utilized items:
    
    205
    +      item named ‘static’
    
    206
    +      item named ‘$dTypeable2’
    
    207
    +      item named ‘$fIsStaticStaticPtr’
    
    208
    +  static-construction object ‘static’:
    
    209
    +    data constructor name: StaticPtr
    
    210
    +    lifted: yes
    
    211
    +    literals:
    
    212
    +      word 17112019464237448244
    
    213
    +      word 14704510317759369968
    
    214
    +    utilized items:
    
    215
    +      item named ‘static’
    
    216
    +      item named ‘static’
    
    217
    +  static-construction object ‘static’:
    
    218
    +    data constructor name: StaticPtrInfo
    
    219
    +    lifted: yes
    
    220
    +    literals: <none>
    
    221
    +    utilized items:
    
    222
    +      item named ‘static’
    
    223
    +      item named ‘static’
    
    224
    +      item named ‘static’
    
    225
    +  ordinary object ‘static’:
    
    226
    +    arity: 0
    
    227
    +    literals: top-level string "main"
    
    228
    +    utilized items:
    
    229
    +      ordinary object ‘static’:
    
    230
    +        arity: 0
    
    231
    +        literals: <none>
    
    232
    +        utilized items: item named ‘unpackCString#’
    
    233
    +  ordinary object ‘static’:
    
    234
    +    arity: 0
    
    235
    +    literals: top-level string "Example"
    
    236
    +    utilized items:
    
    237
    +      ordinary object ‘static’:
    
    238
    +        arity: 0
    
    239
    +        literals: <none>
    
    240
    +        utilized items: item named ‘unpackCString#’
    
    241
    +  static-construction object ‘static’:
    
    242
    +    data constructor name: (,)
    
    243
    +    lifted: yes
    
    244
    +    literals: <none>
    
    245
    +    utilized items:
    
    246
    +      item named ‘static’
    
    247
    +      item named ‘static’
    
    248
    +  static-construction object ‘static’:
    
    249
    +    data constructor name: I#
    
    250
    +    lifted: yes
    
    251
    +    literals: word 15
    
    252
    +    utilized items: <none>
    
    253
    +  static-construction object ‘static’:
    
    254
    +    data constructor name: I#
    
    255
    +    lifted: yes
    
    256
    +    literals: word 24
    
    257
    +    utilized items: <none>
    
    258
    +  ordinary object ‘static’:
    
    259
    +    arity: 0
    
    260
    +    literals: label ‘’
    
    261
    +    utilized items: item named ‘fibonaccis’
    
    262
    +  ordinary object ‘positiveFibonaccis1’:
    
    263
    +    arity: 0
    
    264
    +    literals:
    
    265
    +      label ‘’
    
    266
    +      label ‘’
    
    267
    +      info table of ‘:’
    
    268
    +    utilized items:
    
    269
    +      item named ‘positiveFibonaccis2’
    
    270
    +      item named ‘positiveFibonaccis’
    
    271
    +  ordinary object ‘positiveFibonaccis2’:
    
    272
    +    arity: 0
    
    273
    +    literals: label ‘’
    
    274
    +    utilized items:
    
    275
    +      ordinary object ‘positiveFibonaccis2’:
    
    276
    +        arity: 0
    
    277
    +        literals: label ‘’
    
    278
    +        utilized items: item named ‘positiveFibonaccis1’
    
    279
    +      ordinary object ‘positiveFibonaccis2’:
    
    280
    +        arity: 0
    
    281
    +        literals: label ‘’
    
    282
    +        utilized items: item named ‘fibonaccis’
    
    283
    +      ordinary object ‘positiveFibonaccis2’:
    
    284
    +        arity: 0
    
    285
    +        literals: label ‘’
    
    286
    +        utilized items:
    
    287
    +          item named ‘$fNumNatural’
    
    288
    +          item named ‘+’
    
    289
    +      item named ‘zipWith’
    
    290
    +  ordinary object ‘fibonaccis’:
    
    291
    +    arity: 0
    
    292
    +    literals:
    
    293
    +      label ‘’
    
    294
    +      label ‘’
    
    295
    +      info table of ‘:’
    
    296
    +    utilized items:
    
    297
    +      item named ‘fibonaccis2’
    
    298
    +      item named ‘fibonaccis1’
    
    299
    +  ordinary object ‘fibonaccis2’:
    
    300
    +    arity: 0
    
    301
    +    literals: label ‘’
    
    302
    +    utilized items: item named ‘positiveFibonaccis1’
    
    303
    +  ordinary object ‘positiveFibonaccis’:
    
    304
    +    arity: 0
    
    305
    +    literals:
    
    306
    +      label ‘’
    
    307
    +      word 1
    
    308
    +      info table of ‘IS’
    
    309
    +    utilized items:
    
    310
    +      item named ‘$fNumNatural’
    
    311
    +      item named ‘fromInteger’
    
    312
    +  ordinary object ‘fibonaccis1’:
    
    313
    +    arity: 0
    
    314
    +    literals:
    
    315
    +      label ‘’
    
    316
    +      word 0
    
    317
    +      info table of ‘IS’
    
    318
    +    utilized items:
    
    319
    +      item named ‘$fNumNatural’
    
    320
    +      item named ‘fromInteger’
    
    321
    +  ordinary object ‘$dTypeable2’:
    
    322
    +    arity: 0
    
    323
    +    literals: <none>
    
    324
    +    utilized items:
    
    325
    +      item named ‘$dTypeable’
    
    326
    +      item named ‘$dTypeable1’
    
    327
    +      item named ‘mkTrAppChecked’
    
    328
    +  ordinary object ‘$dTypeable1’:
    
    329
    +    arity: 0
    
    330
    +    literals: info table of ‘[]’
    
    331
    +    utilized items:
    
    332
    +      item named ‘$tcList’
    
    333
    +      item named ‘mkTrCon’
    
    334
    +  ordinary object ‘$dTypeable’:
    
    335
    +    arity: 0
    
    336
    +    literals: info table of ‘[]’
    
    337
    +    utilized items:
    
    338
    +      item named ‘$tcNatural’
    
    339
    +      item named ‘mkTrCon’
    
    340
    +  static-construction object ‘$tc'Nested’:
    
    341
    +    data constructor name: TyCon
    
    342
    +    lifted: yes
    
    343
    +    literals:
    
    344
    +      word 4886352401159288042
    
    345
    +      word 15486177717927261000
    
    346
    +      word 1
    
    347
    +    utilized items:
    
    348
    +      item named ‘$trModule’
    
    349
    +      item named ‘$tc'Nested2’
    
    350
    +      item named ‘$krep17’
    
    351
    +  static-construction object ‘$tc'Nested2’:
    
    352
    +    data constructor name: TrNameS
    
    353
    +    lifted: yes
    
    354
    +    literals: address ‘$tc'Nested1’
    
    355
    +    utilized items: <none>
    
    356
    +  static-construction object ‘$krep17’:
    
    357
    +    data constructor name: KindRepFun
    
    358
    +    lifted: yes
    
    359
    +    literals: <none>
    
    360
    +    utilized items:
    
    361
    +      item named ‘$krep16’
    
    362
    +      item named ‘$krep13’
    
    363
    +  static-construction object ‘$krep16’:
    
    364
    +    data constructor name: KindRepTyConApp
    
    365
    +    lifted: yes
    
    366
    +    literals: <none>
    
    367
    +    utilized items:
    
    368
    +      item named ‘$tcPerfectTree’
    
    369
    +      item named ‘$krep15’
    
    370
    +  static-construction object ‘$krep15’:
    
    371
    +    data constructor name: :
    
    372
    +    lifted: yes
    
    373
    +    literals: <none>
    
    374
    +    utilized items:
    
    375
    +      item named ‘$krep4’
    
    376
    +      item named ‘[]’
    
    377
    +  static-construction object ‘$tc'PerfectTree’:
    
    378
    +    data constructor name: TyCon
    
    379
    +    lifted: yes
    
    380
    +    literals:
    
    381
    +      word 1216274636751977258
    
    382
    +      word 143956009589726941
    
    383
    +      word 1
    
    384
    +    utilized items:
    
    385
    +      item named ‘$trModule’
    
    386
    +      item named ‘$tc'PerfectTree2’
    
    387
    +      item named ‘$krep14’
    
    388
    +  static-construction object ‘$tc'PerfectTree2’:
    
    389
    +    data constructor name: TrNameS
    
    390
    +    lifted: yes
    
    391
    +    literals: address ‘$tc'PerfectTree1’
    
    392
    +    utilized items: <none>
    
    393
    +  static-construction object ‘$krep14’:
    
    394
    +    data constructor name: KindRepFun
    
    395
    +    lifted: yes
    
    396
    +    literals: <none>
    
    397
    +    utilized items:
    
    398
    +      item named ‘$krep1’
    
    399
    +      item named ‘$krep13’
    
    400
    +  static-construction object ‘$krep13’:
    
    401
    +    data constructor name: KindRepTyConApp
    
    402
    +    lifted: yes
    
    403
    +    literals: <none>
    
    404
    +    utilized items:
    
    405
    +      item named ‘$tcPerfectTree’
    
    406
    +      item named ‘$krep12’
    
    407
    +  static-construction object ‘$krep12’:
    
    408
    +    data constructor name: :
    
    409
    +    lifted: yes
    
    410
    +    literals: <none>
    
    411
    +    utilized items:
    
    412
    +      item named ‘$krep1’
    
    413
    +      item named ‘[]’
    
    414
    +  static-construction object ‘$tcPerfectTree’:
    
    415
    +    data constructor name: TyCon
    
    416
    +    lifted: yes
    
    417
    +    literals:
    
    418
    +      word 11330648440307610868
    
    419
    +      word 17396431681782259314
    
    420
    +      word 0
    
    421
    +    utilized items:
    
    422
    +      item named ‘$trModule’
    
    423
    +      item named ‘$tcPerfectTree2’
    
    424
    +      item named ‘krep$*Arr*’
    
    425
    +  static-construction object ‘$tcPerfectTree2’:
    
    426
    +    data constructor name: TrNameS
    
    427
    +    lifted: yes
    
    428
    +    literals: address ‘$tcPerfectTree1’
    
    429
    +    utilized items: <none>
    
    430
    +  static-construction object ‘$tc'Node’:
    
    431
    +    data constructor name: TyCon
    
    432
    +    lifted: yes
    
    433
    +    literals:
    
    434
    +      word 2884468726215238492
    
    435
    +      word 558166382591591938
    
    436
    +      word 2
    
    437
    +    utilized items:
    
    438
    +      item named ‘$trModule’
    
    439
    +      item named ‘$tc'Node2’
    
    440
    +      item named ‘$krep11’
    
    441
    +  static-construction object ‘$tc'Node2’:
    
    442
    +    data constructor name: TrNameS
    
    443
    +    lifted: yes
    
    444
    +    literals: address ‘$tc'Node1’
    
    445
    +    utilized items: <none>
    
    446
    +  static-construction object ‘$krep11’:
    
    447
    +    data constructor name: KindRepFun
    
    448
    +    lifted: yes
    
    449
    +    literals: <none>
    
    450
    +    utilized items:
    
    451
    +      item named ‘$krep7’
    
    452
    +      item named ‘$krep10’
    
    453
    +  static-construction object ‘$krep10’:
    
    454
    +    data constructor name: KindRepFun
    
    455
    +    lifted: yes
    
    456
    +    literals: <none>
    
    457
    +    utilized items:
    
    458
    +      item named ‘$krep’
    
    459
    +      item named ‘$krep9’
    
    460
    +  static-construction object ‘$krep9’:
    
    461
    +    data constructor name: KindRepFun
    
    462
    +    lifted: yes
    
    463
    +    literals: <none>
    
    464
    +    utilized items:
    
    465
    +      item named ‘$krep7’
    
    466
    +      item named ‘$krep7’
    
    467
    +  static-construction object ‘$tc'Leaf’:
    
    468
    +    data constructor name: TyCon
    
    469
    +    lifted: yes
    
    470
    +    literals:
    
    471
    +      word 7677223365245394977
    
    472
    +      word 14318463004604079067
    
    473
    +      word 2
    
    474
    +    utilized items:
    
    475
    +      item named ‘$trModule’
    
    476
    +      item named ‘$tc'Leaf2’
    
    477
    +      item named ‘$krep8’
    
    478
    +  static-construction object ‘$tc'Leaf2’:
    
    479
    +    data constructor name: TrNameS
    
    480
    +    lifted: yes
    
    481
    +    literals: address ‘$tc'Leaf1’
    
    482
    +    utilized items: <none>
    
    483
    +  static-construction object ‘$krep8’:
    
    484
    +    data constructor name: KindRepFun
    
    485
    +    lifted: yes
    
    486
    +    literals: <none>
    
    487
    +    utilized items:
    
    488
    +      item named ‘$krep1’
    
    489
    +      item named ‘$krep7’
    
    490
    +  static-construction object ‘$krep7’:
    
    491
    +    data constructor name: KindRepTyConApp
    
    492
    +    lifted: yes
    
    493
    +    literals: <none>
    
    494
    +    utilized items:
    
    495
    +      item named ‘$tcBinTree’
    
    496
    +      item named ‘$krep6’
    
    497
    +  static-construction object ‘$krep6’:
    
    498
    +    data constructor name: :
    
    499
    +    lifted: yes
    
    500
    +    literals: <none>
    
    501
    +    utilized items:
    
    502
    +      item named ‘$krep1’
    
    503
    +      item named ‘$krep5’
    
    504
    +  static-construction object ‘$krep5’:
    
    505
    +    data constructor name: :
    
    506
    +    lifted: yes
    
    507
    +    literals: <none>
    
    508
    +    utilized items:
    
    509
    +      item named ‘$krep’
    
    510
    +      item named ‘[]’
    
    511
    +  static-construction object ‘$tcBinTree’:
    
    512
    +    data constructor name: TyCon
    
    513
    +    lifted: yes
    
    514
    +    literals:
    
    515
    +      word 9824011489556756898
    
    516
    +      word 1356349741031249981
    
    517
    +      word 0
    
    518
    +    utilized items:
    
    519
    +      item named ‘$trModule’
    
    520
    +      item named ‘$tcBinTree2’
    
    521
    +      item named ‘krep$*->*->*’
    
    522
    +  static-construction object ‘$tcBinTree2’:
    
    523
    +    data constructor name: TrNameS
    
    524
    +    lifted: yes
    
    525
    +    literals: address ‘$tcBinTree1’
    
    526
    +    utilized items: <none>
    
    527
    +  static-construction object ‘$krep4’:
    
    528
    +    data constructor name: KindRepTyConApp
    
    529
    +    lifted: yes
    
    530
    +    literals: <none>
    
    531
    +    utilized items:
    
    532
    +      item named ‘$tcTuple2’
    
    533
    +      item named ‘$krep3’
    
    534
    +  static-construction object ‘$krep3’:
    
    535
    +    data constructor name: :
    
    536
    +    lifted: yes
    
    537
    +    literals: <none>
    
    538
    +    utilized items:
    
    539
    +      item named ‘$krep1’
    
    540
    +      item named ‘$krep2’
    
    541
    +  static-construction object ‘$krep2’:
    
    542
    +    data constructor name: :
    
    543
    +    lifted: yes
    
    544
    +    literals: <none>
    
    545
    +    utilized items:
    
    546
    +      item named ‘$krep1’
    
    547
    +      item named ‘[]’
    
    548
    +  static-construction object ‘$krep1’:
    
    549
    +    data constructor name: KindRepVar
    
    550
    +    lifted: yes
    
    551
    +    literals: word 0
    
    552
    +    utilized items: <none>
    
    553
    +  static-construction object ‘$krep’:
    
    554
    +    data constructor name: KindRepVar
    
    555
    +    lifted: yes
    
    556
    +    literals: word 1
    
    557
    +    utilized items: <none>
    
    558
    +  static-construction object ‘$trModule’:
    
    559
    +    data constructor name: Module
    
    560
    +    lifted: yes
    
    561
    +    literals: <none>
    
    562
    +    utilized items:
    
    563
    +      item named ‘$trModule2’
    
    564
    +      item named ‘$trModule4’
    
    565
    +  static-construction object ‘$trModule4’:
    
    566
    +    data constructor name: TrNameS
    
    567
    +    lifted: yes
    
    568
    +    literals: address ‘$trModule3’
    
    569
    +    utilized items: <none>
    
    570
    +  static-construction object ‘$trModule2’:
    
    571
    +    data constructor name: TrNameS
    
    572
    +    lifted: yes
    
    573
    +    literals: address ‘$trModule1’
    
    574
    +    utilized items: <none>
    
    575
    +  ordinary object ‘divides’:
    
    576
    +    arity: 3
    
    577
    +    literals: <none>
    
    578
    +    utilized items:
    
    579
    +      ordinary object ‘$dReal’:
    
    580
    +        arity: 0
    
    581
    +        literals:
    
    582
    +          label ‘’
    
    583
    +          label ‘’
    
    584
    +        utilized items:
    
    585
    +          ordinary object ‘divides’:
    
    586
    +            arity: 1
    
    587
    +            literals:
    
    588
    +              label ‘’
    
    589
    +              word 0
    
    590
    +              info table of ‘IS’
    
    591
    +            utilized items:
    
    592
    +              ordinary object ‘divides’:
    
    593
    +                arity: 0
    
    594
    +                literals: <none>
    
    595
    +                utilized items: item named ‘fromInteger’
    
    596
    +              item named ‘$p1Real’
    
    597
    +          ordinary object ‘divides’:
    
    598
    +            arity: 3
    
    599
    +            literals: label ‘’
    
    600
    +            utilized items:
    
    601
    +              ordinary object ‘divides’:
    
    602
    +                arity: 1
    
    603
    +                literals: label ‘’
    
    604
    +                utilized items: <none>
    
    605
    +              ordinary object ‘divides’:
    
    606
    +                arity: 1
    
    607
    +                literals: label ‘’
    
    608
    +                utilized items: <none>
    
    609
    +              item named ‘mod’
    
    610
    +          ordinary object ‘divides’:
    
    611
    +            arity: 0
    
    612
    +            literals: <none>
    
    613
    +            utilized items:
    
    614
    +              ordinary object ‘divides’:
    
    615
    +                arity: 0
    
    616
    +                literals: <none>
    
    617
    +                utilized items: item named ‘==’
    
    618
    +              item named ‘$p1Ord’
    
    619
    +          item named ‘$p2Real’
    
    620
    +      item named ‘$p1Integral’
    
    621
    +  ordinary object ‘Node’:
    
    622
    +    arity: 3
    
    623
    +    literals: info table of ‘Node’
    
    624
    +    utilized items: <none>
    
    625
    +  ordinary object ‘Leaf’:
    
    626
    +    arity: 1
    
    627
    +    literals: info table of ‘Leaf’
    
    628
    +    utilized items: <none>
    
    629
    +  ordinary object ‘Nested’:
    
    630
    +    arity: 1
    
    631
    +    literals: info table of ‘Nested’
    
    632
    +    utilized items: <none>
    
    633
    +  ordinary object ‘PerfectTree’:
    
    634
    +    arity: 1
    
    635
    +    literals: info table of ‘PerfectTree’
    
    636
    +    utilized items: <none>
    
    637
    +data constructor info tables:
    
    638
    +  info table of ‘PerfectTree’:
    
    639
    +    number of words for pointers: 1
    
    640
    +    number of words for non-pointers: 0
    
    641
    +  info table of ‘Nested’:
    
    642
    +    number of words for pointers: 1
    
    643
    +    number of words for non-pointers: 0
    
    644
    +  info table of ‘Leaf’:
    
    645
    +    number of words for pointers: 1
    
    646
    +    number of words for non-pointers: 0
    
    647
    +  info table of ‘Node’:
    
    648
    +    number of words for pointers: 3
    
    649
    +    number of words for non-pointers: 0
    
    650
    +top-level strings:
    
    651
    +  $tc'Nested1: "'Nested"
    
    652
    +  $tc'PerfectTree1: "'PerfectTree"
    
    653
    +  $tcPerfectTree1: "PerfectTree"
    
    654
    +  $tc'Node1: "'Node"
    
    655
    +  $tc'Leaf1: "'Leaf"
    
    656
    +  $tcBinTree1: "BinTree"
    
    657
    +  $trModule3: "Example"
    
    658
    +  $trModule1: "main"
    
    659
    +breakpoints: <none>
    
    660
    +static-pointer table entries:
    
    661
    +  ed7a1b0a13717c34cc10ea39e61d12f0: static
    
    662
    +  213042ce5bda1667c6629602bbd55756: static
    
    663
    +HPC information:
    
    664
    +  hash: 000000006110204f
    
    665
    +  module name: Example
    
    666
    +  tick box name: 
    
    667
    +  number of ticks: 45
    
    668
    +

  • testsuite/tests/show-bytecode/show-bytecode-vanilla.stdout
    1
    +[1 of 1] Compiling Example          ( Example.hs, Example.gbc )
    
    2
    +name: Example
    
    3
    +hash: 69e57c48badc5756110a3f9e1ece8f0a
    
    4
    +objects:
    
    5
    +  ordinary object ‘primesPtr’:
    
    6
    +    arity: 0
    
    7
    +    literals: <none>
    
    8
    +    utilized items:
    
    9
    +      item named ‘static’
    
    10
    +      item named ‘$dTypeable2’
    
    11
    +      item named ‘$fIsStaticStaticPtr’
    
    12
    +  static-construction object ‘static’:
    
    13
    +    data constructor name: StaticPtr
    
    14
    +    lifted: yes
    
    15
    +    literals:
    
    16
    +      word 2391484856205448807
    
    17
    +      word 14295153105712797526
    
    18
    +    utilized items:
    
    19
    +      item named ‘static’
    
    20
    +      item named ‘primes’
    
    21
    +  static-construction object ‘static’:
    
    22
    +    data constructor name: StaticPtrInfo
    
    23
    +    lifted: yes
    
    24
    +    literals: <none>
    
    25
    +    utilized items:
    
    26
    +      item named ‘static’
    
    27
    +      item named ‘static’
    
    28
    +      item named ‘static’
    
    29
    +  ordinary object ‘static’:
    
    30
    +    arity: 0
    
    31
    +    literals: top-level string "main"
    
    32
    +    utilized items:
    
    33
    +      ordinary object ‘static’:
    
    34
    +        arity: 0
    
    35
    +        literals: <none>
    
    36
    +        utilized items: item named ‘unpackCString#’
    
    37
    +  ordinary object ‘static’:
    
    38
    +    arity: 0
    
    39
    +    literals: top-level string "Example"
    
    40
    +    utilized items:
    
    41
    +      ordinary object ‘static’:
    
    42
    +        arity: 0
    
    43
    +        literals: <none>
    
    44
    +        utilized items: item named ‘unpackCString#’
    
    45
    +  static-construction object ‘static’:
    
    46
    +    data constructor name: (,)
    
    47
    +    lifted: yes
    
    48
    +    literals: <none>
    
    49
    +    utilized items:
    
    50
    +      item named ‘static’
    
    51
    +      item named ‘static’
    
    52
    +  static-construction object ‘static’:
    
    53
    +    data constructor name: I#
    
    54
    +    lifted: yes
    
    55
    +    literals: word 27
    
    56
    +    utilized items: <none>
    
    57
    +  static-construction object ‘static’:
    
    58
    +    data constructor name: I#
    
    59
    +    lifted: yes
    
    60
    +    literals: word 20
    
    61
    +    utilized items: <none>
    
    62
    +  ordinary object ‘primes2’:
    
    63
    +    arity: 0
    
    64
    +    literals: <none>
    
    65
    +    utilized items:
    
    66
    +      item named ‘primes2’
    
    67
    +      item named ‘isPrime’
    
    68
    +      item named ‘filter’
    
    69
    +  ordinary object ‘isPrime’:
    
    70
    +    arity: 1
    
    71
    +    literals: <none>
    
    72
    +    utilized items:
    
    73
    +      ordinary object ‘isPrime’:
    
    74
    +        arity: 1
    
    75
    +        literals: <none>
    
    76
    +        utilized items:
    
    77
    +          ordinary object ‘isPrime’:
    
    78
    +            arity: 1
    
    79
    +            literals: <none>
    
    80
    +            utilized items:
    
    81
    +              ordinary object ‘isPrime’:
    
    82
    +                arity: 1
    
    83
    +                literals:
    
    84
    +                  word 2
    
    85
    +                  info table of ‘IS’
    
    86
    +                utilized items:
    
    87
    +                  ordinary object ‘v’:
    
    88
    +                    arity: 0
    
    89
    +                    literals: <none>
    
    90
    +                    utilized items:
    
    91
    +                      item named ‘$fIntegralInteger’
    
    92
    +                      item named ‘$fNumNatural’
    
    93
    +                      item named ‘^’
    
    94
    +                  ordinary object ‘isPrime’:
    
    95
    +                    arity: 3
    
    96
    +                    literals: <none>
    
    97
    +                    utilized items: <none>
    
    98
    +                  ordinary object ‘v’:
    
    99
    +                    arity: 0
    
    100
    +                    literals: <none>
    
    101
    +                    utilized items:
    
    102
    +                      item named ‘$fOrdNatural’
    
    103
    +                      item named ‘<=’
    
    104
    +                  ordinary object ‘isPrime’:
    
    105
    +                    arity: 3
    
    106
    +                    literals: <none>
    
    107
    +                    utilized items: <none>
    
    108
    +                  item named ‘.’
    
    109
    +              item named ‘primes’
    
    110
    +              item named ‘takeWhile’
    
    111
    +          ordinary object ‘isPrime’:
    
    112
    +            arity: 2
    
    113
    +            literals: <none>
    
    114
    +            utilized items:
    
    115
    +              item named ‘$fIntegralNatural’
    
    116
    +              item named ‘divides’
    
    117
    +          item named ‘$fFoldableList’
    
    118
    +          item named ‘any’
    
    119
    +      item named ‘not’
    
    120
    +  static-construction object ‘primes’:
    
    121
    +    data constructor name: :
    
    122
    +    lifted: yes
    
    123
    +    literals: <none>
    
    124
    +    utilized items:
    
    125
    +      item named ‘primes1’
    
    126
    +      item named ‘primes2’
    
    127
    +  ordinary object ‘primes2’:
    
    128
    +    arity: 0
    
    129
    +    literals: <none>
    
    130
    +    utilized items:
    
    131
    +      ordinary object ‘primes2’:
    
    132
    +        arity: 0
    
    133
    +        literals:
    
    134
    +          word 3
    
    135
    +          info table of ‘IS’
    
    136
    +        utilized items:
    
    137
    +          item named ‘$fNumNatural’
    
    138
    +          item named ‘fromInteger’
    
    139
    +      item named ‘$fEnumNatural’
    
    140
    +      item named ‘enumFrom’
    
    141
    +  ordinary object ‘primes1’:
    
    142
    +    arity: 0
    
    143
    +    literals: <none>
    
    144
    +    utilized items:
    
    145
    +      item named ‘primes1’
    
    146
    +      item named ‘$fNumNatural’
    
    147
    +      item named ‘fromInteger’
    
    148
    +  static-construction object ‘primes1’:
    
    149
    +    data constructor name: IS
    
    150
    +    lifted: yes
    
    151
    +    literals: word 2
    
    152
    +    utilized items: <none>
    
    153
    +  ordinary object ‘fibonaccisPtr’:
    
    154
    +    arity: 0
    
    155
    +    literals: <none>
    
    156
    +    utilized items:
    
    157
    +      item named ‘static’
    
    158
    +      item named ‘$dTypeable2’
    
    159
    +      item named ‘$fIsStaticStaticPtr’
    
    160
    +  static-construction object ‘static’:
    
    161
    +    data constructor name: StaticPtr
    
    162
    +    lifted: yes
    
    163
    +    literals:
    
    164
    +      word 17112019464237448244
    
    165
    +      word 14704510317759369968
    
    166
    +    utilized items:
    
    167
    +      item named ‘static’
    
    168
    +      item named ‘fibonaccis’
    
    169
    +  static-construction object ‘static’:
    
    170
    +    data constructor name: StaticPtrInfo
    
    171
    +    lifted: yes
    
    172
    +    literals: <none>
    
    173
    +    utilized items:
    
    174
    +      item named ‘static’
    
    175
    +      item named ‘static’
    
    176
    +      item named ‘static’
    
    177
    +  ordinary object ‘static’:
    
    178
    +    arity: 0
    
    179
    +    literals: top-level string "main"
    
    180
    +    utilized items:
    
    181
    +      ordinary object ‘static’:
    
    182
    +        arity: 0
    
    183
    +        literals: <none>
    
    184
    +        utilized items: item named ‘unpackCString#’
    
    185
    +  ordinary object ‘static’:
    
    186
    +    arity: 0
    
    187
    +    literals: top-level string "Example"
    
    188
    +    utilized items:
    
    189
    +      ordinary object ‘static’:
    
    190
    +        arity: 0
    
    191
    +        literals: <none>
    
    192
    +        utilized items: item named ‘unpackCString#’
    
    193
    +  static-construction object ‘static’:
    
    194
    +    data constructor name: (,)
    
    195
    +    lifted: yes
    
    196
    +    literals: <none>
    
    197
    +    utilized items:
    
    198
    +      item named ‘static’
    
    199
    +      item named ‘static’
    
    200
    +  static-construction object ‘static’:
    
    201
    +    data constructor name: I#
    
    202
    +    lifted: yes
    
    203
    +    literals: word 15
    
    204
    +    utilized items: <none>
    
    205
    +  static-construction object ‘static’:
    
    206
    +    data constructor name: I#
    
    207
    +    lifted: yes
    
    208
    +    literals: word 24
    
    209
    +    utilized items: <none>
    
    210
    +  ordinary object ‘positiveFibonaccis2’:
    
    211
    +    arity: 0
    
    212
    +    literals: <none>
    
    213
    +    utilized items:
    
    214
    +      item named ‘positiveFibonaccis1’
    
    215
    +      item named ‘fibonaccis’
    
    216
    +      item named ‘positiveFibonaccis2’
    
    217
    +      item named ‘zipWith’
    
    218
    +  static-construction object ‘positiveFibonaccis1’:
    
    219
    +    data constructor name: :
    
    220
    +    lifted: yes
    
    221
    +    literals: <none>
    
    222
    +    utilized items:
    
    223
    +      item named ‘positiveFibonaccis’
    
    224
    +      item named ‘positiveFibonaccis2’
    
    225
    +  static-construction object ‘fibonaccis’:
    
    226
    +    data constructor name: :
    
    227
    +    lifted: yes
    
    228
    +    literals: <none>
    
    229
    +    utilized items:
    
    230
    +      item named ‘fibonaccis1’
    
    231
    +      item named ‘positiveFibonaccis1’
    
    232
    +  ordinary object ‘positiveFibonaccis2’:
    
    233
    +    arity: 0
    
    234
    +    literals: <none>
    
    235
    +    utilized items:
    
    236
    +      item named ‘$fNumNatural’
    
    237
    +      item named ‘+’
    
    238
    +  ordinary object ‘positiveFibonaccis’:
    
    239
    +    arity: 0
    
    240
    +    literals: <none>
    
    241
    +    utilized items:
    
    242
    +      item named ‘positiveFibonaccis’
    
    243
    +      item named ‘$fNumNatural’
    
    244
    +      item named ‘fromInteger’
    
    245
    +  static-construction object ‘positiveFibonaccis’:
    
    246
    +    data constructor name: IS
    
    247
    +    lifted: yes
    
    248
    +    literals: word 1
    
    249
    +    utilized items: <none>
    
    250
    +  ordinary object ‘fibonaccis1’:
    
    251
    +    arity: 0
    
    252
    +    literals: <none>
    
    253
    +    utilized items:
    
    254
    +      item named ‘fibonaccis1’
    
    255
    +      item named ‘$fNumNatural’
    
    256
    +      item named ‘fromInteger’
    
    257
    +  static-construction object ‘fibonaccis1’:
    
    258
    +    data constructor name: IS
    
    259
    +    lifted: yes
    
    260
    +    literals: word 0
    
    261
    +    utilized items: <none>
    
    262
    +  ordinary object ‘$dTypeable2’:
    
    263
    +    arity: 0
    
    264
    +    literals: <none>
    
    265
    +    utilized items:
    
    266
    +      item named ‘$dTypeable’
    
    267
    +      item named ‘$dTypeable1’
    
    268
    +      item named ‘mkTrAppChecked’
    
    269
    +  ordinary object ‘$dTypeable1’:
    
    270
    +    arity: 0
    
    271
    +    literals: info table of ‘[]’
    
    272
    +    utilized items:
    
    273
    +      item named ‘$tcList’
    
    274
    +      item named ‘mkTrCon’
    
    275
    +  ordinary object ‘$dTypeable’:
    
    276
    +    arity: 0
    
    277
    +    literals: info table of ‘[]’
    
    278
    +    utilized items:
    
    279
    +      item named ‘$tcNatural’
    
    280
    +      item named ‘mkTrCon’
    
    281
    +  static-construction object ‘$tc'Nested’:
    
    282
    +    data constructor name: TyCon
    
    283
    +    lifted: yes
    
    284
    +    literals:
    
    285
    +      word 4886352401159288042
    
    286
    +      word 15486177717927261000
    
    287
    +      word 1
    
    288
    +    utilized items:
    
    289
    +      item named ‘$trModule’
    
    290
    +      item named ‘$tc'Nested2’
    
    291
    +      item named ‘$krep17’
    
    292
    +  static-construction object ‘$tc'Nested2’:
    
    293
    +    data constructor name: TrNameS
    
    294
    +    lifted: yes
    
    295
    +    literals: address ‘$tc'Nested1’
    
    296
    +    utilized items: <none>
    
    297
    +  static-construction object ‘$krep17’:
    
    298
    +    data constructor name: KindRepFun
    
    299
    +    lifted: yes
    
    300
    +    literals: <none>
    
    301
    +    utilized items:
    
    302
    +      item named ‘$krep16’
    
    303
    +      item named ‘$krep13’
    
    304
    +  static-construction object ‘$krep16’:
    
    305
    +    data constructor name: KindRepTyConApp
    
    306
    +    lifted: yes
    
    307
    +    literals: <none>
    
    308
    +    utilized items:
    
    309
    +      item named ‘$tcPerfectTree’
    
    310
    +      item named ‘$krep15’
    
    311
    +  static-construction object ‘$krep15’:
    
    312
    +    data constructor name: :
    
    313
    +    lifted: yes
    
    314
    +    literals: <none>
    
    315
    +    utilized items:
    
    316
    +      item named ‘$krep4’
    
    317
    +      item named ‘[]’
    
    318
    +  static-construction object ‘$tc'PerfectTree’:
    
    319
    +    data constructor name: TyCon
    
    320
    +    lifted: yes
    
    321
    +    literals:
    
    322
    +      word 1216274636751977258
    
    323
    +      word 143956009589726941
    
    324
    +      word 1
    
    325
    +    utilized items:
    
    326
    +      item named ‘$trModule’
    
    327
    +      item named ‘$tc'PerfectTree2’
    
    328
    +      item named ‘$krep14’
    
    329
    +  static-construction object ‘$tc'PerfectTree2’:
    
    330
    +    data constructor name: TrNameS
    
    331
    +    lifted: yes
    
    332
    +    literals: address ‘$tc'PerfectTree1’
    
    333
    +    utilized items: <none>
    
    334
    +  static-construction object ‘$krep14’:
    
    335
    +    data constructor name: KindRepFun
    
    336
    +    lifted: yes
    
    337
    +    literals: <none>
    
    338
    +    utilized items:
    
    339
    +      item named ‘$krep1’
    
    340
    +      item named ‘$krep13’
    
    341
    +  static-construction object ‘$krep13’:
    
    342
    +    data constructor name: KindRepTyConApp
    
    343
    +    lifted: yes
    
    344
    +    literals: <none>
    
    345
    +    utilized items:
    
    346
    +      item named ‘$tcPerfectTree’
    
    347
    +      item named ‘$krep12’
    
    348
    +  static-construction object ‘$krep12’:
    
    349
    +    data constructor name: :
    
    350
    +    lifted: yes
    
    351
    +    literals: <none>
    
    352
    +    utilized items:
    
    353
    +      item named ‘$krep1’
    
    354
    +      item named ‘[]’
    
    355
    +  static-construction object ‘$tcPerfectTree’:
    
    356
    +    data constructor name: TyCon
    
    357
    +    lifted: yes
    
    358
    +    literals:
    
    359
    +      word 11330648440307610868
    
    360
    +      word 17396431681782259314
    
    361
    +      word 0
    
    362
    +    utilized items:
    
    363
    +      item named ‘$trModule’
    
    364
    +      item named ‘$tcPerfectTree2’
    
    365
    +      item named ‘krep$*Arr*’
    
    366
    +  static-construction object ‘$tcPerfectTree2’:
    
    367
    +    data constructor name: TrNameS
    
    368
    +    lifted: yes
    
    369
    +    literals: address ‘$tcPerfectTree1’
    
    370
    +    utilized items: <none>
    
    371
    +  static-construction object ‘$tc'Node’:
    
    372
    +    data constructor name: TyCon
    
    373
    +    lifted: yes
    
    374
    +    literals:
    
    375
    +      word 2884468726215238492
    
    376
    +      word 558166382591591938
    
    377
    +      word 2
    
    378
    +    utilized items:
    
    379
    +      item named ‘$trModule’
    
    380
    +      item named ‘$tc'Node2’
    
    381
    +      item named ‘$krep11’
    
    382
    +  static-construction object ‘$tc'Node2’:
    
    383
    +    data constructor name: TrNameS
    
    384
    +    lifted: yes
    
    385
    +    literals: address ‘$tc'Node1’
    
    386
    +    utilized items: <none>
    
    387
    +  static-construction object ‘$krep11’:
    
    388
    +    data constructor name: KindRepFun
    
    389
    +    lifted: yes
    
    390
    +    literals: <none>
    
    391
    +    utilized items:
    
    392
    +      item named ‘$krep7’
    
    393
    +      item named ‘$krep10’
    
    394
    +  static-construction object ‘$krep10’:
    
    395
    +    data constructor name: KindRepFun
    
    396
    +    lifted: yes
    
    397
    +    literals: <none>
    
    398
    +    utilized items:
    
    399
    +      item named ‘$krep’
    
    400
    +      item named ‘$krep9’
    
    401
    +  static-construction object ‘$krep9’:
    
    402
    +    data constructor name: KindRepFun
    
    403
    +    lifted: yes
    
    404
    +    literals: <none>
    
    405
    +    utilized items:
    
    406
    +      item named ‘$krep7’
    
    407
    +      item named ‘$krep7’
    
    408
    +  static-construction object ‘$tc'Leaf’:
    
    409
    +    data constructor name: TyCon
    
    410
    +    lifted: yes
    
    411
    +    literals:
    
    412
    +      word 7677223365245394977
    
    413
    +      word 14318463004604079067
    
    414
    +      word 2
    
    415
    +    utilized items:
    
    416
    +      item named ‘$trModule’
    
    417
    +      item named ‘$tc'Leaf2’
    
    418
    +      item named ‘$krep8’
    
    419
    +  static-construction object ‘$tc'Leaf2’:
    
    420
    +    data constructor name: TrNameS
    
    421
    +    lifted: yes
    
    422
    +    literals: address ‘$tc'Leaf1’
    
    423
    +    utilized items: <none>
    
    424
    +  static-construction object ‘$krep8’:
    
    425
    +    data constructor name: KindRepFun
    
    426
    +    lifted: yes
    
    427
    +    literals: <none>
    
    428
    +    utilized items:
    
    429
    +      item named ‘$krep1’
    
    430
    +      item named ‘$krep7’
    
    431
    +  static-construction object ‘$krep7’:
    
    432
    +    data constructor name: KindRepTyConApp
    
    433
    +    lifted: yes
    
    434
    +    literals: <none>
    
    435
    +    utilized items:
    
    436
    +      item named ‘$tcBinTree’
    
    437
    +      item named ‘$krep6’
    
    438
    +  static-construction object ‘$krep6’:
    
    439
    +    data constructor name: :
    
    440
    +    lifted: yes
    
    441
    +    literals: <none>
    
    442
    +    utilized items:
    
    443
    +      item named ‘$krep1’
    
    444
    +      item named ‘$krep5’
    
    445
    +  static-construction object ‘$krep5’:
    
    446
    +    data constructor name: :
    
    447
    +    lifted: yes
    
    448
    +    literals: <none>
    
    449
    +    utilized items:
    
    450
    +      item named ‘$krep’
    
    451
    +      item named ‘[]’
    
    452
    +  static-construction object ‘$tcBinTree’:
    
    453
    +    data constructor name: TyCon
    
    454
    +    lifted: yes
    
    455
    +    literals:
    
    456
    +      word 9824011489556756898
    
    457
    +      word 1356349741031249981
    
    458
    +      word 0
    
    459
    +    utilized items:
    
    460
    +      item named ‘$trModule’
    
    461
    +      item named ‘$tcBinTree2’
    
    462
    +      item named ‘krep$*->*->*’
    
    463
    +  static-construction object ‘$tcBinTree2’:
    
    464
    +    data constructor name: TrNameS
    
    465
    +    lifted: yes
    
    466
    +    literals: address ‘$tcBinTree1’
    
    467
    +    utilized items: <none>
    
    468
    +  static-construction object ‘$krep4’:
    
    469
    +    data constructor name: KindRepTyConApp
    
    470
    +    lifted: yes
    
    471
    +    literals: <none>
    
    472
    +    utilized items:
    
    473
    +      item named ‘$tcTuple2’
    
    474
    +      item named ‘$krep3’
    
    475
    +  static-construction object ‘$krep3’:
    
    476
    +    data constructor name: :
    
    477
    +    lifted: yes
    
    478
    +    literals: <none>
    
    479
    +    utilized items:
    
    480
    +      item named ‘$krep1’
    
    481
    +      item named ‘$krep2’
    
    482
    +  static-construction object ‘$krep2’:
    
    483
    +    data constructor name: :
    
    484
    +    lifted: yes
    
    485
    +    literals: <none>
    
    486
    +    utilized items:
    
    487
    +      item named ‘$krep1’
    
    488
    +      item named ‘[]’
    
    489
    +  static-construction object ‘$krep1’:
    
    490
    +    data constructor name: KindRepVar
    
    491
    +    lifted: yes
    
    492
    +    literals: word 0
    
    493
    +    utilized items: <none>
    
    494
    +  static-construction object ‘$krep’:
    
    495
    +    data constructor name: KindRepVar
    
    496
    +    lifted: yes
    
    497
    +    literals: word 1
    
    498
    +    utilized items: <none>
    
    499
    +  static-construction object ‘$trModule’:
    
    500
    +    data constructor name: Module
    
    501
    +    lifted: yes
    
    502
    +    literals: <none>
    
    503
    +    utilized items:
    
    504
    +      item named ‘$trModule2’
    
    505
    +      item named ‘$trModule4’
    
    506
    +  static-construction object ‘$trModule4’:
    
    507
    +    data constructor name: TrNameS
    
    508
    +    lifted: yes
    
    509
    +    literals: address ‘$trModule3’
    
    510
    +    utilized items: <none>
    
    511
    +  static-construction object ‘$trModule2’:
    
    512
    +    data constructor name: TrNameS
    
    513
    +    lifted: yes
    
    514
    +    literals: address ‘$trModule1’
    
    515
    +    utilized items: <none>
    
    516
    +  ordinary object ‘divides’:
    
    517
    +    arity: 3
    
    518
    +    literals: <none>
    
    519
    +    utilized items:
    
    520
    +      ordinary object ‘$dReal’:
    
    521
    +        arity: 0
    
    522
    +        literals: <none>
    
    523
    +        utilized items:
    
    524
    +          ordinary object ‘divides’:
    
    525
    +            arity: 1
    
    526
    +            literals:
    
    527
    +              word 0
    
    528
    +              info table of ‘IS’
    
    529
    +            utilized items:
    
    530
    +              ordinary object ‘divides’:
    
    531
    +                arity: 0
    
    532
    +                literals: <none>
    
    533
    +                utilized items: item named ‘fromInteger’
    
    534
    +              item named ‘$p1Real’
    
    535
    +          ordinary object ‘divides’:
    
    536
    +            arity: 3
    
    537
    +            literals: <none>
    
    538
    +            utilized items: item named ‘mod’
    
    539
    +          ordinary object ‘divides’:
    
    540
    +            arity: 0
    
    541
    +            literals: <none>
    
    542
    +            utilized items:
    
    543
    +              ordinary object ‘divides’:
    
    544
    +                arity: 0
    
    545
    +                literals: <none>
    
    546
    +                utilized items: item named ‘==’
    
    547
    +              item named ‘$p1Ord’
    
    548
    +          item named ‘$p2Real’
    
    549
    +      item named ‘$p1Integral’
    
    550
    +  ordinary object ‘Node’:
    
    551
    +    arity: 3
    
    552
    +    literals: info table of ‘Node’
    
    553
    +    utilized items: <none>
    
    554
    +  ordinary object ‘Leaf’:
    
    555
    +    arity: 1
    
    556
    +    literals: info table of ‘Leaf’
    
    557
    +    utilized items: <none>
    
    558
    +  ordinary object ‘Nested’:
    
    559
    +    arity: 1
    
    560
    +    literals: info table of ‘Nested’
    
    561
    +    utilized items: <none>
    
    562
    +  ordinary object ‘PerfectTree’:
    
    563
    +    arity: 1
    
    564
    +    literals: info table of ‘PerfectTree’
    
    565
    +    utilized items: <none>
    
    566
    +data constructor info tables:
    
    567
    +  info table of ‘PerfectTree’:
    
    568
    +    number of words for pointers: 1
    
    569
    +    number of words for non-pointers: 0
    
    570
    +  info table of ‘Nested’:
    
    571
    +    number of words for pointers: 1
    
    572
    +    number of words for non-pointers: 0
    
    573
    +  info table of ‘Leaf’:
    
    574
    +    number of words for pointers: 1
    
    575
    +    number of words for non-pointers: 0
    
    576
    +  info table of ‘Node’:
    
    577
    +    number of words for pointers: 3
    
    578
    +    number of words for non-pointers: 0
    
    579
    +top-level strings:
    
    580
    +  $tc'Nested1: "'Nested"
    
    581
    +  $tc'PerfectTree1: "'PerfectTree"
    
    582
    +  $tcPerfectTree1: "PerfectTree"
    
    583
    +  $tc'Node1: "'Node"
    
    584
    +  $tc'Leaf1: "'Leaf"
    
    585
    +  $tcBinTree1: "BinTree"
    
    586
    +  $trModule3: "Example"
    
    587
    +  $trModule1: "main"
    
    588
    +breakpoints: <none>
    
    589
    +static-pointer table entries:
    
    590
    +  ed7a1b0a13717c34cc10ea39e61d12f0: static
    
    591
    +  213042ce5bda1667c6629602bbd55756: static
    
    592
    +HPC information: <none>
    
    593
    +