2015-01-01から1年間の記事一覧

Scala で by-name parameter を乱用するライブラリが気に食わないたった1つの理由

効率が悪いことはこの際おいておこう。CPS plugin および類似システムのとの相性が悪いからである。 By-value ならT型のパラメータにT@cpsParam[A,B]型の式を渡せるが、by-nameの=>T型のパラメータにはT@cpsParam[A,B]型の式は渡せない。 互換性が破れている…

ICPCに持って行った自作タンブラー

最近は台紙を入れ替えることで柄を変えられるタンブラーが存在しているらしい。 コドフェにインスパイアされてICPCに持って行ってみた。 こんなの↓ ポスターを切り貼りして作ったのとJAGアイコンの配色で適当に作ったもの。 扇型でかなりデザインが面倒だっ…

最近 Firefox で画像が表示されないことが多かった件と対処法について

昔サイコロを振った結果 Firefox だったのでずっと Firefox を使っているのだが、最近画像が正常に表示されないことが増えた。その件について原因の調査と対処法をまとめる。

Go でプロコンに出てみた (後編)

前回の続き

Go でプロコンに出てみた (前編)

近年、Go言語を採用したプロダクト・企業も増えてきたという話を聞くので、ABC で使ってみた。 *1 入門書は読まず、詰まってからググる方針で。 なお、最終的にはこれを投げました。 Submission #415726 - AtCoder Beginner Contest 024 | AtCoder 目次 前編…

lazy in Scala macro

めも lazy は macro 展開前に部分的に desugar される。ここからいくらか実装を察することができる。 展開前 lazy val a = 10 展開後 { lazy <artifact> var a$lzy: Int = _; <stable> <accessor> lazy def a: Int = { a$lzy = 10; a$lzy }; () }</accessor></stable></artifact>

ごま塩

ごま塩のごまと塩が均等に出てくる原理の説明に怪しいものを見つけた。 塩が小さい粒のままではゴマと比べ小さく比重も大きいため、次第に塩が下に沈み振ってもゴマのみが出てくることになりやすいが、塩を顆粒状にすることでゴマと比重を同程度にし、均等に…

ATS2

homebrew をなんとなく見てたら最近有名になりつつある ATS2 (ats2-postiats) があったので入れてみた。が、チュートリアルの通りに hello world をコンパイルしてみようとしたところ lib64 がないと言われた。なので以下のようにシンボリックリンク貼って解…

ドワコン

出てみた。 開始前 『正の点数をとれたら上級者です』とかいう不穏なメッセージを目撃する…。 A 20 点しかないのでやるだけかなーと思ったけど全然そんなことなかった。 DP なのはわかったけど、苦手な数え上げが2段になっていて絶望する…。 1問くらい解こう…

Scalac の最適化オプション

scalac は -optimise をつけるとより効率のよいバイトコードを吐きます。(安定性にちょっと不安があるけど…) ところで最適化オプションにはその他に -Yhoge 系のが 5 個あって、これと -optimise と両方つけるとより速くなるのかなんなのかググっても、マニ…

生存報告

せーぞんほーこくー