Skip to content

Instantly share code, notes, and snippets.

View kubukoz's full-sized avatar
😱
I might take a week to respond. Or a month.

Jakub Kozłowski kubukoz

😱
I might take a week to respond. Or a month.
View GitHub Profile
@kubukoz
kubukoz / main.scala
Created December 14, 2022 21:45
IdRefVisitor used in a neighbor provider
//> using lib "software.amazon.smithy:smithy-model:1.26.4"
//> using lib "com.disneystreaming.smithy4s:smithy4s-protocol:0.17.1"
//> using scala "2.13.10"
import software.amazon.smithy.model.Model
import software.amazon.smithy.model.neighbor.Walker
import software.amazon.smithy.model.shapes.ShapeId
import scala.jdk.CollectionConverters._
import software.amazon.smithy.model.neighbor.NeighborProvider
import software.amazon.smithy.model.neighbor.Relationship
import software.amazon.smithy.model.shapes.Shape
@kubukoz
kubukoz / advent-type-level.scala
Created December 4, 2022 02:49
Scala's type system solution of Advent of Code 2022 day 1 part 1
import scala.compiletime.ops.int.{>, +, *}
import scala.compiletime.ops.string.{Length, Substring, CharAt}
import Tuple.Map
object StringOps {
type IndexOfRec[Haystack <: String, Needle <: String, I <: Int] =
((I + Length[Needle]) > Length[Haystack]) match {
case true => -1
case false =>
Substring[Haystack, I, I + Length[Needle]] match {
@kubukoz
kubukoz / cursed.scala
Created November 9, 2022 00:17
git conflicts parsing as Scala
object main extends App {
object <<<<<<< {
def HEAD(s: String) = this
}
implicit class StringOps(s: String) {
def =======(i: Int) = s
def >>>>>>>(i: Int) = i
}
//> using scala "3.1.2"
//> using plugin "org.polyvariant:::better-tostring:0.3.15"
//> using lib "com.monovore::decline-effect:2.3.0"
//> using lib "org.typelevel::cats-effect:3.3.14"
//> using lib "co.fs2::fs2-io:3.2.10"
import cats.effect.IOApp
import cats.effect.IO
import com.monovore.decline.effect.CommandIOApp
import cats.effect.ExitCode
error: can't decompile /Users/kubukoz/dev/scala-scripts/.bloop/root/bloop-bsp-clients-classes/classes-Metals-nKCKEcyTSeqo2gMsi6lw1w==/META-INF/semanticdb/src/main/scala/com/kubukoz/ForceActivate.scala.semanticdb
java.lang.StackOverflowError
at scala.runtime.Statics.anyHash(Statics.java:127)
at scala.collection.mutable.HashMap.get(HashMap.scala:78)
at scala.meta.internal.metap.SymbolInformationPrinter$InfoNotes.visit(SymbolInformationPrinter.scala:377)
at scala.meta.internal.metap.SymbolInformationPrinter$InfoPrinter.pprint(SymbolInformationPrinter.scala:267)
at scala.meta.internal.metap.SymbolInformationPrinter$InfoPrinter.pprintRef(SymbolInformationPrinter.scala:254)
at scala.meta.internal.metap.SymbolInformationPrinter$InfoPrinter.prefix$1(SymbolInformationPrinter.scala:187)
at scala.meta.internal.metap.SymbolInformationPrinter$InfoPrinter.normal$1(SymbolInformationPrinter.scala:247)
at scala.meta.internal.metap.SymbolInformationPrinter$InfoPrinter.$anonfun$pprint$25(SymbolInformationPrinter.scala:2
//> using scala "3.1.1"
//> using option "-Xfatal-warnings"
enum Foo { case Bar, Baz }
val x: Foo = ???
val y = x match { case Foo.Bar => 42 }
//>using scala "3.1.1"
//>using lib "org.typelevel::cats-core:2.7.0"
//>using lib "org.typelevel::cats-effect:3.3.9"
sealed trait Error extends Product with Serializable
object Error {
case object C extends Error
}
object demo {
# scala-cli --bloop-daemon-dir $(pwd)/./bloop-socket --bloop-bsp-socket $(pwd)/./bloop-socket/socket --bloop-bsp-protocol local -v -v -v -v . .txt
Checking for a running Bloop server at /Users/kubukoz/projects/playground/./bloop-socket ...
Attempting to connect to Bloop server /Users/kubukoz/projects/playground/./bloop-socket ...
Connection attempt result: None
Checking for a running Bloop server at /Users/kubukoz/projects/playground/./bloop-socket ...
Attempting to connect to Bloop server /Users/kubukoz/projects/playground/./bloop-socket ...
Connection attempt result: None
Bloop daemon status: not running
Starting Bloop 1.4.19 at /Users/kubukoz/projects/playground/./bloop-socket using JVM /Users/kubukoz/Library/Caches/Coursier/arc/https/github.com/adoptium/temurin17-binaries/releases/download/jdk-17%252B35/OpenJDK17-jdk_x64_mac_hotspot_17_35.tar.gz/jdk-17+35/Contents/Home/bin/java
Checking for a running Bloop server at /Users/kubukoz/Library/Caches/ScalaCli/bloop/daemon ...
Attempting to connect to Bloop server /Users/kubukoz/Library/Caches/ScalaCli/bloop/daemon ...
Connection attempt result: None
Checking for a running Bloop server at /Users/kubukoz/Library/Caches/ScalaCli/bloop/daemon ...
Attempting to connect to Bloop server /Users/kubukoz/Library/Caches/ScalaCli/bloop/daemon ...
Connection attempt result: None
Bloop daemon status: not running
Starting Bloop 1.4.19 at /Users/kubukoz/Library/Caches/ScalaCli/bloop/daemon using JVM /Users/kubukoz/Library/Caches/Coursier/arc/https/github.com/adoptium/temurin17-binaries/releases/download/jdk-17%252B35/OpenJDK17-jdk_x64_mac_hotspot_17_35.tar.gz/jdk-17+35/Contents/Home/bin/java
Fetching List(io.github.alexarchambault.bleep:bloop-frontend_2.12:1.4.19)
Found 119 artifacts:
// using lib org.http4s::http4s-ember-server:0.23.7
// using lib org.http4s::http4s-blaze-server:0.23.7
// using lib org.http4s::http4s-circe:0.23.7
// using lib org.http4s::http4s-dsl:0.23.7
// using scala 2.13.7
// using options -Xsource:3.0 -Wunused:imports -deprecation
import cats.effect.IO
import cats.effect.IOApp
import io.circe.Decoder
import org.http4s.HttpRoutes