Skip to content
Principled pure functional programming glue in Scala. Short for "pure harmony".
Scala Other
  1. Scala 99.2%
  2. Other 0.8%
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


New, better, iteration of our busymachines-commons — short for "pure harmony"

Currently the project is under heavy development, and is mostly driven by company needs until a stable version can be put out. At the end of the day this is a principled utility library that provides all glue to make web server development a breeze. It encourages users to use the "pureharm" style, for each application creating, for instance, your own "myapp.effects" package, which is easily created by mixing in traits provided by pureharm + your own domain specific stuff.

sbt build

The available modules are:

val pureharmVersion: String = "0.0.4" //

def pureharm(m: String): ModuleID = "com.busymachines" %% s"pureharm-$m" % pureharmVersion

val pureharmCore:             ModuleID = pureharm("core")              withSources ()
val pureharmCoreAnomaly:      ModuleID = pureharm("core-anomaly")      withSources ()
val pureharmCorePhantom:      ModuleID = pureharm("core-phantom")      withSources ()
val pureharmCoreIdentifiable: ModuleID = pureharm("core-identifiable") withSources ()
val pureharmEffectsCats:      ModuleID = pureharm("effects-cats")      withSources ()
val pureharmJsonCirce:        ModuleID = pureharm("json-circe")        withSources ()
val pureharmConfig:           ModuleID = pureharm("config")            withSources ()

val pureharmDBCore:       ModuleID = pureharm("db-core")        withSources ()
val pureharmDBCoreFlyway: ModuleID = pureharm("db-core-flyway") withSources ()
val pureharmDBSlick:      ModuleID = pureharm("db-slick")       withSources ()
val pureharmDBPSQL:       ModuleID = pureharm("db-slick-psql")  withSources ()
//------- OR --------

libraryDependencies ++= Seq(
  //pureharm-core brings in pureharm-core-anomaly, pureharm-core-phantom, and pureharm-core-identifiable.
  "com.busymachines" %% s"pureharm-core"              % pureharmVersion,
  "com.busymachines" %% s"pureharm-core-anomaly"      % pureharmVersion,
  "com.busymachines" %% s"pureharm-core-phantom"      % pureharmVersion,
  "com.busymachines" %% s"pureharm-core-identifiable" % pureharmVersion,
  "com.busymachines" %% s"pureharm-effects-cats"      % pureharmVersion,
  "com.busymachines" %% s"pureharm-json-circe"        % pureharmVersion,
  "com.busymachines" %% s"pureharm-config"            % pureharmVersion,
  "com.busymachines" %% s"pureharm-db-core"           % pureharmVersion,
  "com.busymachines" %% s"pureharm-db-core-flyway"    % pureharmVersion,
  "com.busymachines" %% s"pureharm-db-slick"          % pureharmVersion,
  "com.busymachines" %% s"pureharm-db-slick-psql"     % pureharmVersion,


Under construction. See release notes and tests for examples.

Copyright and License

All code is available to you under the Apache 2.0 license, available at and also in the LICENSE file.

You can’t perform that action at this time.