Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Curated projects #272

Open
Slakah opened this issue Dec 21, 2019 · 3 comments
Open

Curated projects #272

Slakah opened this issue Dec 21, 2019 · 3 comments

Comments

@Slakah
Copy link

Slakah commented Dec 21, 2019

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.

@rossabaker
Copy link
Member

I agree that the current presentation leaves a lot to be desired, and like your approach.

shapeless-contrib and structures are both archived. I think catalysts and machinist are both on the way out. We could either flag these in their sections or leave a section for historical relics at the bottom.

We might also want to highlight distinguished projects. Currently, we have "full members" and "incubator." We might continue that distinction, or flag projects with a certain number of stars (~1k shows projects people tend to think of when they think of Typelevel). Some sort of visual distinction within the category would be good.

I am not aware of any analytics, but that could also be a nice addition.

Thank you for this great suggestion. Would you be interested in submitting a PR to make it happen, or let someone else run with the idea?

@Slakah
Copy link
Author

Slakah commented Dec 27, 2019

Thanks for the feedback @rossabaker .

Thank you for this great suggestion. Would you be interested in submitting a PR to make it happen, or let someone else run with the idea?

Yeah, I'll try and open an in progress PR in time. Hopefully I'll get round to it within the week.

I am not aware of any analytics, but that could also be a nice addition.

I don't have a huge amount of experience with this, but I expect just bunging in google analytics could be a tad controversial. So will raise under a separate issue for further discussion.

@rossabaker
Copy link
Member

Thanks! I agree with deferring the analytics to a different discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants