You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
bound provides a really good method to simplify alpha substitution and perform it efficiently. While we may not use bound itself, its approach should 100% be part of how Covenant is represented in Haskell. However, a disadvantage of bound is that it forces a tree-like structure on anything it's used with.
This can be quite inefficient for sharing, which bloats representation size and potentially makes it more difficult for tooling to work. In particular, it inhibits hash consing, which we ideally would like to be possible.
We need to investigate how the bound approach (even in a simplified form) could be combined with hash consing, or if it's not possible, what exactly blocks it.
The text was updated successfully, but these errors were encountered:
bound
provides a really good method to simplify alpha substitution and perform it efficiently. While we may not usebound
itself, its approach should 100% be part of how Covenant is represented in Haskell. However, a disadvantage ofbound
is that it forces a tree-like structure on anything it's used with.This can be quite inefficient for sharing, which bloats representation size and potentially makes it more difficult for tooling to work. In particular, it inhibits hash consing, which we ideally would like to be possible.
We need to investigate how the
bound
approach (even in a simplified form) could be combined with hash consing, or if it's not possible, what exactly blocks it.The text was updated successfully, but these errors were encountered: