unison/unison-src/transcripts/fix2156.output.md
Dan Doel e742dfb642 Guard against improper eta reductions
- The eta reducer was converting `x -> f x x` to `f x`
2021-11-10 17:35:27 -05:00

507 B

Tests for a case where bad eta reduction was causing erroneous watch output/caching.

sqr : Nat -> Nat
sqr n = n * n

> sqr

  I found and typechecked these definitions in scratch.u. If you
  do an `add` or `update`, here's how your codebase would
  change:
  
    ⍟ These new definitions are ok to `add`:
    
      sqr : Nat -> Nat
  
  Now evaluating any watch expressions (lines starting with
  `>`)... Ctrl+C cancels.

    4 | > sqr
          ⧩
          n -> n Nat.* n