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
> 

Reply via email to