I don't think the internal storage of tuples vs records is the difficulty that Max is pointing out. (I think your assumption is correct, that they are built similarly "under the hood.") Rather, the difficulty is that these tuple accessors would require a major extension to Elm's type system.
On Tue, Dec 27, 2016 at 8:49 AM, Mike MacDonald <[email protected]> wrote: > I was assuming the mechanism used for records with a certain field (types > like `{ a | field : t }` could be reused here, but maybe the internal > storage of records and tuples is divergent. > > > On Tuesday, December 27, 2016 at 11:38:24 AM UTC-5, Max Goldstein wrote: >> >> This solution would require some not-currently-in-place polymorphism >> since .0 can access the first field in tuples of many sizes. That is, you'd >> need one signature that comprises all of: >> >> .0 : (a, b) -> a >> .0 : (a, b, c) -> a >> .0 : (a, b, c, d) -> a >> ... and so on >> >> It sounds like the third-party library should be using records; maybe you >> can ask them to change their API? I haven't seen many good uses of >> n-tuples, n > 2, recently. >> >> >> -- > You received this message because you are subscribed to the Google Groups > "Elm Discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
