Sir Wabbit

Results 16 comments of Sir Wabbit

I recently made some major modifications to `newtypes`. The current encoding of translucent types is almost identical to `@@`, the only difference is that `@translucent type A = Int` defines...

See https://github.com/scalaz/scalaz/pull/1450#issuecomment-332288733 for an explanation of the current encoding.

How about ```scala /** * A type class used to represent a hashing scheme for objects of a given type. */ trait Hashable[@sp A] extends Any with Serializable { def...

The only problem is that type-specific versions of `hashCode` could be faster in principle.

I am fine with context-dependent semantics, but I would prefer `x.type = y.type` to be visible only within the scope / package / file / module. The second part of...

Both. This could be the starting point for that microsite.

Ah, I think the original code had a bug, the correct order of inheritance is: ```scala private trait ComposeApply[F[_], G[_]] extends Apply[Compose[F, G]#L] with ComposeFunctor[F, G] { val F: Apply[F]...

This compiles fine: ```scala private trait ComposeFunctor[F[_], G[_]] extends Functor[Compose[F, G]#L] { val F: Functor[F] val G: Functor[G] final override def map[A, B](fa: F[G[A]])(f: A => B): F[G[B]] = F.map(fa)(G.map(_)(f))...

So at the end of the (second) day, I am no longer sure it's a bug. I am gonna leave it open for now in case we decide to carefully...

For inspiration: https://github.com/paulp/fusion/commit/3afd0ca8c3e3d7b198df3568791bfca5372f3e78 https://github.com/nativelibs4java/Scalaxy https://github.com/nativelibs4java/scalaxy-streams https://github.com/nativelibs4java/Scalaxy/tree/master/Obsolete/Compilets https://github.com/tommie/scala-rangefor/blob/master/src/RangeFor.scala