Skip to content

Instantly share code, notes, and snippets.

@useronym
Last active November 27, 2018 17:13
Show Gist options
  • Save useronym/dc95741968112fbf1170168493fce15d to your computer and use it in GitHub Desktop.
Save useronym/dc95741968112fbf1170168493fce15d to your computer and use it in GitHub Desktop.
open import Size
mutual
data Delay (A : Set) (i : Size) : Set where
now : A → Delay A i
later : ∞Delay A i → Delay A i
record ∞Delay (A : Set) (i : Size) : Set where
coinductive
field
force : {j : Size< i} → Delay A j
open ∞Delay public
never : ∀ {i A} → Delay A i
never {i} = later λ where .force {j} → never {i}
_ : Size< ∞
_ = ∞
never' : ∀ {A} → Delay A ∞
never' = later λ where .force → never'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment