https://twitter.com/wonderful_panda/status/1406850885171380225
cabal repl -b split
> import Data.List.Split
Prelude Data.List.Split
> splitOn "," ""
[""]
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
# ================== | |
# requirements.txt | |
# pymssql>=2.1.3 | |
# ================= | |
import java.util.UUID; | |
import java.time.Instant; | |
import java.util.Base64; | |
import java.nio.ByteBuffer; | |
import java.security.SecureRandom; | |
/** | |
AAABZxtu/zzQb1EQOg==:20 | |
AAABZxtu/z1VAsQOvQ==:20 | |
AAABZxtu/z3ckixveA==:20 |
-- ABC087B - Coins | |
-- https://atcoder.jp/contests/abs/tasks/abc087_b | |
type X = Int | |
type A = Int | |
type B = Int | |
type C = Int | |
isDigitCombiMatch:: X -> (A, B, C) -> Bool | |
isDigitCombiMatch x (a,b,c) = (50*c + 100*b + 500*a) == x |
import cats.implicits._ | |
import cats.{Semigroup, Show} | |
import cats.effect.{Effect, IO} | |
sealed trait MessageProcessResult | |
object MessageProcessResult { | |
case object Done extends MessageProcessResult | |
case object Pending extends MessageProcessResult | |
val values: Seq[MessageProcessResult] = Seq(Done, Pending) |
package example | |
import java.util.concurrent.{Executors, TimeUnit} | |
import cats.data.ReaderT | |
import cats.effect.{Concurrent, ContextShift, IO} | |
import cats.implicits._ | |
import cats.kernel.Monoid | |
import cats.{Parallel, effect} | |
import example.APIClient.TotalResult |
package util | |
import scala.concurrent.{ExecutionContext, Future} | |
/** | |
* Future[Option[A]]のラッパー | |
* @param value | |
* @tparam A | |
*/ | |
final case class OptionF[A](value: Future[Option[A]]) { |
import java.util.concurrent.{Executors, TimeUnit} | |
import cats.effect._ | |
import cats.implicits._ | |
import com.typesafe.scalalogging.StrictLogging | |
import scala.concurrent.ExecutionContext | |
import scala.concurrent.duration._ | |
@SuppressWarnings(Array("org.wartremover.warts.NonUnitStatements")) |
https://twitter.com/wonderful_panda/status/1406850885171380225
cabal repl -b split
> import Data.List.Split
Prelude Data.List.Split
> splitOn "," ""
[""]
package example | |
import cats._ | |
import cats.implicits._ | |
object GroupByAndSort extends App { | |
val parents = List( | |
Parent(5, "p1", Child("p1-c1", 0)), | |
Parent(5, "p1", Child("p1-c2", 1)), | |
Parent(4, "p2", Child("p1-c1", 0)), |