Skip to content

Instantly share code, notes, and snippets.

View paulp's full-sized avatar
🤫

Paul Phillips paulp

🤫
  • CAZ, Inc.
  • Cascadia Autonomous Zone
View GitHub Profile
#!/usr/bin/env bash
#
set -euo pipefail
unset SBT_OPTS JVM_OPTS JDK_HOME JAVA_HOME
: ${TRAVIS_SCALA_VERSION:=2.11.8}
: ${SBT_TARGET:=$*}
: ${SBT_TARGET:=test}
183   def onFileSystemError(views: Set[AFile], err: FileSystemError): Free[S, FileSystemError \/ Unit] =
184     fsErrorPath.getOption(err).exists(_ === dst)
185       .fold(err.left[Unit].point[Free[S, ?]], moveAll(views).run)

Line 184 generates 1039 lines of output under -Xlog-implicits, which break down as follows:

 720 is not a valid implicit value for scalaz.Order[A] because:
 147 is not a valid implicit value for scalaz.Equal[T] because:
 147 is not a valid implicit value for scalaz.Equal[A] because:
package matryoshka {
trait Interpret[T[_[_]]] {
type ^[Outer[_], Inner[_]] = Outer[T[Inner]]
trait Transform[F[_], G[_]] {
/** Bottom-up transforms. */
type GAlgebraicM[W[_], M[_]] = F[W ^ G] => M[G ^ G]
type AlgebraicM[M[_]] = F ^ G => M[G ^ G] // GAlgebraicM[Id, M]
type GAlgebraic[W[_]] = F[W ^ G] => G ^ G // GAlgebraicM[W, Id]
type Algebraic = F ^ G => G ^ G // GAlgebraicM[Id, Id]
#!/usr/bin/env bash
#
# Dependencies:
# coursier ( on OSX: brew install --HEAD paulp/extras/coursier )
# zinc ( on OSX: brew install zinc )
#
set -euo pipefail
# You can compile code in different projects by overriding these, e.g.
case (src: A, from: quasar.qscript.FreeQS[T], count: quasar.qscript.FreeQS[T])quasar.qscript.Drop[T,A]((src @ _), (from @ _), (count @ _)) => Drop.apply[T, A](src, quasar.fp.`package`.freeTransCata[T, [A]scalaz.Coproduct[[β$6$]quasar.qscript.QScriptCore[T,β$6$],[A]scalaz.Coproduct[[β$0$]quasar.qscript.ProjectBucket[T,β$0$],[A]scalaz.Coproduct[[β$5$]quasar.qscript.ThetaJoin[T,β$5$],[A]scalaz.Coproduct[[β$1$]quasar.qscript.EquiJoin[T,β$1$],[A]scalaz.Coproduct[[β$4$]scalaz.Const[quasar.qscript.ShiftedRead,β$4$],[A]scalaz.Coproduct[[β$2$]scalaz.Const[quasar.qscript.Read,β$2$],[β$3$]scalaz.Const[quasar.qscript.DeadEnd,β$3$],A],A],A],A],A],A], [A]scalaz.Coproduct[[β$6$]quasar.qscript.QScriptCore[T,β$6$],[A]scalaz.Coproduct[[β$0$]quasar.qscript.ProjectBucket[T,β$0$],[A]scalaz.Coproduct[[β$5$]quasar.qscript.ThetaJoin[T,β$5$],[A]scalaz.Coproduct[[β$1$]quasar.qscript.EquiJoin[T,β$1$],[A]scalaz.Coproduct[[β$4$]scalaz.Const[quasar.qscript.ShiftedRead,β$4$],[A]scalaz.Coproduct[[β$2$]scalaz.Const[quasar.qscript.Read,β$2$],
24459-[info] found : scalaz.Inject[[(some other)(some other)A(in class Coproduct)]scalaz.Coproduct[_ >: [(some other)β$0$(in type Λ$)]quasar.qscript.ProjectBucket[T,(some other)β$0$(in type Λ$)] with quasar.qscript.EquiJoin[T,(some other)β$0$(in type Λ$)] <: [β$0$]Object, _ >: [(some other)(some other)(some other)(some other)A(in <none>)]scalaz.Coproduct[[β$5$(in type Λ$)]quasar.qscript.ThetaJoin[T,β$5$(in type Λ$)],[(some other)(some other)A(in <none>)]scalaz.Coproduct[[β$1$(in type Λ$)]quasar.qscript.EquiJoin[T,β$1$(in type Λ$)],[(some other)A(in <none>)]scalaz.Coproduct[[β$4$(in type Λ$)]scalaz.Const[quasar.qscript.ShiftedRead,β$4$(in type Λ$)],[A(in <none>)]scalaz.Coproduct[[β$2$(in type Λ$)]scalaz.Const[quasar.qscript.Read,β$2$(in type Λ$)],[β$3$(in type Λ$)]scalaz.Const[quasar.qscript.DeadEnd,β$3$(in type Λ$)],A(in <none>)],(some other)A(in <none>)],(some other)(some other)A(in <none>)],(some other)(some other)(some other)(some other)A(in <none>)] with scalaz.Coproduct[[β$4$(in type Λ$)]scalaz.Const[
@paulp
paulp / connector.txt
Created September 27, 2016 19:34
per-file compilation times
2:35.258s connector/src/main/scala/quasar/qscript/QScriptCore.scala
1:39.766s connector/src/main/scala/quasar/qscript/DiscoverPath.scala
48.690s connector/src/main/scala/quasar/fs/QueryFile.scala
46.004s connector/src/main/scala/quasar/qscript/ThetaJoin.scala
42.978s connector/src/main/scala/quasar/qscript/EquiJoin.scala
17.270s connector/src/main/scala/quasar/qscript/Optimize.scala
11.401s connector/src/main/scala/quasar/EnvironmentError.scala
case (tj @ (src: T[G], lBranch: quasar.qscript.FreeQS[T],
rBranch: quasar.qscript.FreeQS[T], on:
quasar.qscript.JoinFunc[T], f: quasar.qscript.JoinType, combine:
quasar.qscript.JoinFunc[T])quasar.qscript.ThetaJoin[T,T[G]]((src
@ _), (left @ _), (right @ _), (on @ _), Inner, _)) if
scalaz.Scalaz.ToEqualOps[quasar.qscript.JoinFunc[T]](on)(matryoshka.`package`.de
layEqual[[A]scalaz.Free[[β$14$]quasar.qscript.MapFunc[T,β$14$],A],
quasar.qscript.JoinSide](qscript.this.JoinSide.equal,
matryoshka.`package`.freeEqual[[A]quasar.qscript.MapFunc[T,A]](quasar.qscript.Ma
pFunc.traverse[T], quasar.qscript.MapFunc.equal[T,
// Optimize.scala
package quasar.qscript {
import quasar.Predef._;
import quasar.fp._;
import quasar.fs.MonadFsErr;
import quasar.qscript.MapFunc._;
import quasar.qscript.MapFuncs._;
import matryoshka._;
import matryoshka.Recursive.ops._;
import matryoshka.FunctorT.ops._;
@paulp
paulp / egregious.scala
Created September 20, 2016 04:03
hottest lines in -Xlog-implicits
917 connector/src/main/scala/quasar/qscript/Optimize.scala:554
668 connector/src/main/scala/quasar/qscript/Optimize.scala:544
511 connector/src/main/scala/quasar/qscript/Optimize.scala:517
511 connector/src/main/scala/quasar/qscript/Optimize.scala:498
431 connector/src/main/scala/quasar/qscript/ConvertPath.scala:191
287 connector/src/main/scala/quasar/qscript/QScriptCore.scala:145
286 connector/src/main/scala/quasar/qscript/Optimize.scala:555
279 connector/src/main/scala/quasar/qscript/ShiftRead.scala:55
276 connector/src/main/scala/quasar/qscript/QScriptCore.scala:195
270 connector/src/main/scala/quasar/qscript/Transform.scala:468