Swiftではデフォルト状態だとtupleの比較が出来ないというのは以前書いた通りだが、関数どうしも===できないので、出来るようにしてみた。 SYNOPSIS func peekFunc<A,R>(f:A->R)->(fp:Int, ctx:Int) { // let (hi, lo):(Int, Int) = reinterpretCast(f) typealias IntInt = (Int, Int) let (hi, lo) = unsafeBitCast(f, IntInt.self) let offset = sizeof(Int) == 8 ? 16 : 12 let ptr = UnsafePointer<Int>(lo+offset) return (ptr.memory, ptr.successor().memory) } @infix func === <A,R>(