Skip to content

Curated projects #272

@Slakah

Description

@Slakah

This is partly prompted by some thoughts after my tweet in response to the question of how to improve Scala adoption.

Trusted cohesive library ecosystem. A lot of library usage is built on trust, most folks have been bitten at one points by a lib with some gotchas. This is why I think building trust and branding of libs with shared ethos is very important.

It feels like the typelevel projects page could benefit by curating the functionality provided by the libraries in question. An example of the type of curation I think could be beneficial would be https://github.com/lauris/awesome-scala or https://github.com/rust-unofficial/awesome-rust, in that libraries are grouped based on functionality provided.

An example hierarchy could be:

"Web Server":
  - "http4s"
  - "Finch"
"HTTP Client":
  - "fetch"
  - "Hammock"
  - "http4s"
"JSON":
  - "argonaut-shapeless"
"Functional Reactive Programming":
  - "cats-effect"
  - "fs2"
  - "monix"
Database:
  - "doobie"
"Front End":
  - "OutWatch"
Configuration:
  - "Ciris"
  - "Extruder"
  - "PureConfig"
Serialization:
  - "scodec"
"Science and Data Analysis":
  - "Algebird"
  - "coulomb"
  - "Frameless"
  - "Libra"
  - "spire"
  - "squants"
"Testing":
  - "cats-scalatest"
  - "ScalaCheck"
  - "scalacheck-shapeless"
  - "Specs2"
  - "discipline"
"Linked Data":
  - "banana-rdf"
"Generic Programming":
  - "shapeless"
"Command Line":
  - "decline"
"Extensions":
  - "cats"
  - "cats-tagless"
  - "eff"
  - "kittens"
  - "monocle"
  - "mouse"
  - "refined"
  - "singleton-ops"
"Misc":
  - "algebra"
  - "paiges"
  - "scala-steward"
  - "scala-exercises"
  - "Scoverage"
"Macros and Compiler Plugins":
  - "export-hook"
  - "imp"
  - "kind-projector"
  - "Machinist"
  - "macro-compat"
  - "simulacrum"
  - "TwoTails"

Hopefully this would make it easier to navigate the typelevel ecosystem and find the correct library for the job.

The following projects have been removed, based on lacking recent commits, or being known to be unsupported:

  • Alleycats - redirects to cats.
  • shapeless-contrib - no commits in 3 years.
  • catalysts - can't decipher what the intended use of this project is? Is it a way of know which scala version is being used at runtime?
  • structures - not updated in 5 years.
  • tut - README suggests using mdoc tut is deprecated. Please switch to mdoc. See the migration guide..
  • CaseClassy - project abandoned.
  • Sonic - 3 years since last commit.

Notes

If there are any analytics available for the typelevel website. It would be very useful to know how much the projects page is used.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions