Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
template<typename Out, typename Algebra>
Out cata(Algebra f, expression const& ast)
{
return f(
fmap(
[f](expression const& e) -> Out { return cata<Out>(f, e); },
ast.get()));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment