thank you for taking your time discussing this. > Having read the indicated section at the link you provided (and the rest of > the page), it appears that Avail’s object types are a close fit for > implementing extensible records
indeed, after reading your elaborate exposition of the avail object type system, it appears that they are a close fit. however, there is one snag: object fields have no natural ordering, whilst tuple fields obviously do (i could be wrong). while the notion of equality in avail is very well designed and first class, i believe that ordering (less than, greater than) is less developed. for instance, i would like to be able to order tuples (if they contain elements that can also be ordered). next to that, there are no primitive ordered sets or maps. one challenge i’d like to take on is whether it is possible to implement a generic avail library that can order almost everything out-of-the-box, without any boilerplate. note that in scala, (boilerplate free) generic ordering can be achieved via implicits; in haskell, via type classes. probably, you or todd can implement such library in a day or so. but please don’t. let me have a stab at it - in order for me to learn more about avail. cheers, - robbert
