Skip to content

Instantly share code, notes, and snippets.

View kmizu's full-sized avatar

Kota Mizushima kmizu

View GitHub Profile
object StringLiteralType {
def isAType(arg: String): Unit = arg match {
case _ : "a" => println("This is `a` type")
case _ => println("not `a`")
}
def a1 = isAType("a")
def a2 = isAType(new String("a"))
def a3 = new String("a").isInstanceOf["a"]
object StringLiteralType {
def isAType(arg: String): Unit = arg match {
case _ : "a" => println("This is `a` type")
case _ => println("not `a`")
}
def a1 = isAType("a")
def a2 = isAType(new String("a"))
def a3 = new String("a").isInstanceOf["a"]
public class LargeStringInterpolation {
public int a();
Code:
0: aload_0
1: getfield #15 // Field a:I
4: ireturn
public java.lang.String s33();
Code:
0: aload_0
object LargeStringInterpolation extends App {
val a = 1
val s32 = s"$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a"
val s33 = s"$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a"
val s34 = s"$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a"
val s35 = s"$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a"
println("Hello")
}
@kmizu
kmizu / A.scala
Created July 29, 2019 15:11
A.scala
class A {
def foo(x: Int): Int = 1
}
@kmizu
kmizu / BehaviorOfFinal.scala
Last active July 12, 2019 05:55
Effect of explicit final modifier for an object definition (it depends on scalac's implementation detail)
final object ExplicitlyFinalObject {
val NonFinalVal = 1
final val FinalVal = 2
}
object ImplicitlyFinalObject {
val NonFinalVal = 1
final val FinalVal = 2
}
@kmizu
kmizu / M.hs
Created July 8, 2019 05:35
Ambiguous occurrence
class M a where
(+) :: a -> a -> a
add x y = x + y
main = do print "Hello"
@kmizu
kmizu / Nesting.scala
Created March 11, 2019 03:47
Parses parens
sealed abstract class Nest
case class NLeaf(code: Char) extends Nest
case class NList(elements: List[Nest]) extends Nest
def group(tokens: List[Char]): List[Nest] = {
def process(nest: List[Nest], acc: List[Nest], remain: List[Char]): (List[Nest], List[Nest], List[Char]) = {
remain match {
case Nil =>
(nest, Nil, Nil)
case ('(')::rest =>
@kmizu
kmizu / Hello.sc
Created March 7, 2019 11:33
Syntax Highlighting Test
object Hello extends App {
def main(args: Array[String]): Unit = {
println("Hello")
}
}
@kmizu
kmizu / T1.scala
Last active February 2, 2019 14:30
Write instances of Ordering[T] manually
sealed abstract class T1
object T1 {
case class A(x: Int) extends T1
case class B(x: Double) extends T1
case class C(x: String) extends T1
implicit val ordA: Ordering[A] = (a, b) => a.x compare b.x
implicit val ordB: Ordering[B] = (a, b) => a.x compare b.x
implicit val ordC: Ordering[C] = (a, b) => a.x compare b.x
}