Skip to content

Solve holes in nats in typeEqRigid #82

@acl-cqc

Description

@acl-cqc

https://github.com/CQCL/brat/blob/e6e37a9bb264957679cbcafd4c9b96583b42a1e0/brat/Brat/Checker/SolveHoles.hs#L140-L141

We are not even trying to solve holes, this is probably what's hitting us with examples such as

unfull(n :: #, v :: Vec(Bool, full(n))) -> Nat
unfull(n, _) = n

two :: Nat
two = unfull(!, [false, false, false])

with error message (on branch just-nat-solving (#70) or inference-wip/fork)

Expected vector of length (2^(VPar In check_defs_1_two_1_Eval 0) - 1)
from the type:  Vec(Bool, (2^(VPar In check_defs_1_two_1_Eval 0) - 1))
but got vector: [false(()),false(()),false(())]
of length (> 0)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions