Skip to content

Instantly share code, notes, and snippets.

@lyricallogical
lyricallogical / sbt.txt
Created September 21, 2016 04:38
The sbt is a most common dish in japanese.
イベント開催サイトみたいなの使うまでもないのでこれを fork する感じで感じで。
sbt について語りながら sbt を食べる会です。四人くらい集まったら fork で予定日出し合いましょう。
moc aka @lyrical_logical
new Runnable() {
@Override
public void run() {
// some processes...
}
};
@lyricallogical
lyricallogical / patmat_bug_extractor_with_skolem.scala
Created February 6, 2016 16:13
extractor pattern で skolem 型変数の扱いが意味わからんという話。
import scala.language.higherKinds
sealed trait Base[F[_]] { // all compilation is succeeded if F' kind is *
def a: String
}
case class Ctor[F[_]](a: String) extends Base[F]
abstract class Etor[F[_]] extends Base[F] {
def f(q: Base[F]): String = q match {
case Ctor(fa) => fa // NP
case Etor(fa) => fa // error! why???
walk :: Var -> Subst -> Var
walk var subst = go var subst
where go :: Var -> List Var -> Maybe Var -> Var
go (Unbound k) stack acc =
case (subst k, acc) of
(Nothing, Nothing) -> Unbound k
(Nothing, Just u) -> Cons u v
(Just v, _) -> go v stack acc
go (Cons h t) stack acc = go h (t :: stack) acc
go v [] Nothing = v
@lyricallogical
lyricallogical / exhaustive.diff
Created January 9, 2016 19:45
scalac -Ypatmat-debug exhaustive0.scala と scalac -Ypatmat-debug exhaustive1.scala の diff
138c138
< enum class E sealed, subclasses: List(class Cons, trait L, object SNil)
---
> enum class E sealed, subclasses: List(class Cons, object SNil)
140d139
< checkableType(E.L): E.L
142,143c141
import scala.annotation.tailrec
import scala.language.higherKinds
sealed trait Freer[F[_], A] {
def map[B](f: A => B): Freer[F, B] = flatMap(a => Pure(f(a)))
def flatMap[B](f: A => Freer[F, B]): Freer[F, B] =
this match {
case Pure(a) => f(a)
case Impure(fa, g) => Impure(fa, g :+ f)
}
import scala.language.higherKinds
import scala.language.existentials
sealed trait Freer[F[_], A] {
def map[B](f: A => B): Freer[F, B] = flatMap(a => Pure(f(a)))
def flatMap[B](f: A => Freer[F, B]): Freer[F, B] =
this match {
case Pure(a) => f(a)
case Impure(fa, g) => Impure(fa, g :+ f)
}
@lyricallogical
lyricallogical / mannmennwomisiteike.txt
Created September 15, 2015 08:56
マンメンをミしていけ
S になったので、適当に取りとめもなく書く。対象は B くらいの人向けかな。
最後の A+99 までは、S+ S A+ の人と VC ありでタッグマッチしてたら何かあがったという感じなので、養殖じゃんという感じだけれど、まあ soloQ でも今週中には S いってたと思われるので良いだろう…
ホコ絶対に止めるマンとかちゃんとやってたし…あとモズクホコの中央北からの味方の BD に、いわれるでもなく一番に即対応できてたし…いやまあはい養殖ですね。
使っていたブキは、ほぼシューコラ。はじめは普通にスプラシューターだったんだけれど、スペシャルがあんまり弱いのでコラボに変えた。変えたら強かったので使い続けた。
プレイ時間は Wii U の記録によると 200 時間とあるが、結構放置しまくってる(今も放置してる…)ので、150 くらいだと思う。プレイ初めて二十日間ちょっとくらい。無職の力です。
手が悪く 500g もあるゲームパッドを動かすのは大変に辛いので、ジャイロ off 感度 +5 でやっている。チャージャーはあともう数百時間くらいしないと、使えるようにならないだろうなあ…
というかジャイロオフでもしんどいので任天堂は悔い改めて。
FPS 界隈はキルレートが高いほど良い、というような雰囲気があるし、実際そうだと思うのだけれど、このゲームはそこまででもない。勿論キルレートが高いに越したことはない。
@lyricallogical
lyricallogical / inner.js
Created January 30, 2014 08:43
kancoll
var DMM = DMM || {};
var gadgetInfo = {
VIEWER_ID : 11618627,
OWNER_ID : 11618627,
APP_ID : 854854,
URL : "http://osapi.dmm.com/gadgets/ifr?synd=dmm&container=dmm&owner=11618627&viewer=11618627&aid=854854&mid=9342714&country=jp&lang=ja&view=canvas&parent=http%3A%2F%2Fwww.dmm.com%2Fnetgame%2Fsocial%2F&url=http%3A%2F%2F203.104.105.167%2Fgadget.xml&st=5M87Wk1suZNxtt5Ls7WREVUvRTNykqHajI05FuqIFE%2FVep0GgVvb3A980y3FO9FNljWPnnzxN%2F0gFuv16FD1Sj%2FYBuq54G0w6FciJ5v9hIVem6BSL0iKCifwcAyBWnRQr86TFsq90zgZnJWe74rWsaAd%2FGvu0giHnK0bO2EQ42LizLnOf7yRGyX%2FWPLd45%2FNZCB3LQ%2FKt9hq%2BpV2K4V3j9%2FpYQY%3D#rpctoken=2094051057",
FRAME_ID : "game_frame",
ST : "5M87Wk1suZNxtt5Ls7WREVUvRTNykqHajI05FuqIFE/Vep0GgVvb3A980y3FO9FNljWPnnzxN/0gFuv16FD1Sj/YBuq54G0w6FciJ5v9hIVem6BSL0iKCifwcAyBWnRQr86TFsq90zgZnJWe74rWsaAd/Gvu0giHnK0bO2EQ42LizLnOf7yRGyX/WPLd45/NZCB3LQ/Kt9hq+pV2K4V3j9/pYQY=",
TIME : 1391068481};
@lyricallogical
lyricallogical / twitter-autocompletion-disabler.user.js
Created January 24, 2014 12:42
userscript to disable autocompletion on twitter
// ==UserScript==
// @name twitter-autocompletion-disabler
// @namespace lyrical.logical
// @description disable autocompletion on twitter
// @match https://twitter.com/
// ==/UserScript==
(function() {
var form = document.getElementsByClassName("tweet-form")[0];
var menu = form.getElementsByClassName("dropdown-menu typeahead")[0];