Skip to content

Instantly share code, notes, and snippets.

View tindzk's full-sized avatar

Tim Nieradzik tindzk

View GitHub Profile
> publishSigned
[info] Packaging /Users/tim/dev/widok/target/scala-2.10/root_2.10-0.1-SNAPSHOT-sources.jar ...
[info] Updating {file:/Users/tim/dev/widok/}root...
[info] Done packaging.
[info] Wrote /Users/tim/dev/widok/js/target/scala-2.11/widok_sjs0.6_2.11-0.2.0-SNAPSHOT.pom
[info] Wrote /Users/tim/dev/widok/jvm/target/scala-2.11/widok_2.11-0.2.0-SNAPSHOT.pom
[info] Wrote /Users/tim/dev/widok/target/scala-2.10/root_2.10-0.1-SNAPSHOT.pom
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
@tindzk
tindzk / existential-types.scala
Created February 15, 2015 15:53
Type mismatch when casting generic parameter to an existential type
trait A[T] { def print(t: T) }
trait B[T] { def ret: T }
case class Wrapper[T](a: A[T], b: B[T])
val wrapper = Wrapper[String](null, null)
wrapper.a.print(wrapper.b.ret) /* Compiles */
val anyWrapper = wrapper.asInstanceOf[Wrapper[_]]
anyWrapper.a.print(wrapper.b.ret) /* Does not compile */
@tindzk
tindzk / upickle-error2.scala
Created January 16, 2015 18:14
uPickle: Declarations in method
def main(args: Array[String]) {
sealed trait Base
case object Child extends Base
case class Wrapper(t: Base)
val x = upickle.read[Wrapper](null)
}
// Main.scala:23: uPickle does not know how to read [Wrapper]s; define an implicit Reader[Wrapper] to teach it how
@tindzk
tindzk / upickle-error.scala
Created January 16, 2015 18:06
uPickle: FatalError
def main(args: Array[String]) {
sealed trait Type
object Type {
case object A extends Type
case object B extends Type
}
upickle.read[Type]("")
}
@tindzk
tindzk / upickle-response.scala
Created January 16, 2015 17:40
uPickle implicits for Response
sealed trait Response[+T]
object Response {
case class Failure(error: String) extends Response[Nothing]
case class Success[+T](value: T) extends Response[T]
}
object Picklers {
import Response._
import upickle.Js
import upickle.Aliases._
@tindzk
tindzk / tiger-tagset.cfg
Created December 8, 2014 12:22
Tiger tagset
# Tiger tagset definition
[ATTR]
# Attributes and their values
cas = nom gen dat acc
nmb = sg pl
gnd = m f n
per = 1 2 3
deg = pos comp sup
@tindzk
tindzk / variance-annotations
Created October 28, 2014 16:17
Java variance annotations in Scala
// Java interface
interface ITextConverter {
public void nodesToText(List<? extends Object> nodes);
}
// Scala implementation
new ITextConverter {
override def nodesToText[T <: Object](nodes: java.util.List[T]) { ... } // Error: Does not override anything.
}