Curated projects

Open
#272 3 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Stale
Tech stack
html, scala

Research direction

Start with the typelevel.org projects page and compare its current contents with the proposed functionality-based categories and project removals in this issue. Done means the page presents a useful curated grouping, excludes the listed unsupported projects, and reflects any available analytics findings; the repository file to update is not identified here.

Written by the indexing model from the issue text.

Description

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.

Dominant language
HTML
Stars
42
Forks
115
Avg merge
4d 13h
Merged PRs (30d)
8

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from typelevel/typelevel.github.com

All issues in typelevel/typelevel.github.com

Similar issues

More Content issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.