動的型付という性質上どうしてもプロダクトの堅牢性が落ちてしまう

kdotdev.com

「動的型付という性質上どうしてもプロダクトの堅牢性が落ちてしまう」という意見は、動的型付のCommon Lisp界隈ではほとんど耳にしたことがない。 Common Lispには100万行超のプロジェクトもぽつぽつあるが、堅牢性に難があるという話も耳にしない。100万行越えのプロジェクトの例だとAxiomなどがある。Google Flightの中身もビルドに数時間掛るような規模のCommon Lispである。

www.open-axiom.org

Common Lispには実行時にしか動作が確定しないような文法も用意されているが、evalにせよprogvにせよプログラマは殆ど使わないし、使うとしても意図がはっきりしているので、意図せぬ濫用もあまりない。 マクロはコンパイル時に実行されるevalともいえるが、Common Lispの大抵のメタプログラミングコンパイル時で済んでしまう。

Common Lisp(SBCL)程度のコンパイル(ゆるい静的チェック)ができればRubyでも一般的な業務の範疇の堅牢性位は担保できるのではないだろうか。

抽象化という言葉で想起されるモデル

「抽象化」というと「高い」「低い」、「上げる」、「下げる」、「階層/レイヤー」という言葉を伴なうことが多いので、多くの人は、階層が積み上がったものを想像しているのではないかと思う。 また、全く違う概念を積み上げている雰囲気はないので、階層間には暗黙として概念の継承が前提とされていると思う。 自分もそういう想像をしていたが、大堀先生のYouTubeの講義の中でプログラムの副作用について、

  • プログラムは副作用が主目的
  • 手続き型言語は実世界の副作用を直接的に扱う
  • 関数型言語は副作用は直接扱わずその世界に閉じており、実世界で副作用がある操作とマッピングすることにより目的を達成する

ようなことを説明していた。 副作用に関しては、一つの現実世界を扱う言語と、純粋な世界と現実界とのマッピングというのが、これまでで一番納得できる説明だったかもしれない。 そこで話が飛躍するが「抽象化」について考えるに、階層として捉えるより、各々の世界と概念のマッピングと考えた方が色々としがらみなくすっきり把握できることも多いのではないだろうかと思ったりした。階層を想起することにより階層間の無意識の既存概念の継承がよくない影響を及ぼすこともあるのではないだろうか。とはいえ階層間の継承を利用しなければ不便なことも多いだろう。 しかし、個人的には色々すっきりした。例えば、古典哲学は、概念とそれが作用する世界は何だかんだで一つの世界として扱っているように思える。ヴィトゲンシュタイン論理哲学論考は、言語の世界と現実世界を分けたように思える。この辺りがヴィトゲンシュタインが哲学としては特異なところでもあり、理系の人にも好まれる理由なのかもしれない(後期は古典的な哲学の世界に近付くが)。 まあ、色々全然違うのかもしれない。

無伴奏の最初の一音が長調の第三音に聴こえた謎

長調の第三音といえば相対音名でだが、一音しか鳴っていないのにに聴こえる不思議(そうでもない)な体験をした。

www.youtube.com

理由を考えてみるに、

  • 楽譜を目にして無意識下で長調の第三音であることを認識してしまった
  • 直後のベースがと入ってくるので、だと認識したのは実は主和音が確立した後だった
  • 単なる偶然

あたりな気がする。ほかには、Come rain or come shine(キーはF)っぽいからとも思ったが開始直後にそういう認識はなかった。

ハードワイヤード

ハードワイヤードというと変更不可能という印象があるけど、本物のワイヤラッピング時代では手作業で配線を変更して命令を追加できたりしたらしい。

【

Since the PDP-10 instruction set was hard-wired, a simple wirewrap tool could be used to change how instructions worked. And was. I recall that the MIT-AI machine (maybe others too) acquired a new ROT (rotate) instruction that rotated "the other way", i.e., clockwise versus counterclockwise. That was somehow useful in the Chess program.

】

One Fast Cat 第6世代

One Fast Cat 第6世代が登場したらしい

www.youtube.com

本日のセールで¥32,800($219)のところが¥29,800($199) 昔より若干安くなったようなそうでもないような。 しかし日本への送料と税金を含めると¥57,000弱となる。値引き前なら¥60,000弱だ。

自分が2016年の今頃に購入した第1世代は、日本の代理店からの購入で送料込で、¥26,800だった。 丸7年使ったので年あたりにすると約3900円弱。輪の内側のパッドはボロボロになったのでホームセンターで似た素材を買ってきて交換。 ローラーは第1世代の場合は、直径100mmのローラーブレード用ホイールで代用できるが、もうすこし持ちそう。 ベアリングはガタガタいうようになったので交換した。

なんだかんだでこの7年間毎日回しているので、まあ買って良かったかもしれない。 轟音が難だけど。

消滅したサイトをRSS購読その後

消滅したサイトをRSS購読してみて10日位経過したが、なかなかQoLが向上している気がする。 もちろんCommon Lisp関係のトピックがなかなか刷新されないというのはあると思うが……。

とりあえず古くても何度読んでも面白そうなものを置いてみる。

※shiroさんのブログは勿論消滅していません。