Simulacrum
mdoc
Our great sponsors
Simulacrum | mdoc | |
---|---|---|
1 | 4 | |
936 | 386 | |
-0.4% | 0.8% | |
3.7 | 8.4 | |
29 days ago | 8 days ago | |
Scala | Scala | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Simulacrum
-
Friction-less scala - Tell us what is causing friction in your day-to-day life with Scala
The Cats ecosystem offers mature named abstractions providing algebraic laws virtually identical to those offered by Haskell and PureScript and that have stood the test of time, at the cost of relying on a "design pattern" approach to implementation you have to squint a bit to see ("typeclasses" based on higher-kinded types and implicit arguments) and that sometimes doesn't play nicely with Scala's colored local type inference. The selling point of this, coupled with parametricity ("tagless-final style"), is the ability to reason algebraically about your code.
mdoc
- Optimal decision-making with examples built using scala
-
Friction-less scala - Tell us what is causing friction in your day-to-day life with Scala
Literally what scaladoc is, it comes with sbt. Although, it's better when enhanced with mdoc so that you get the standard microsite template like these. It would be nice to have an sbt serveDocs and if everyone would host their docs for external linking, but javadoc doesn't do that either.
-
A Scala rant
The good news is that scaladoc is produced by default by sbt and published by default. So you can often pull it from the same repository your library jar came from, extract it with zip, and read the docs. But that's also totally unnecessary - javadoc.io allows you to put in your module info and serves the docs for you, so if there's an older version you can access the documentation this way. Rely on the type signatures, since they can't lie, whilst comments (including scaladoc comments) can. Honestly, library authors should be using mdoc and including examples on every public method, and that type of documentation is something you can almost always contribute to a project for a quick pr kudos.
-
The future of Scaladoc
I know it's not new but the "Snippet validation and results (mdoc)" features in mdoc are so cool. Really takes some of the tedium out of working with documentation since you can know that as you evolve your code the compiler will make sure you keep the docs in sync. Whole new level of Readme-Driven Development
What are some alternatives?
Ammonite-Ops - Scala Scripting
sbt-unidoc - sbt plugin to create a unified Scaladoc or Javadoc API document across multiple subprojects.
scribe - The fastest logging library in the world. Built from scratch in Scala and programmatically configurable.
sbt-mima-plugin - A tool for catching binary incompatibility in Scala
Quicklens - Modify deeply nested case class fields
sbt-revolver - An SBT plugin for dangerously fast development turnaround in Scala
Freestyle - A cohesive & pragmatic framework of FP centric Scala libraries
sbt-pack - A sbt plugin for creating distributable Scala packages.
LArray - Large off-heap arrays and mmap files for Scala and Java
coursier - Pure Scala Artifact Fetching
Shapeless - Generic programming for Scala
sbt-updates - sbt plugin that can check Maven and Ivy repositories for dependency updates