Avi Bryant

Results 82 comments of Avi Bryant

I haven't though through this in detail yet but my initial impression is that I love it.

I guess one alternative which doesn't require extra imports is to put the implicits on a package object? Not sure how I feel about that (I have the sense people...

I don't actually have a need for it right now but if I do, I will :)

Looks interesting, but I suspect it's not associative (or commutative).

Probably unhelpful comment: those types remind me of shapeless' HList.

I'm too lazy to think about this right this second, but it seems like there might be an infix type constructor notation that would make these nested options less awkward.

Yeah, so if you do a right-associative infix type constructor it works: ``` scala type >>:[A,B] = (A,Option[B]) type StringIntDoubleRollup = Option[String >>: Int >>: Double] val x: StringIntDoubleRollup =...

Quick pointer: this is related to the level parameter in https://github.com/twitter/algebird/blob/develop/algebird-core/src/main/scala/com/twitter/algebird/QTree.scala#L45. For a `Double` this defaults to `-16` (which is to say, the smallest resolution is 2^-16). For a `Long`...

@sritchie how do you see this working? I can see defining a bunch of thrift structs that mirror the existing algebird case classes, and making sure all the logic for...

Bufferable makes me uneasy, to be honest; feels like a step backwards. Having a good separate spec for the structures and their serialization - that could even be used from...