Skip to content

Rework lowering of BigNat# literals in CorePrep

Matthew Craven requested to merge wip/T23942 into master

Don't use bigNatFromWordList#, because that's terrible:

  • We shouldn't have to traverse a linked list at run-time to build a BigNat# literal. That's just silly!
  • The static List object we have to create is much larger than the actual BigNat#'s contents, bloating code size
  • We have to read the corresponding interface file, which causes un-tracked implicit dependencies (#23942 (closed))

TODOs:

  • un-wire bigNatFromWordList#
  • remove the many references to Note [Depend on GHC.Num.Integer]
Edited by Matthew Craven

Merge request reports