Skip to content

Instantly share code, notes, and snippets.

Arneball

Block or report user

Report or block Arneball

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View gist:b89ad0ac7a1ae81b3099
/**
* Created by arneball on 2014-05-08.
*/
import java.util.{List => JList}
import retrofit.client.Response
import retrofit.http.{Path, GET}
import retrofit.{RetrofitError, Callback, RestAdapter}
import collection.JavaConversions._
object RetroFit extends App {
@Arneball
Arneball / Macro
Last active Aug 29, 2015
"Serialize" an sequence of objects to an sequence of AnyRefs containing the elements of the object
View Macro
case class PackedArray[T](elems: Array[AnyRef])
object Packer {
def unapply[T](pa: PackedArray[T]): Seq[T] = macro unpack_impl[T]
def unpack_impl[T : c.WeakTypeTag](c: Context)(pa: c.Expr[PackedArray[T]]): c.Expr[Seq[T]] = {
import c.universe._
val tTyp = weakTypeOf[T]
val Some(fields) = tTyp.declarations.collectFirst {
case cons: MethodSymbol if cons.isPrimaryConstructor && !cons.isPublic =>
c.error(c.enclosingPosition, "No public primary constructor found")
Nil
@Arneball
Arneball / gist:9414661
Created Mar 7, 2014
Json Quasiquotes example
View gist:9414661
sealed trait JsValue {
override final def toString = mkString
def mkString: String
}
case class JsArray(value: JsValue*) extends JsValue {
def mkString = value.map{ _.mkString }.mkString("[", ", ", "]")
}
case class JsObj(value: (String, JsValue)*) extends JsValue {
def mkString = value.map{
case (k, v) => s""""$k": ${v.mkString}"""
View gist:9349865
import java.util.concurrent.LinkedBlockingDeque
import scala.annotation.tailrec
object `MyOwnFsm;)` extends App{
// val musta = new Musta
// musta ! "to5"
// musta ! "to6"
// musta ! "should crash"
// println
val pc = new PorcheCounter
1 to 3 foreach { _ => pc ! Car("porsche") }
View gist:8541738
import scala.collection.generic.CanBuildFrom
object Batik extends App {
val fun: Int => Option[Int] = {
case 3 => Some(1337)
case 5 => None
case n => Some(n * 3)
}
val mustare = List(1,2,3,4,5).filterMap(fun)
View gist:8399601
/** For every collection that is a sequence, pimp the method groupedSeq */
implicit class GroupedSeq[SEQ[X]<:Seq[X], T](val seq: SEQ[T]) extends AnyVal {
/** Takes a function that maps elems of type T to the grouping kind U
* All sequential elements that has the same group U will be grouped in a SEQ
* Example {{{
* class Person(name: String)
* val people = List(Person("ADAM"), Person("adam"), Person("pelle"))
* people.groupeSeq{ _.name.toUpperCase } => List(List(Person(ADAM), Person(adam)), List(pelle))
* }}}
View gist:8317874
<target name="init" depends="-set-release-mode, -build-setup">
<property
name="scala-library.jar"
value="${scala.dir}/lib/scala-library.jar"
/>
<path id="build.classpath">
<pathelement location="${scala-library.jar}" />
<!--<pathelement location="${your.path}" />-->
<pathelement location="${build.dir}" />
</path>
View gist:8241700
import java.io.{OutputStream, InputStream}
import Skandal._
import scala.annotation.tailrec
import scala.collection.mutable.LazyBuilder
import scala.collection.generic.CanBuildFrom
import scala.collection.mutable.Builder
import scala.collection.SeqLike
import scala.collection.generic.GenericTraversableTemplate
import scala.collection.generic.GenericCompanion
object Mustivar {
@Arneball
Arneball / gist:6364058
Last active Dec 21, 2015
My json parser
View gist:6364058
object Parser {
def main(args: Array[String]): Unit = {
val shit = new JsonParser1()
println{
shit.parseAll(shit.something, """{"nagger": 3, "dicklen": 3.14e2, "slask": null, "arne": "sket", "gammelarray": ["arne", 3, true], "nested": {"apa": true}}""")
}
}
}
class JsonParser1 extends RegexParsers {
You can’t perform that action at this time.