Weekly links for 2020-05-21

Ocelot
Ocelot is an opinionated component library for Halogen-based PureScript applications
Beautiful, Simple, Testable Functional Effects for Scala – John A De Goes
For the first time, it feels like Scala has an idiomatic solution for testable functional effects. Something that’s fast, fully inferable, with a low barrier to entry.

let’s say we have a database call deeply embedded everywhere inside our program:

// Deeply nested code:
def myCode: Task[Unit] = …
for {
...
result <- database.query(q)
...
} yield ()
We would like to be able to test application logic without connecting to a real database, because that will slow our tests down and may fail for unrelated reasons.

In order to do this, we need merely refactor the database.query function to require a Database module. Then with simple introduction of a type synonym, we can leave the code unchanged:

type TaskDB[A] = ZIO[Database, Throwable, A]
...
def myCodeV2: TaskDB[Unit] = …
for {
...
result <- database.query(q)
...
} yield ()
string diagram generation for monoidal categories
Cateno is a system for computational category theory and applications. It provides an interactive calculator for free morphism expressions and string diagram generation for monoidal categories. It also handles concrete categories, and can be used as a typed numerical linear algebra system.
slides/slides.md at master · Gabriel439/slides
Nix: under the hood % Gabriel Gonzalez % December 7, 2017
Gaussian Processes in Practice Workshop
Bletchley Park 2006 - VideoLectures - VideoLectures.NET