This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import scala.compiletime.ops.int.S | |
import scala.compiletime.constValue | |
import scala.deriving.Mirror | |
object Tuples { | |
type IndexOf[Q, T <: Tuple, I <: Int] <: Int = T match { | |
case EmptyTuple => -1 | |
case Q *: ts => I | |
case _ *: ts => IndexOf[Q, ts, S[I]] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@main def addContinents(path: String): Unit = | |
val lines = scala.io.Source.fromFile(path).getLines | |
for case s"$country, $visitors" <- lines.drop(1) do | |
continentFromCountry(country) match | |
case Some(continent) => | |
println(s"${continent.name}, $country, $visitors") | |
case None => | |
Console.err.println( | |
"[error] no continent found for country: " + country | |
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
trait Plugin: | |
type Companion | |
val exports: Companion | |
object Plugin: | |
transparent inline def exports[P <: Plugin](using plugin: P): plugin.exports.type = plugin.exports | |
trait Hashable[-T] extends Plugin: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sbt:scala3> dist/pack | |
... truncated | |
sbt:scala3> scala3-bootstrapped/testOnly dotty.tools.scripting.BashScriptsTests | |
[info] Passed: Total 0, Failed 0, Errors 0, Passed 0 | |
[info] No tests to run for scala3-interfaces / Test / testOnly | |
[info] Passed: Total 0, Failed 0, Errors 0, Passed 0 | |
[info] No tests to run for scala3-sbt-bridge / Test / testOnly | |
[info] Passed: Total 0, Failed 0, Errors 0, Passed 0 | |
[info] No tests to run for scala3-library-bootstrapped / Test / testOnly | |
[info] Passed: Total 0, Failed 0, Errors 0, Passed 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package tastyquery.util | |
import compiletime.constValue | |
import compiletime.error | |
import compiletime.summonAll | |
sealed abstract class FlagMirror[A <: reflect.Enum](): | |
outer => | |
opaque type FlagSet = Long |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def part1(input: String): Int = | |
findIndexOptimal(input, n = 4) | |
def part2(input: String): Int = | |
findIndexOptimal(input, n = 14) | |
class MultiSet: | |
private val counts = new Array[Int](128) | |
private var total = 0 | |
def size = total |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//> using scala "3.3.0" | |
import scala.util.boundary, boundary.break | |
object Loops: | |
type ExitToken = Unit { type Exit } | |
type ContinueToken = Unit { type Continue } | |
type Exit = boundary.Label[ExitToken] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package foo | |
import scala.annotation.static | |
import java.lang.invoke.{MethodHandle, MethodHandles, MethodType} | |
class MH | |
object MH: | |
@static private val lookup = MethodHandles.lookup() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//> using toolkit 0.2.1 | |
//> using scala 3.3.1 | |
//> using dep ch.epfl.scala::tasty-query:0.11.0 | |
//> using dep org.scala-lang::scala3-compiler:3.3.1 | |
//> using dep io.get-coursier:coursier_2.13:2.1.7 | |
package tastyquery.jdk.classpaths | |
import tastyquery.Classpaths.Classpath | |
import tastyquery.Classpaths.ClasspathEntry |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//> using scala "3.4.0-RC1-namedtuples-bin-SNAPSHOT" | |
// original solution taken from https://scalacenter.github.io/scala-advent-of-code/puzzles/day17#final-code (by @bishabosha) | |
import scala.language.experimental.namedTuples | |
type Target = (xs: Range, ys: Range) | |
type Point = (x: Int, y: Int) | |
type Probe = (position: Point, velocity: Point) | |
val initial = (x = 0, y = 0) |