scala3-migrate
lavamaze
Our great sponsors
scala3-migrate | lavamaze | |
---|---|---|
2 | 1 | |
99 | 2 | |
- | - | |
8.1 | 2.7 | |
11 days ago | 6 months ago | |
Scala | Scala | |
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.
scala3-migrate
-
Show HN: Simple games ported to Scala 3 – Try them in the browser
> If I recall, there's a compiler plugin they put out that could automatically make many of those changes
Actually, there are compiler options to rewrite the sources to/from scala3, I have tried this in more complex projects and it worked nicely (see https://docs.scala-lang.org/scala3/guides/migration/tooling-...)
This is the link to the plugin you mentioned which is supposed to avoid the manual syntax updates but I haven't had the need to try it, like you said, most of the times the changes are trivial enough (https://docs.scala-lang.org/scala3/guides/migration/scala3-m...).
> An example of one of the programmable games in action
This comes handy to me, looks cool! For one or another reason, I ended up in this page which seems to intend hosting the same app but it doesn't work, just wanted to let you know (https://www.wbillingsley.com/lavamaze)
There is a similar nice project which I have been looking into (https://www.kogics.net/kojo).
-
Dragging Haskell Kicking and Screaming into the Century of the Fruitbat :: Reasonably Polymorphic
I'm using scala3-migrate as reference, although I haven't really done any Scala that much to know that issues this has.
lavamaze
-
Show HN: Simple games ported to Scala 3 – Try them in the browser
If you're not using macros, moving from Scala 2 to 3 is pretty easy.
I have a bunch of 2d games I use in programmable learning environments. This is the commit that did a lot of the shifting from 3 to 3.0.0-RC1
https://github.com/wbillingsley/lavamaze/commit/0d9aca52e8e8...
A lot of it was just trivia like "it's required to put parentheses around lambda function parameters now", and "if the function is declared with an empty arg list () rather than no arg list, you have to call it with an empty arg list rather than no arg list".
If I recall, there's a compiler plugin they put out that could automatically make many of those changes, but I found it took little enough time just to do them manually that investigating the plugin wasn't necessary.
An example of one of the programmable games in action:
What are some alternatives?
Scalafix - Refactoring and linting tool for Scala
scala-js-games - Simple games ported to Scala.js (Scala 3)
scala-3-crash-course - Scala 3 workshop presenting the top new features of the language.
sbt-ci-release - sbt plugin to automate Sonatype releases from GitHub Actions
functional-way - Write small programs (eg -algorithms) in a functional way.
scala-js-games - Some simple games ported to Scala-Js
dotty - The Scala 3 compiler, also known as Dotty.
slinky - Write Scala.js React apps just like you would in ES6
scalajs-react - Facebook's React on Scala.JS
Laminar - Simple, expressive, and safe UI library for Scala.js