hi, i’ve just finished a generic tuple ordering implementation - as promised. see: https://github.com/rapido/spread/blob/master/avail/ordering.avail
please feel free to suggest alternatives. and yes please, i would like to have a copy of todd’s paper! cheers, Robbert. > On 04 Jan 2015, at 06:18, Mark van Gulik <[email protected]> wrote: > > Todd wrote a very interesting paper about statically checking in a way that’s > sort of orthogonal to the type system. It didn’t get accepted for > publication, however, mostly because of its dependence on novel features of > Avail. He or I can send you a copy if you want, although it might contain > some spoilers :-). > > >> On Jan 3, 2015, at 12:25 PM, Robbert van Dalen <[email protected]> >> wrote: >> >> 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 >
