claytext demo

This page serves to demonstrate the capabilities of the clayoven engine

Functors

Definition ap {A B : Type} (f : A -> B) {x y : A} (p : x = y) : f x = f y
  := match p with idpath => idpath end.
template <size_t i, typename... Ts, typename CurTy>
void recurseFillChildren(CurTy &E)
{
  using PackTy = std::variant<Ts...>;
  using TyL = std::variant_alternative_t<i - 1, PackTy>;
  static_assert(std::is_same_v<CurTy, TyL>);
  using TyR = std::variant_alternative_t<i, PackTy>;

  for (i32 j = 0; j < E.NChildren; ++j)
  {
    E.Children.push_back(miniParser<TyR>());
    if constexpr (i + 1 < sizeof...(Ts))
      recurseFillChildren<i + 1, Ts...>(E.Children.back());
  }
};
/math/inf/sset/14.svg
  1. is a field.
  1. The Split dominates the Merge.