Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#4232 closed bug (fixed)

Finish and merge new typechecker branch

Reported by: igloo Owned by: simonpj
Priority: high Milestone: 7.0.1
Component: Compiler (Type checker) Version: 6.13
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Difficulty:
Test Case: Blocked By:
Blocking: Related Tickets:

Description

Finish and merge new typechecker branch

Change History (21)

comment:1 Changed 4 years ago by igloo

  • Blocking 2683 added

comment:2 Changed 4 years ago by igloo

  • Blocking 3927 added

comment:3 Changed 4 years ago by igloo

  • Blocking 4093 added

comment:4 Changed 4 years ago by igloo

  • Blocking 3787 added

comment:5 Changed 4 years ago by igloo

  • Blocking 3826 added

comment:6 Changed 4 years ago by igloo

  • Blocking 4174 added

comment:7 Changed 4 years ago by igloo

  • Blocking 4178 added

comment:8 Changed 4 years ago by igloo

  • Blocking 4179 added

comment:9 Changed 4 years ago by igloo

  • Blocking 4226 added

comment:10 Changed 4 years ago by igloo

  • Blocking 4224 added

comment:11 Changed 4 years ago by igloo

  • Blocking 2296 added

comment:12 Changed 4 years ago by igloo

  • Blocking 3330 added

comment:13 Changed 4 years ago by igloo

  • Blocking 3554 added

comment:14 Changed 4 years ago by igloo

  • Blocking 3714 added

comment:15 Changed 4 years ago by igloo

  • Blocking 4254 added

comment:16 Changed 4 years ago by simonpj

  • Blocking 4186 added

(In #4186) It's quite an independent bug. Actually I don't think -fdicts-strict has ever worked. I'm not sure why it's put as high priority because at most it's an experimental performance improvement possibility. I don't really want to look at it until the new typechecker changes are in (because it touches some of the same code).

If it's more important than I think, yell.

Simon

comment:17 Changed 4 years ago by simonpj

  • Blocking 4160 added

comment:18 Changed 4 years ago by simonpj

  • Blocking 4259 added

(In #4259) If I'm getting this right, overlap is OK if, but only if, the overlapping instances are all declared in the same module. If they come in different modules there's a danger that the type checker will rewrite (F [Int]) to Bool in one place, and to Char in another, and that's unsound. This is to do with soundness, not termination.

We have not implemented the "overlap ok within one module" feature yet. So it's a feature request, but it's one that I think will be popular. We'll look at it after the new type checker is working.

comment:19 Changed 4 years ago by simonpj

  • Blocking 816 added

comment:20 Changed 4 years ago by simonpj

  • Resolution set to fixed
  • Status changed from new to closed

New typechecker works, so we are unblocked.

Simon

comment:21 Changed 4 years ago by igloo

  • Blocking 816, 2296, 2683, 3330, 3554, 3714, 3787, 3826, 3927, 4093, 4160, 4174, 4178, 4179, 4186, 4224, 4226, 4254, 4259 removed
Note: See TracTickets for help on using tickets.