diff --git a/book/Dynamic.kind2 b/book/Dynamic.kind2 new file mode 100644 index 0000000..a461756 --- /dev/null +++ b/book/Dynamic.kind2 @@ -0,0 +1,30 @@ +data Dynamic +| new (value: T) + +Dynamic/new +- value: T +: (Dynamic T) += ~λP λnew λvalue value + + +Dynamic/match +- P: (Dynamic A) -> * +- n: ∀(value: A) (P (Dynamic/new A value)) +- dyn: (Dynamic A) +: (P dyn) += (~dyn P n) + + +Dynamaic/type_of +- dyn: (Dynamic T) +: * += T + + +Dynamic/value_of +- dyn: (Dynamic T) +: T + +match dyn { + Dynamic/new: dyn.value +}