去る6月14日・15日に東京・中野で開催されたイベント「関数型まつり」に行ってきました。と言っても、14日は地元で予定があったので、参加したのは15日だけです。
3つの部屋でセッションが同時進行しており、どれも面白そうだったので、分身の術を習得しておかなかったのが悔やまれます。
直接聞いた発表に限らず、資料のみ見た発表についても、いい機会だと思って思ったことを書かせてもらいます。
続きを読む
構成的数学に基づいて解析学を展開し、プログラミングでそれを実装するようなコンテンツを作れないかなあと去年ぐらいから考えています。
構成的数学と一口に言っても、選択公理をどのくらい認めるかによっていくつか流儀があります。Bishopの構成的数学は従属選択公理 (dependent choice) を認めていますが、人によっては可算選択公理 (countable choice) すら使いたくないかもしれません。
Bishop流の構成的数学では、古典数学とそう変わらない実数論が展開されています。これは可算選択公理が使える、という点が大きそうです。
それでは、可算選択公理を仮定しない構成的数学だと実数の概念がどうなるか気になるのが人情だと思います。
続きを読むプログラミングをやっていると、「関数に副作用がある」とか「副作用がない」あるいは「純粋である」という話をちょいちょい耳にする。そして、「外界の状態を読み取るけど変更はしない関数」、例えば
function getTime() {
return Date.now();
}
のような関数に副作用があるか?みたいな議論が始まったりする。
くだらない議論だ。
何か概念を定義するときは、それが「役に立つ」場面を提示できる必要がある。「関数の副作用」を定義するときは、「関数の副作用」がわかったときに何をしたいのかをはっきりさせる必要がある。「関数のどういう側面に注目したいか」を決めずに「副作用の有無」を論じるのはナンセンスだ。
ここでは、言語処理系(コンパイラー)を実装する者の立場で、関数の副作用について論じてみたい。
続きを読む人生をやっていると、大きな出費の瞬間が何回か訪れる。自動車の購入はその一つだ。
私が今住んでいる場所は都会というほどではないが大きな駅の徒歩圏内で、正直言って大人二人で生活する分には自動車はそんなに必要ない。自動車が必要ならカーシェアやレンタカーを使えば良い。だから自動車はこれまで持っていなかった。
しかし、色々あって今回自動車を購入することにした。
続きを読む自分が出している技術系同人誌の執筆の話を書いておく。
続きを読む今度の6月1日に池袋で開催される技術同人誌即売会・技術書典18に、サークル「だめぽラボ」として新刊「作ってわかるTeX言語」を出します。既刊も、在庫のあるものは頒布します。
続きを読むIntelはコンピューターの頭脳、CPUを作っている会社です。CPUで動作するプログラムを書くためには、プログラムを低レベルな命令の列に変換し、その命令の列を特定の規則に従って変換したバイナリー(機械語)を用意しなければなりません。IntelのCPUが提供する命令や機械語について、Intelが用意しているマニュアルがIntel 64 and IA-32 Architectures Software Developer’s Manual、略してIntel SDMです。
Intel SDMの最新版は「Intel® 64 and IA-32 Architectures Software Developer Manuals」から入手できます。全部合わせて5000ページ以上あります。
Intel SDMも人間が書いているマニュアルなので、時々誤植等があります。容易にそれとわかる誤植なら可愛いものですが、時にはわかりにくいものもあります。
December 2024の版における、CVTSS2SI命令の説明を見てみましょう。これは単精度浮動小数点数(Scalar Single-precision)を符号付き整数(Signed Integer)に変換する命令です。
続きを読むブログ等にちょいちょい書いていますが、私はこの数ヶ月ほどGHCのSIMDサポートの改善を進めています。
この3ヶ月間はx86 NCGで整数のSIMD演算を使えるようにするパッチを書いており、数日前にマージされました。一つのマイルストーンだと思うので記事にしておきます。
続きを読む