Skip to content

bad type function accepted as inductively sequential #104

@GoogleCodeExporter

Description

@GoogleCodeExporter
data Baz :: * ~> * ~> * where
  Quux :: Baz Int Int

bar :: * ~> *
{bar (a `Baz` b)} = a
{bar (Baz a b)} = a

prompt> :k bar
bar :: *0 ~> *0

Branchx [0] {bar a}
 Leaf {bar (Baz b c)} --> b
 Leaf {bar (Baz d e)} --> d


But the two leaves are alpha-equivalent!

Original issue reported on code.google.com by ggr...@gmail.com on 9 Sep 2011 at 12:30

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions