Slightly, off-topic, but just because I've been spending my last couple of days trying to shoehorn an inheritance-based subytping type system into Haskell (without full OO-power, so no methods or mutable state.)
> Oleg/Ralf's HList paper covers all the ground for first-class records. It > depends heavily on overlaps, which is why the NewAxioms stuff would work > in really well. I've been kicking around the idea of re-implementing HList on the basis of the new DataKinds [1] extension. I don't know if there'd be much of a need for that, though. More generally, I'm wondering what can be done on extensible records and inheritance-based type systems with FC-pro under one's belt… Here's one thing I don't like about the "current" way HList-based extensible record are represented (and used in OOHaskell [2]): the access time is linear in the number of records a certain type has. Somehow just the thought of "reorder the records in your constructors to make your program go faster" makes me cringe a little. Oleg and Ralf do hint at implementing some binary search tree based technique to alleviate the problem, but I have no idea how to go about it, except extending the compiler. ~ A. References [1] Yorgey, Brent A., et al. "Giving Haskell a promotion." Proceedings of the 8th ACM SIGPLAN workshop on Types in language design and implementation. ACM, 2012. [2] Kiselyov, Oleg, and Ralf Lämmel. "Haskell's overlooked object system." arXiv preprint cs/0509027 (2005).
signature.asc
Description: Digital signature
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe