最近、「ものの等しさ」について思うところが何点かあるので書き殴っておく。
数学での「等しさ」
ものを数学的な議論に載せる上で、「等しさ」というのは基本的な概念だと思われる。扱う対象の「等しさ」について合意ができない人と数学的な議論はできない。
続きを読む最近、「ものの等しさ」について思うところが何点かあるので書き殴っておく。
ものを数学的な議論に載せる上で、「等しさ」というのは基本的な概念だと思われる。扱う対象の「等しさ」について合意ができない人と数学的な議論はできない。
続きを読む本の諸々が一段落したので、最近はLaTeX処理自動化ツールClutTeXの開発を進めています。前(2023年11月)に計画を書いて以降の進捗を書きます。
続きを読む去る8月28日に、私が執筆に参加した「Binary Hacks Rebooted」が無事に発売されました。
「Binary Hacks Rebooted」はLinuxを前提に書かれたHackが多いです(特に前半)。しかし、読者の中にはMacを使っているという方も一定数いるのではないかと思います。というか、Macを使っている人にも読んでもらいたいです。
もちろん、Mac上でもDocker, multipass, QEMU等を使ってLinuxを動かせば、本の内容は再現できます。しかし、バイナリアンの気持ちとしては、マシンでネイティブに動いているOSを使ってHackしたいものではないでしょうか。少なくとも私はそうです。(まあMac上でネイティブにLinuxを入れるという手もありますが、それだと機材がMacである必要がないのでは?と私は思ってしまいます。)
また、x86-64 Linuxであれば本の内容がそのまま動くのは当たり前(※)なので、違う環境でどうなるか試行錯誤することによって圧倒的成長💪💪💪が見込まれます。(※と言いつつ、Linuxでもディストロによって、あるいはUbuntuであってもバージョンが違うと無変更で動くかはわからないわけですが。本に載っている実行例はUbuntu 22.04のものが多いと思います。)
というわけで、MacでmacOSを使ってBinary Hacks Rebootedの内容を試したいです。
続きを読むLunarMLを含む多くのStandard MLコンパイラーはStandard ML自身で記述されています。すでに動くStandard ML処理系があればSMLで書かれたコンパイラーを動かせますが、Standard ML処理系のない新しいプラットフォームでStandard MLコンパイラーを動かしたい場合はどうすればいいでしょうか?
続きを読む今月(2024年8月)末にオライリージャパンから出る「Binary Hacks Rebooted」という本の執筆に、著者の一人として参加しました。私は主に浮動小数点数周りの記事を執筆しました。
続きを読むLuaやJavaScriptを出力するStandard MLコンパイラー「LunarML」のバージョン0.2.0をリリースしました。
続きを読む今度の5月26日(日)に池袋でオフライン開催される技術書典16に、サークル「だめぽラボ」で新刊「Haskellでの型レベルプログラミング」を出します。既刊も在庫があるものは頒布します。
続きを読む西暦2038年問題はみなさんご存知ですよね。2038年1月19日午前3時14分7秒(UTC)を過ぎると 世界中のUNIXがばくはつする問題 time_t
が符号付き32ビットなプログラムで現在時刻を正しく扱えなくなる問題です。
C言語の time_t
は典型的にはUnix epoch(UTCで1970年1月1日午前0時)からの経過時間(うるう秒は考慮しない)を秒単位で保持しており、それが\(2^{31}-1\)に到達するのが2038年1月19日午前3時14分7秒(UTC)なわけですね。
2038年は割と近い将来なので、モダンなC処理系では time_t
を64ビット整数にするなどの対応を行なって2038年問題を乗り切ろうとしています。
それでも、時刻を固定長整数で表現する限り、いつか限界が来ます。「time_t
を64ビット整数にする」という対応は、問題を西暦2038年から西暦292277026596年に先送りしたに過ぎません。
そして、時刻の表現を「秒単位」ではなくもっと細かい単位にするとこの限界はもっと早くやってきます。この記事では、時刻の表現をどういう刻みで何ビットにすると限界がいつになるのかを検討してみます。
続きを読む