Skip to content

Instantly share code, notes, and snippets.

(:typelogic.core/var unquote _0)
(:typelogic.core/var unquote-splicing _0)
(:typelogic.core/var *print-length* nil)
(:typelogic.core/var list clojure.lang.IFn)
((:typelogic.core/var method-sig (:typelogic.core/fn ((_0) _1)))
:-
(_0 <:< java.lang.reflect.Method)
(clojure.lang.PersistentVector <:< _1))
((:typelogic.core/var cons (:typelogic.core/fn ((_0 _1) _2)))
:-

464ページ

また、Javaでは==や!=で比較できるのは基本型に限られ、オブジェクトの比較は原則としてequalsメソッドを使いました。Scalaでもこれはほぼ同じですが、テキスト(String)も==や!=で比較することができます。

String だけ特別な扱いのような誤解をあたえる?

@ysaotome
ysaotome / installing_ricty_on_MacOSX.sh
Last active December 27, 2015 06:59
プログラミング用フォントRitcyをOS X Mavericks (10.9)でセットアップ。要 homebrew https://github.com/yascentur/Ricty
#!/bin/bash
## install fontforge
brew install fontforge
##mkdir work
mkdir ~/.Trash/ricty
cd ~/.Trash/ricty
## get fontfiles
@xuwei-k
xuwei-k / ScalaUtils_vs_Scalaz.scala
Last active December 26, 2015 04:59
ScalaUtils vs Scalaz7
import scalaz._, Scalaz._
object Main extends App{
type ErrorMessage = String
def parseName(input: String): ValidationNel[ErrorMessage, String] = {
val trimmed = input.trim
if (!trimmed.isEmpty) Success(trimmed) else s""""${input}" is not a valid name""".failNel
}
import scalaz.stream.Process
import java.nio.{ByteBuffer,CharBuffer}
import java.nio.charset.Charset
object Decoder {
type Bytes = Array[Byte]
def decode(charset: Charset, leftovers: Bytes = Array()): Process.Process1[Bytes, Char] =
Process.receive1({ data =>
@milessabin
milessabin / gist:6707525
Created September 25, 2013 23:14
New in shapeless 2.0.0-SNAPSHOT (post M1): lazy recursive implicit values ... normally you would expect the recursion between List[T] and Cons[T] to cause the implicit resolution for Show[T] to blow up with a diverging implicit expansion.
import shapeless._
sealed trait List[+T]
case class Cons[T](hd: T, tl: List[T]) extends List[T]
sealed trait Nil extends List[Nothing]
case object Nil extends Nil
trait Show[T] {
def apply(t: T): String
}
@leon
leon / Grunt.scala
Last active September 3, 2016 02:23
Playframework 2.2 Grunt Runner
import sbt._
import Keys._
import java.net._
import java.io.File
import play.PlayRunHook
/*
Grunt runner should be in project directory to be picked up by sbt
*/
object Grunt {
@halcat0x15a
halcat0x15a / cookie.clj
Created September 16, 2013 05:50
cookie.clj
@gakuzzzz
gakuzzzz / action.scala
Last active December 22, 2015 21:19
Play2.2 ActionBuilder extended
package play.api.mvc
import play.api.libs.iteratee._
import play.api._
import scala.concurrent._
import scala.language.higherKinds
import scalaz.Id._
trait ActionBuilder[R[_], I[_]] {
@xuwei-k
xuwei-k / build.sbt
Created September 10, 2013 01:15
scala collection monad
scalaVersion := "2.10.2"