Skip to content

Instantly share code, notes, and snippets.

View javierfs89's full-sized avatar

Javier Fuentes Sánchez javierfs89

View GitHub Profile
@javierfs89
javierfs89 / functional-apis.scala
Created June 26, 2017 11:13
Functional APIs design pattern in action
/* 1. APIs */
trait IO[P[_]] {
def read: P[String]
def write(msg: String): P[Unit]
}
object IO {
object syntax {
def read[P[_]](implicit IO: IO[P]) = IO.read
def write[P[_]](msg: String)(implicit IO: IO[P]) = IO.write(msg)
@javierfs89
javierfs89 / experiencia.md
Last active June 23, 2016 11:13
Experiencia de los ponentes

Experiencia de los ponentes

Javier y Jesús son también formadores profesionales de Scala, especializados en la aplicación del paradigma de Programación Funcional en este lenguaje de programación. Imparten cursos de ámbito público y adaptados a las necesidades particulares de empresas, muchas de ellas punteras en su sector:

También son ponentes habituales en el MeetUp de Scala de Madrid:

@javierfs89
javierfs89 / gist.scala
Created October 29, 2014 09:22
Sync Futures vs Async Futures
import scala.concurrent._
import scala.concurrent.duration._
import ExecutionContext.Implicits.global
object MyApp {
def processA(f: Int, b: Int, c: Int) = {
Thread.sleep(2000)
f + b + c
}
def processB(g: Int) = {
@javierfs89
javierfs89 / Strip.scala
Created June 9, 2014 11:27
StripMargin string interpolator macro
/**
* This interpolator can be evaluated in compile time, so you can use to generate
* constant strings (if all params are also constant)
*
* Works on Scala 2.10.2
*/
implicit class stripInterpolator(sc: StringContext) {
def strip(params: Any*) = macro stripMacro
}