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
The algebraic type combinators can be used in a limited way to encode polymorphic variants and record types, but they are not extensible. We have a few cases of polymorhic variant inheritance (Rinherit) in the Irmin repository that cannot be efficiently (or automatically) represented because of this.
It would be nice to look into encoding these types properly at some point.
This allows to write things like:
```
type 'a s = [ `S of int | `R ] [@@deriving repr]
type my_polyvar = [ s | `T of string ] [@@deriving repr]
```
Related to mirage#4
samoht
added a commit
to samoht/repr
that referenced
this issue
Jul 2, 2022
This allows to write things like:
```
type 'a s = [ `S of int | `R ] [@@deriving repr]
type my_polyvar = [ s | `T of string ] [@@deriving repr]
```
Related to mirage#4
samoht
added a commit
to samoht/repr
that referenced
this issue
Jul 2, 2022
This allows to write things like:
```
type 'a s = [ `S of int | `R ] [@@deriving repr]
type my_polyvar = [ s | `T of string ] [@@deriving repr]
```
Related to mirage#4
The algebraic type combinators can be used in a limited way to encode polymorphic variants and record types, but they are not extensible. We have a few cases of polymorhic variant inheritance (
Rinherit
) in the Irmin repository that cannot be efficiently (or automatically) represented because of this.It would be nice to look into encoding these types properly at some point.
(Originally reported at mirage/irmin#1102.)
The text was updated successfully, but these errors were encountered: