You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: blog/_posts/2017-02-20-introducing-scastie.md
+7-7Lines changed: 7 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ The Scala Center team is happy to announce the Beta of Scastie.
9
9
10
10
Aleh Aleshka ([OlegYch](https://github.com/OlegYch/)) is the original author of this project. His goal was to create a collaborative debugging tool where you can share and reproduce bugs. The Scala Center has extended Scastie to become an interactive environment for the community.
11
11
12
-
# What can I do with Scastie?
12
+
##What can I do with Scastie?
13
13
14
14
Scastie can run any Scala program with any library in your browser. You don't need to download or install anything.
15
15
@@ -23,29 +23,29 @@ Let's see it in action.
23
23
24
24
In this exampe, we use scrimage, which is a simple image library. We download an image, apply a sepia filter and serve both images back to the browser.
25
25
26
-
# How does Scastie work?
26
+
##How does Scastie work?
27
27
28
-
When a user evaluates their code, the browser sends all its input to our server. Based on the configuration, it will forward the evaluation to an sbt instance. The output will be streamed back to the user. A specific protocol will allow the client to interpret different events such as compiler errors, runtime exceptions, instrumentation, console output, etc.
28
+
When a user evaluates their code, the browser sends all its input to our server. Based on the configuration, it will forward the evaluation to an sbt instance. The output will be streamed back to the user. A specific protocol will allow the client to interpret different events such as compiler errors, runtime exceptions, instrumentation, console output, etc.
29
29
30
30
Using sbt behind the scenes makes it possible for us to support a large range of platforms (Scalac, Dotty, Scala.js, Scala-Native and Typelevel's Scala). In our beta, we've included support for any version of Scalac as well as all published versions of Dotty. Support for other platforms, such as Scala.js or Scala Native is forthcoming. Basing Scastie on sbt allows us to support newer Scala versions and resolve libraries dependencies.
31
31
32
32
We also enable a worksheet mode, which feels much like a worksheet in an IDE. This lets a user write code as top-level expressions, without having to put code inside of a class or object with a main method. Worksheet mode gives you two ways to interleave your results; on the one hand, when an expression is evaluated, you can see the value and type of the evaluated expression to the right of the code that you wrote. On the other hand, worksheet mode also makes it possible to do a kind of literate programming; that is, you may interleave code and HTML blocks much like in notebook environments like iPython notebooks.
33
33
34
-
# What's next?
34
+
##What's next?
35
35
36
-
* Improve the sharing model. For example, we could use a similar approach as gist or JS Fiddle where you can fork and edit code snippets.
36
+
* Improve the sharing model. For example, we could use a similar approach as gist or JS Fiddle where you can fork and edit code snippets.
37
37
* Support Scala.js and Scala-Native. Vote on which one you'd like to see first! ([Vote for Scala.js](https://github.com/scalacenter/scastie/issues/38) or [vote for Scala Native](https://github.com/scalacenter/scastie/issues/40))
38
38
* Make it possible to embed Scastie in your project's documentation.
39
39
40
-
# Want to try it?
40
+
##Want to try it?
41
41
42
42
Since Scastie is a new project, we want to work out the kinks with it before everyone jumps on it and starts using it. In particular, the UI is currently a bit rough, and we're working on catching bugs in the general usage of Scastie.
43
43
44
44
For that reason, we're opening up Scastie to a handful of beta users. Do you want to help us work out the kinks with Scastie? If so, head over to [https://scastie.scala-lang.org](https://scastie.scala-lang.org) to join the beta. We'll gradually be adding more users, so if you don't get immediate access, just hang on for a day or so and we'll ping you to let you know when you can try out Scastie.
45
45
46
46
And remember, please give us feedback! Let us know what is confusing, if something doesn't work as expected, or if there's anything you think we can improve! There are links in Scastie back to our Gitter channels and GitHub issue tracker.
47
47
48
-
# Talk to us!
48
+
##Talk to us!
49
49
50
50
Thoughts or opinions about Scastie? Join us over on [Scala Contributors](
51
51
https://contributors.scala-lang.org/t/introducing-scastie-an-interactive-playground-for-scala/494) to contribute to the discussion.
0 commit comments