edwinb / Idris2-boot

A dependently typed programming language, a successor to Idris
https://idris-lang.org/
Other
902 stars 58 forks source link

'addclause' client command fails to produce a meaningful definition for helpers under 'where' blocks #341

Open rgrover opened 4 years ago

rgrover commented 4 years ago

Steps to Reproduce

Attempting to generate a trivial definition for the go helper function (below) fails to produce meaningful results. The behaviour can also be reproduced by running idris2 from the command line: idris2 GeneratingTrivialDefiniton.idr --client ":ac! 6 go"

module GeneratingTrivialDefiniton

recurse : (n : Nat) -> Nat
recurse n = go n 0
  where
    go : (x : Nat) -> (acc: Nat) -> Nat

Expected Behavior

module GeneratingTrivialDefiniton

recurse : (n : Nat) -> Nat
recurse n = go n 0
  where
    go : (x : Nat) -> (acc: Nat) -> Nat
    go x acc = ?go_rhs

Observed Behavior

module GeneratingTrivialDefiniton

recurse : (n : Nat) -> Nat
recurse n = go n 0
  where
    go : (x : Nat) -> (acc: Nat) -> Nat
    1143:235:go x acc = ?1143:235:go_rhs