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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions