Repository navigation
Replies: 2 comments 2 replies
@haifengl This is worth considering as a feature request (cc @SolalPirelli @warcholjakub), but would be worth raising separately in the compiler bug tracker: https://github.com/scala/scala3/issues
This was already delivered in Scala 3.10. |
2 replies
|
Nice project there! |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi
scala-cliteam,We wanted to share that we have built an interactive Scala 3 notebook and kernel system in SMILE Studio (an agentic data science IDE for the JVM supporting
.scala,.sc, and.ipynbnotebooks) and invite the team and community to try it out and share feedback.Context & How it works
In SMILE Studio (
ScalaKernel.java), we built our Scala notebook kernel to drive a Scala 3 REPL subprocess over stdin/stdout with SMILE's classpath, native FFM/BLAS flags (--enable-native-access=ALL-UNNAMED), and a predef initialization script (predef.sc) pre-loaded so users can immediately work with DataFrames, ML models, and plots in.scala/.scnotebooks.We initially built the subprocess kernel around
scala-cli repl(passing--java-opt,-cp, and--repl-init-script) and also support launchingdotty.tools.repl.Maindirectly from the bundled classpath so the IDE works out-of-the-box without requiring a separate install step.Key capabilities in SMILE Studio's Scala Notebooks
.scala,.sc, and.ipynbnotebooks with syntax highlighting, Markdown rendering, and AI code generation/completion.dotty.tools.repl.ParseResult.isIncompleteto chunk cells into complete top-level statements.DataFrames, matrices, trained ML models) for one-click visualization and model serving.Ctrl-C) and fast session reset (:reset) without restarting the child JVM.Feedback for
scala-cli replin IDE / Notebook integrationsFrom wiring
scala-cliinto a desktop notebook UI, a few features would makescala-clieven more powerful as an embeddable notebook backend:-- [E006]) or uncaught exceptions from normal stdout requires prompt/regex parsing. An optional structured output flag or EOT marker per evaluated unit would simplify host integration.//> using dep): Supporting dynamic dependency resolution mid-session in the REPL (similar to how notebook magic commands add Maven artifacts to a running kernel) is a huge ergonomic win for data science workflows.Try it out
studio/src/main/java/smile/studio/kernel/ScalaKernel.javascala/We welcome the
scala-cliteam and community to try it out and share your thoughts and feedback!All reactions