scastie
mdoc
scastie | mdoc | |
---|---|---|
10 | 4 | |
432 | 395 | |
0.2% | 0.3% | |
7.7 | 8.5 | |
17 days ago | 21 days ago | |
Scala | Scala | |
Apache License 2.0 | 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.
scastie
- How to select union type branch in a for comprehension?
-
Free Monads from Scratch
From personal experience Scala also works. It's 100% possible to learn monads using https://scastie.scala-lang.org/ as a scratch pad.
- Scastie now blocks russian IPs
-
New to Scala
Instead I typically use https://scastie.scala-lang.org, or an ammonite script, or just create a new file that extends App in my test directory. The thing that worksheets do better is that you can import things from your project (like the little app in the test dir) but they also show runtime values (like repl or scastie). However I've just never gotten them to actually work.
- I've entered a state of helplessness while learning scala
-
Switching to a Scala position soon, where should I start?
I strongly recommend you play around with the local Scala REPL. I have Scala 2.13 on my main dev computer and Scala 3 on my other computer. The local REPL will let you know when things are deprecated and give you hints as to what you should use instead. Scastie https://scastie.scala-lang.org/ can also be a big help.
-
Scala or Go: Who Wore It Better?
Operationally, as you might expect from a language borne from academia, Scala tooling can be problematic and compilation can be slow--particularly if you are not yet using Scala 3, which only recently emerged and is very slowly percolating through the ecosystem (Remember the Python 2 to Python 3 transition?). But type inference, a vast standard library, and the time-tested reliability of the JVM make you very productive once you get the hang of them. Performance varies with the JVM you're running, but regardless you do have to contend with the size of compiled objects and the latency of garbage collection at runtime. When you want to experiment, you can skip the ceremony of writing a class or test and instead use a command-line REPL, an online REPL called Scastie you can share, or an outstanding third-party command-line REPL called Ammonite. Dependency management is achieved with SBT typically but also more general JVM build tools like Gradle and Maven.
-
I just rebuilt Tour of Scala from scratch - let me know what you think
I am using https://scastie.scala-lang.org/ which does compile server side in Scala. The UI is a bit hard to handle tho.
-
The future of Scaladoc
https://github.com/scalacenter/scastie#how-do-i-embed-scastie
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?
tour-of-scala - Tour of Scala - Scala classes
sbt-mima-plugin - A tool for catching binary incompatibility in Scala
Scala.js - Scala.js, the Scala to JavaScript compiler
sbt-unidoc - sbt plugin to create a unified Scaladoc or Javadoc API document across multiple subprojects.
Hugo - The world’s fastest framework for building websites.
sbt-revolver - An SBT plugin for dangerously fast development turnaround in Scala
Play WS - Standalone Play WS, an async HTTP client with fluent API
sbt-updates - sbt plugin that can check Maven and Ivy repositories for dependency updates
metabrowse - Static site generator for code search with IDE features for Scala
sbt-pack - A sbt plugin for creating distributable Scala packages.
Akka - Build highly concurrent, distributed, and resilient message-driven applications on the JVM
coursier - Pure Scala Artifact Fetching