2014-05-01から1ヶ月間の記事一覧

HaxeでUnicode文字列をどう取り扱うか

Haxeには複数のターゲットがあり、文字列のAPIは共通だが、それぞれで文字列の内部表現が異なっている。普通にプログラムを書いても、ターゲットによって結果が変わってくる。 class Main { public static function main() { var s = "\u{20000}𩸽あëa"; tra…

Idris JavaScript FFI

IdrisからJavaScriptのAPIを叩いてみる。 module Main getElementById : String -> IO Ptr getElementById s = mkForeign (FFun "document.getElementById(%0)" [FString] FPtr) s setInnerHTML : String -> Ptr -> IO String setInnerHTML s e = mkForeign …

小瑠璃フォント生成用スクリプト書いた

小瑠璃フォント生成用スクリプト書きました。 参考にしたツイート ちなみに小瑠璃フォントの生成手順は簡単に言うと ・FontForgeを使いOpen Sansに含まれるグリフをM+ 1pから手作業で探しだして消す ・EMの大きさを2048に設定する ・Open Sansを統合する ・…

RustにおけるOptionの最適化

ネタ元: performance - What is the overhead of Rust's Option type? - Stack OverflowRustにはnull値がなく、代わりにOptionを使う。このOptionは、ポインタ型に対しては最適化されるそうだ。確認してみる。(rustc 0.10を使った。) use std::mem::size_of;…

将棋はゼロサムゲームか?

メタゲームについて思いついたことのメモ。たぶんおんなじようなことを考えたことがある人はすでにいっぱいいると思う。僕はよく知らないので、知っていたら教えて欲しい。現実のゲームというものは、ある思惑の下で執り行われている。たとえば勝てば賞金が…