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
As previously discussed, parameterized signatures would cut down on typical where type boilerplate. Given that we already have type constructors and functors it would actually be less surprising to users that signatures could also be parameterized.
Signature members would take us most of the way (e.g. functor MkSig (M: sig type t end) :> sig signature S = sig type t = M.t end end = ... and signature SIG = MkSig(type t = int).S but such encodings are still annoying.
The text was updated successfully, but these errors were encountered:
I agree. Parameterized signatures (signature functors) are an obvious extension that presents no obvious problems.
Dave
On Jul 10, 2019, at 1:12 AM, Pauli Jaakkola ***@***.***> wrote:
As previously discussed <#8 (comment)>, parameterized signatures would cut down on typical where type boilerplate. Given that we already have type constructors and functors it would actually be less surprising to users that signatures could also be parameterized.
Signature members <#39> would take us most of the way (e.g. functor MkSig (M: sig type t end) :> sig signature S = sig type t = M.t end end = ... and signature SIG = MkSig(type t = int).S but such encodings are still annoying.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub <#40?email_source=notifications&email_token=AAGXNPIMZSFQQBFO632CYBTP6WKWNA5CNFSM4H7MVO62YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G6JDYCA>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AAGXNPODKUIYRL7HM7IQINDP6WKWNANCNFSM4H7MVO6Q>.
As previously discussed, parameterized signatures would cut down on typical
where type
boilerplate. Given that we already have type constructors and functors it would actually be less surprising to users that signatures could also be parameterized.Signature members would take us most of the way (e.g.
functor MkSig (M: sig type t end) :> sig signature S = sig type t = M.t end end = ...
andsignature SIG = MkSig(type t = int).S
but such encodings are still annoying.The text was updated successfully, but these errors were encountered: