I hereby claim:
- I am 0xyuanti on github.
- I am yuanti (https://keybase.io/yuanti) on keybase.
- I have a public key ASAVjKmujfL5xp2V7HHVm9HVxufwaZkwQp7W34Mu4c6mnwo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
// this seems like a useful FS2 Stream function, is it already built in? | |
// Folds a function into a stream and gives you a stream of the intermediate | |
// accumulator values, i.e.: | |
// > val ones = Stream.iterate(1)(x => x) | |
// > ones.foldIncremental(0)(_ + _) take 3 toList | |
// ==> List[Int] = List(1, 2, 3) | |
implicit class StreamOps[F[_], O](private val self: Stream[F, O]) { | |
def foldIncremental[O2](z: O2)(f: (O2, O) => O2): Stream[F, O2] = | |
self.mapAccumulate(z) { |
import fs2.interop.scalaz._ | |
import fs2.{Scheduler, Strategy, time} | |
import scala.concurrent.duration._ | |
import scalaz.concurrent.{Task => ZTask} | |
// porting some code from scalaz.concurrent.chan to fs2... | |
// we need to call a few external rest apis every N seconds and process the results. | |
object App { | |
def main(args: Array[String]): Unit = { |
object icm { | |
// Types | |
type Player = Int | |
type Chips = Double | |
type Stacks = Map[Player, Chips] | |
type Rank = Int | |
type Money = Double |
adding | |
type intLeaf = | Leaf int; | |
results in | |
jakob@crunchy:/usr/home/jakob/git/botcloud/telegram-re$ rebuild -pkg cohttp.lwt wtf.native | |
+ /usr/local/bin/ocamldep.opt -modules -pp refmt -impl wtf.re | tee wtf.re.depends wtf.ml.depends | |
Fatal error: exception Not_found | |
File "wtf.re", line 1: |
/* example from cohttp readme, works with rebuild -pkg cohttp.lwt wtf.native */ | |
open Lwt; | |
open Cohttp; | |
open Cohttp_lwt_unix; | |
let coroutine = | |
Client.get (Uri.of_string "http://www.reddit.com/") >>= fun (resp, body) => { | |
let code = resp |> Response.status |> Code.code_of_status; | |
Printf.printf "Response code: %d\n" code; |
// build.sbt | |
scalaVersion := "2.11.6" | |
libraryDependencies ++= Seq( | |
"org.scalaz" %% "scalaz-core" % "7.1.1", | |
"org.scalaz" %% "scalaz-effect" % "7.1.1", | |
"org.scalaz" %% "scalaz-concurrent" % "7.1.1", | |
"org.tpolecat" %% "doobie-core" % "0.2.1", | |
"org.tpolecat" %% "doobie-contrib-postgresql" % "0.2.1", |
### Keybase proof | |
I hereby claim: | |
* I am cannedprimates on github. | |
* I am cannedprimates (https://keybase.io/cannedprimates) on keybase. | |
* I have a public key whose fingerprint is 734D ECBA C500 533A 95AA 32B7 333D C302 DD8D 2180 | |
To claim this, I am signing this object: |
[info] Starting scala interpreter... | |
[info] | |
Welcome to Scala version 2.10.4 (OpenJDK 64-Bit Server VM, Java 1.6.0_32). | |
Type in expressions to have them evaluated. | |
Type :help for more information. | |
scala> def f = 1 | |
def f = 1 | |
f: Int |
{function, recv, 1, 9}. | |
{label,8}. | |
{line,[{location,"reftrick.erl",33}]}. | |
{func_info,{atom,reftrick},{atom,recv},1}. | |
{label,9}. | |
{test,is_eq_exact,{f,10},[{x,0},{integer,0}]}. | |
{move,{atom,ok},{x,0}}. | |
return. | |
{label,10}. | |
{allocate_zero,1,1}. |