Ticket #154 (closed refactor: fixed)

Opened 5 years ago

Last modified 4 years ago

Refactor TFetters to TConstrained

Reported by: benl Owned by: benl
Priority: blocker Milestone: 0.1.3
Component: Source Type Inferencer Version: 0.1.2
Keywords: Cc:

Description

TFetters contains type constraints in an unsorted list, which is death to performance. We really want to keep type constraints in several finite maps, depending on what sort they are. I've abandoned a previous attempt where I simply removed TFetters and switched to TConstrained, but it was going to take far too long to get the compiler building again.

Better to have both TFetters and TConstrained for a while. We can convert between the representations on the border to performance critical sections like Type.Util.Pack. Having done this we can clean up this module, and others like it, and keep the whole thing working as we move through.

Change History

Changed 4 years ago by benl

  • status changed from new to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.