Literate programming support form Scala


#1

Can anyone tell me if they know of any literate-like tool for Scala that does not include the following projects:



Any other tool that can help me document the use of a library is also useful.

TIA


The best way to document a library?
#2

I suggest trying Jupyter notebooks using the Scala kernel: Jupyter Kernels.


#3

Scastie has literate programming similar to Jupiter.

html"…some html…" display HTML if you put it at the top level

For example: https://scastie.scala-lang.org/MasseGuillaume/yFPSI20uR6GrtBvJ2Sr41Q

If you are in Scala.js any HTMLElement will be attached next to the code.

For example: https://scastie.scala-lang.org/MasseGuillaume/woaGCkgxRGqcnHUjwJAy5Q


#4

@Francososa and @MasseGuillaume

Indeed I had not considered using notebooks. These may provide an alternate means of documenting the project. Have to see how one can automate checking compilation errors and hosting the books so it fits in with the CI I have set up.

Thanks.


#5

@hmf Awesome, I will be adding an embedded mode for Scastie. CI integration is something I did not think about. I would love to have your feedback on the following ticket:


#6

Have to experiment with Scatsie first. Need to know if/how a snippet compilation failure can be detected.


#7

Have to experiment with Scatsie first. Need to know if/how a snippet compilation failure can be detected.

You made me laugh, you mean Scastie.

We would need to start a Scastie Sbt Runner and send it the input. The output is streamed back. This is how it looks like in the tests:
https://github.com/scalacenter/scastie/blob/master/sbt-runner/src/test/scala/com/olegych/scastie/sbt/SbtActorTest.scala#L90

this is the model for the outputs


#8

Yeah, spelling errors can be funny 8-}.

Ok, I see now what this involves. Appreciate the information.