Skip to content

Instantly share code, notes, and snippets.

Avatar

Jason Zaugg retronym

  • Lightbend
  • Brisbane, Australia
  • Twitter @retronym
View GitHub Profile
View IteratorLinter.scala
package demo.compat
import scala.collection.{GenIterableLike, mutable}
import scala.tools.nsc.plugins.{Plugin, PluginComponent}
import scala.tools.nsc.{Global, Phase, Settings}
object IteratorLinter {
def main(args: Array[String]): Unit = {
println("go!")
val g = new Global(new Settings) {
@retronym
retronym / gh-markdown-api.sh
Last active Oct 8, 2021
Render the body of a GitHub issue in a local HTML file
View gh-markdown-api.sh
curl --silent --fail https://raw.githubusercontent.com/sindresorhus/github-markdown-css/gh-pages/github-markdown.css > /tmp/gh.css && (
echo '<html><head><link rel="stylesheet" href="/tmp/gh.css"/><style>@page { size: A4 landscape; }</style>
</head><body><div class="markdown-body">' && \
gh api repos/lightbend/scala-team/issues/188 -t '{{.body}}' |
gh api --field text=@- /markdown && \
echo '</div></body></html>' \
) > /tmp/out.html
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-gpu --headless --print-to-pdf-no-header --print-to-pdf=/tmp/out.pdf /tmp/out.html
@retronym
retronym / M.scala
Last active Sep 14, 2021
Rich Map woes
View M.scala
class M {
type AnyIterableOps[+A, Repr] = collection.IterableOps[A, Any, Repr]
def richMap[K, V, CC <: collection.MapOps[K, V, AnyIterableOps, CC]] = ()
def foo(m: scala.collection.immutable.Map[String, String]): AnyIterableOps[(String, String), scala.collection.immutable.Map[String, String]] = m
richMap[Int, String, scala.collection.immutable.Map[Int, String]]
}
View find.scala
object FindCollectionReturningHofs extends App {
import scala.tools.nsc._
val global = new Global(new Settings)
import global._
import global.settings
settings.usejavacp.value = true
settings.embeddedDefaults(getClass.getClassLoader)
View scala-compiler.jar-META-INF-MANIFEST.MF
+++ MANIFEST.MF
Manifest-Version: 1.0
Automatic-Module-Name: scala.tools.nsc
Bundle-ManifestVersion: 2
Bundle-Name: Scala Compiler
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-SymbolicName: org.scala-lang.scala-compiler
Bundle-Version: 2.12.15.v20210703-050957-52d9dbd
Class-Path: scala-reflect.jar scala-library.jar
View result.json
[
{
"jmhVersion" : "1.29",
"benchmark" : "org.sample.Jdk11PerfRegressionBenchmark.setPhase",
"mode" : "avgt",
"threads" : 1,
"forks" : 2,
"jvm" : "/Users/jz/.jabba/jdk/adopt@1.8.0-272/Contents/Home/bin/java",
"jvmArgs" : [
],
View gist:2e285db92cc4f967d68c70b532010c80
after boxUnbox
// access flags 0x1000001
public crash()V
L0
LINENUMBER 5 L0
L1
LINENUMBER 6 L1
ICONST_0
ISTORE 2
View gist:d4091c9ce792cb2bab24b29e8312032c
L0
LINENUMBER 5 L0
L1
LINENUMBER 6 L1
ACONST_NULL
ASTORE 3
L2
ACONST_NULL
ASTORE 5
GOTO L3
View gist:cc2dfa1c927c5492923c8acb43d8c3fb
L0
LINENUMBER 5 L0
L1
LINENUMBER 6 L1
ACONST_NULL
ASTORE 3
L2
NEW scala/runtime/ObjectRef
DUP
ALOAD 3