-*- mode: org; org-confirm-babel-evaluate: nil; -*-
from translate import Translator
translator=Translator(to_lang="zh")
translated=translator.translate(translatetext)
import java.util.concurrent.Executors | |
import scala.concurrent.{ExecutionContext, Future, Await} | |
import scala.concurrent.duration._ | |
object conc1 { | |
val numThreads = 4 |
import scalaz.{Applicative, Functor, Monad} | |
// Based on https://thedet.wordpress.com/2012/04/28/functors-monads-applicatives-can-be-so-simple/ | |
object FMA { | |
// A simple effectful type constructor | |
// All it does is wrap a value of any type | |
case class MyBox[T](val value:T) |
import org.scalatest._ | |
import scala.concurrent.{Future, TimeoutException} | |
import scala.concurrent.duration._ | |
class TestFutureUtil extends AsyncFlatSpec with Matchers with OptionValues with Inside with Inspectors { | |
implicit override def executionContext = scala.concurrent.ExecutionContext.Implicits.global | |
"futureWithTimeout" should "complete the users future when it returns before the timeout" in { |
import java.util.concurrent.TimeoutException | |
import java.util.{Timer, TimerTask} | |
import scala.concurrent.duration.FiniteDuration | |
import scala.concurrent.{ExecutionContext, Future, Promise} | |
import scala.language.postfixOps | |
object FutureUtil { |
import scala.concurrent.duration._ | |
import scala.concurrent.duration.FiniteDuration | |
import scala.concurrent.{Await, Future} | |
import scala.language.postfixOps | |
import scala.concurrent.ExecutionContext.Implicits.global | |
object ParallelFuture { | |
def printWithTimeAndThreadID(s : String): Unit = println(s"${System.currentTimeMillis()} thread id ${Thread.currentThread().getId} : $s") |
-*- mode: org; org-confirm-babel-evaluate: nil; -*-
from translate import Translator
translator=Translator(to_lang="zh")
translated=translator.translate(translatetext)
def takeWhileRepeat[F[_],O](n: Long, f: O => Boolean): Pipe[F,O,O] = { | |
def go(s: Stream[F,O], wasTrueCount : Int) : Pull[F,O,Unit] = { | |
if(wasTrueCount == n) { | |
Pull.done | |
} | |
else { | |
s.pull.uncons1.flatMap { |
def takeUntilNThings[F[_],O](n: Long, thing: O): Pipe[F,O,O] = { | |
def go(s: Stream[F,O], seenCount : Int) : Pull[F,O,Unit] = { | |
if(seenCount == n) { | |
Pull.done | |
} | |
else { | |
s.pull.uncons1.flatMap { |
package com.heyesjones.fs2redis | |
import cats.effect.{Effect, IO} | |
import com.redis._ | |
import com.typesafe.scalalogging.LazyLogging | |
import fs2.{async, _} | |
import scala.concurrent.ExecutionContext | |
import scala.util.{Failure, Success, Try} |
Scalaz | |||
Symbol | Code | Ascii | Example |
---|---|---|---|
η | 951 | pure | 1.η[List] |
μ | 03BC | join | List(List(1,2,3), nil, List(5,6,7)) μ |
∅ | 2205 | zero | ∅[Int] |
<∅> | empty | <∅>[Option, Int] |
|
∙ | 2219 | contramap | ((_:String).length ∙ (_:Int).toString ∙ ((_:Int) + 6))(5) |
∘ | 2218 | map | (((_:Int) + 6) ∘ (_:Int).toString ∘ (_:String).length)(5) |
∘∘ |