unison/unison-src/transcripts/dependents-dependencies-debugfile.output.md
Greg Pfeil 0031542faf
Add a space before code block info strings
This is for consistency with the `cmark` style. Now the blocks we still
pretty-print ourselves will match the bulk of them that `cmark`
produces.
2024-07-10 13:56:07 -06:00

2.0 KiB

debug.file

I can use debug.file to see the hashes of the last typechecked file.

Given this .u file:

structural type outside.A = A Nat outside.B
structural type outside.B = B Int
outside.c = 3
outside.d = c < (p + 1)

structural type inside.M = M outside.A
inside.p = c
inside.q x = x + p * p
inside.r = d
scratch/main> debug.file

  type inside.M#h37a56c5ep
  type outside.A#6l6krl7n4l
  type outside.B#eo6rj0lj1b
  inside.p#htoo5rnb54
  inside.q#vtdbqaojv6
  inside.r#nkgohbke6n
  outside.c#f3lgjvjqoo
  outside.d#ukd7tu6kds

This will help me make progress in some situations when UCM is being deficient or broken.

dependents / dependencies

But wait, there's more. I can check the dependencies and dependents of a definition:

scratch/main> add

  ⍟ I've added these definitions:
  
    structural type inside.M
    structural type outside.A
    structural type outside.B
    inside.p  : Nat
    inside.q  : Nat -> Nat
    inside.r  : Boolean
    outside.c : Nat
    outside.d : Boolean

scratch/main> dependents q

  q has no dependents.

scratch/main> dependencies q

  Dependencies of: q
  
    Types:
  
    1. Nat
  
    Terms:
  
    2. Nat.*
    3. Nat.+
    4. p
  
  Tip: Try `view 4` to see the source of any numbered item in
       the above list.

scratch/main> dependencies B

  Dependencies of: type B, B
  
    Types:
  
    1. B
    2. Int
  
  Tip: Try `view 2` to see the source of any numbered item in
       the above list.

scratch/main> dependencies d

  Dependencies of: d
  
    Types:
  
    1. Boolean
    2. Nat
  
    Terms:
  
    3. <
    4. c
    5. Nat.+
    6. p
  
  Tip: Try `view 6` to see the source of any numbered item in
       the above list.

scratch/main> dependents d

  Dependents of: d
  
    Terms:
  
    1. r
  
  Tip: Try `view 1` to see the source of any numbered item in
       the above list.

We don't have an index for dependents of constructors, but iirc if you ask for that, it will show you dependents of the structural type that provided the constructor.