Org-mode は省エネでいい。git で管理しても苦じゃないし。
あー、プライベートの Org-mode で参照している一部のファイルが Nextcloud に置かれていることを思いだした。これは Vultr の Object Storage とかをファイルシステムにマウントしたりして回避するか……。
Org-mode は省エネでいい。git で管理しても苦じゃないし。
あー、プライベートの Org-mode で参照している一部のファイルが Nextcloud に置かれていることを思いだした。これは Vultr の Object Storage とかをファイルシステムにマウントしたりして回避するか……。
写真保管庫としてはそこそこ機能はしているのと、廃止前に数人の友人に勧告しないといけないのが面倒だな。
Nextcloud でやっていたことの多くが org-mode に切り替わっている。
Nextcloud が実はもう不要論があり、これが支持される場合は結構浮くな。
まあ、以前と状況が変わってお金が惜しくなっているだけですね……。世知辛い話だ。
もう仮想通過はやめました。正直な話ビットコインで利益を出すと面倒なことしかないのでいまとなってはおすすめできない……。
個人のサーバー代をどうにかしてちょっと浮かしたいなー。どうにかできないか……。
もしも、tail call の最適化が非推奨になってるとつらいな。ちょっと sbcl の人がどう思ってるのか調べた方がよさそう。
tail call が最適化されると、Common Lisp では関数の挙動が変化しうる(私が知っているのはスペシャル変数と、関数のフック)ので、最適化をするのが Common Lisp 的にあまり正当ではないという感覚がある。
cl:reduce を使おうぜっていうのは斜め上の回答だな。たしかに。
お、Coalton が Tail Recursive になってない問題は既に提起されてるじゃん。やっぱノリとしては Lisp の処理系におまかせする雰囲気なんかな。https://github.com/coalton-lang/coalton/issues/252
Coalton の標準ライブラリにないような型クラスを思いつくのがちょっと難しいな。インスタンスの方を実装するのは色々思いつきそうなんだけど。
まさか大晦日に型クラスを手にしてしまうとは……。
型に守られたい部分とそうでない部分で分けて書いたりできそう。
Common Lisp なんでランタイムで色々変更できるっていう性質もあるんでもしかするとこれはすごく強いかもしれない。
ああ、今まで動的型付き言語のフォローしまくってたけど、Coalton を手元で使えるようになってしまったんで手の平を返すわ。型と型クラスは最高だよ。
ああ、型クラスが手に入ってしまった。何か抽象度の高い関数を書かなければ。
完成度低いけど、Typed Racket で型クラスの真似事をするためのマクロを書いたことあるし、これを見るだけども実は型クラスが欲しかったということがよく分かる……。https://github.com/tojoqk/type-class
いままで本当は型クラスが欲しいのに「これは私には要らないものだ……」とずっと自分に嘘をついていたんだ。OCaml を使ってたときはモジュールのファンクターを使えば型クラスとかなくても生きていけるとか思ってたし、Typed Racket も Typed Racket にしかない良いところがあるだろうと感じていたし、Guile を使ってるときは自分がミスらなければ別にいいわみたいな気持ちにすらなっていた。
しかし、Coalton で Common Lisp 上で型クラスのある静的型付きのプログラミング言語がシームレスに使えると知ってしまったその瞬間に知ってしまった。私は型クラスが欲しかったんだ。本当は型クラスを使って抽象度の高い関数を書きまくりたかったんだ……。
ああ、まさかマクロって危険じゃね?って言われたことがきっかけとなって Coalton を知ることになるとは……。まさか Common Lisp に静的型付きの波がここまで来てるとは。すごい。型クラスがあるから Typed Racket よりもなんか便利だし強い。
もうちょっと使って、強みと弱みを探していきたいところだが今日は大晦日だからもういいか。
おお、+ が型クラスを使った型定義になってるー!すごい……。型クラスが Lisp の手に……。
senooken JP Social is a social network, courtesy of senooken. It runs on GNU social, version 2.0.2-beta0, available under the GNU Affero General Public License.
All senooken JP Social content and data are available under the Creative Commons Attribution 3.0 license.