typelevel / typelevel/typelevel.github.com
Curated projects
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 42
- Forks
- 115
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 7
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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
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.
Assessment
- Tech stack
- html, scala
- Domain
- content, documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100