Skip to content

Instantly share code, notes, and snippets.

View ccarlile's full-sized avatar

Christopher Carlile ccarlile

View GitHub Profile
@ccarlile
ccarlile / build.sbt
Created October 24, 2017 22:15
Naughty circe build.sbt
name := "heckin-good-project"
version := "1.0"
// -Mx denotes milestone releases - in general, these projects are ramping up for a cats 1.0 release
val scalaVersion = "2.12.3"
val circeVersion = "0.9.0-M1"
val http4sVersion = "0.18.0-M2"
val doobieVersion = "0.5.0-M8"
val nscalaTimeVersion = "2.16.0"
@ccarlile
ccarlile / cats.org
Last active May 25, 2021 00:02
Introduction to cats

#+title Introduction to Cats

Introduction to Cats

Cats is a library for Functional Programming in Scala.

Typeclasses

Monoid, Semigroup, FlatMap, etc.

Also provides instances of these typeclasses for scala types that support them, as well as syntax enhancements for ergonomics.

Data Types

OptionT, Validated, etc.

@ccarlile
ccarlile / TracedTransactor.scala
Created August 11, 2022 16:32
Traced transactor for trace4cats
package io.github.ccarlile
import cats.effect.Async
import cats.data.Kleisli
import cats.~>
import cats.arrow.FunctionK
import natchez.{Span => NatchezSpan}
import doobie.Transactor
import trace4cats.{Span}
import trace4cats.kernel.ToHeaders
{ pkgs, unstable, ...}:
with pkgs;
let
my-python-packages = ps: with ps; [
pandas
];
in
{