Building functional programs with bananas, catalysts, shacl's and shapes
summary
Explains a small sbt-layer called Catalyst that glues cross-platform Scala targets (JVM, Scala.js, soon LLVM), with a cross-compiling test harness that abstracts ScalaTest, Specs2 and ScalaCheck via six core methods and macros so tests run on contributors’ machines; shows workarounds used to bootstrap Scala.js (ScalaCheck/Jasmine, Selenium), and a version-mapping plugin that pulls consistent library versions from GitHub metadata. Argues for using RDF/Owl/SHACL as RDF + SHACL for decentralized metadata to share schemas across projects; cites performance context like 4.2 billion traversals in 15 ms and 750M core deployments.
AI-written summary · about
chapters (27)
- 0:00Intro
- 0:51Where did this come from
- 3:50Is it a classic
- 4:52A bathroom
- 7:50RDF
- 12:27what isnt it
- 13:53examples
- 15:46schemaorg
- 16:47easy vs hard
- 17:28Scala
- 19:10What did we do
- 20:38Dead Check
- 22:28Catalyst
- 24:34JVM
- 25:26catalysts
- 27:54trait
- 28:25macros
- 28:48fspec
- 29:24implementation
- 30:09property checks
- 30:31laws
- 30:42SBT catalysts
- 31:06Plugin
- 31:21Libraries
- 32:10abstractions
- 32:34keeping it outside
- 32:53crucible
related talks
50mThe Babel Fish Data: A Case Study
23mThe Future of Scala Performance on Big Data
38mScaling Scala
39mFlare & Lantern: Accelerators for Spark and Deep Learning
42mEnd-to-end pipeline agility
01h 03mLightning Talks, sponsored by Capital One
33mQUARK: A PURELY-FUNCTIONAL SCALA DSL FOR DATA PROCESSING & ANALYTICS
41mIntroducing Cascalog: Functional Data Processing for Hadoop
