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());
}
};
-
is a field.
- The Split dominates the Merge.