Replies: 3 comments 3 replies
-
As far as I'm aware of the ecosystem, row type polymorphism is mainly used to achieve the following goals:
|
Beta Was this translation helpful? Give feedback.
-
I think that if we fail to find a way to implement RTP as a zero-runtime-cost abstraction, we should give up on it, because, as we know from Haskell experience, using a FP language with no RTP is just fine. And we are not even building a general purpose language - just a glorified DSL. |
Beta Was this translation helpful? Give feedback.
-
In practice having polymorphic types is also useful to share type definitions like:
I wonder if it is feasible to keep row RTP in the type system but require full manual specialization of value types.
I fully agree with this if I can share my user opinion. Maybe even smaller language (better error messages?) would be easier to use in this context. |
Beta Was this translation helpful? Give feedback.
-
Regarding row type polymorphism (RTP for short from now on), which is the only non-trivial language feature that we have to implement, we have to consider two questions:
I. What value does it bring to the PS ecosystem and how is it relevant for the on-chain scripts domain
II. What costs are we willing to pay for RTP?
Beta Was this translation helpful? Give feedback.
All reactions