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

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to