unison/unison-src/transcripts/fix1844.output.md
2021-08-23 14:05:37 -07:00

681 B

structural type One a = One a 
unique type Woot a b c = Woot a b c
unique type Z = Z

snoc k aN = match k with 
  One a0 -> Woot (One a0) (One aN) 99

> snoc (One 1) 2

  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`:
    
      structural type One a
      unique type Woot a b c
      unique type Z
      snoc : One a -> aN -> Woot (One a) (One aN) ##Nat
  
  Now evaluating any watch expressions (lines starting with
  `>`)... Ctrl+C cancels.

    8 | > snoc (One 1) 2
          ⧩
          Woot (One 1) (One 2) 99