Opened 10 years ago

Closed 10 years ago

Last modified 7 years ago

#75 closed defect (fixed)

Unresolved TApp during inference

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

Description (last modified by benl)

Added by Jared

example list = do
    dummy = map id list
    list.head

Gives

ddc: PANIC in Type.Squid.CrushProj
        crushProjClassT: no match for (* -> *)20 *24

The example succeeds when the projection is removed in favor of its corresponding function. The example also fails for variants using let and where and when dummy is removed. If dummy is replaced by an underscore, the failure message is the same for a do block, but let and where clauses trigger a different compiler error.

Type.Crush.Proj.crushProjClass3 is expecting a fully formed TData - but the result type of map is a TApp which it gets from the sig in the Functor class definition.

Test is T75-UnresolvedTApp

Change History (3)

comment:1 Changed 10 years ago by benl

  • Description modified (diff)

comment:2 Changed 10 years ago by benl

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

Fixed by the inferencer refactoring.

comment:3 Changed 7 years ago by benl

  • Milestone 0.1.3 deleted

Milestone 0.1.3 deleted

Note: See TracTickets for help on using tickets.