Show newer

class-oriented でなく object-oriented なところを見ても、 functional とはレイヤー違うなという素朴な印象は実際ある

プログラムのモデルを作る部分での指向を手助けするための言語設計なのか、そもそも言語理論そのものについての思想があっての言語なのかというか (?)

Show thread

object-oriented は reactive とレイヤー近そうだなという印象は少しあるかも (同じかというとそれも微妙かもしれないが)

VegeTABLE が生えてくるのは仮想関数だし……とか迷走してた

「オブジェクト指向」してないプログラミング言語を(言語の標準機能として提供されてない継承なんかを模擬することで)オブジェクト指向っぽく書くことと、非関数型言語で関数型プログラミングすることの“難易度”って全然違う?

両方 C で試されてそうなので実例を比較した方が早いかも (適当)

特に前者については COM とか GLib とかのよく使われている実例がある

Show thread

たとえば C を例にとると、OOP なんかぜんぜんできるけど、関数が第一級オブジェクトではないので関数型的な書き方は(関数ポインタとかでがんばれば partial に出来なくはないが)継続やらカリー化はやっぱりほぼムリだし厳しい

関数ポインタ返しても、カリー化したことにならないからなぁ
…ならんよな?

まあならんのよね。なんで高階関数は一部できなくもないが、せめてクロージャ的なのがないとやっぱムリやなになる

単に『On Lisp: Advanced Techniques for Common Lisp』に実装が掲載されていたから以上の話ではなさそう

嘘メタデータの印象深い思い出、なろうで異世界モノが氾濫して異世界転移/転生ジャンルが新設されたとき「異世界でない SF のつもりで書いてたし後ろの方でちゃんとそうであることが判明するのに、運営に勝手に異世界カテゴリに移動・固定されて再設定もできない」みたいなこと言ってる人がいた

御託はいいから fediverse とは何なのか Mastodon とは何なのか、端的に理解する - 何とは言わない天然水飲みたさ
blog.cardina1.red/2022/11/08/f

> 端的に言えば、 Mastodon とか fediverse とかいうのはメールとメルマガのようなものです。

マジでこれしか言うことがない。むこう数ヶ月は同じこと言い続けると思う

C11 とかだと無名構造体とかあるし気合いれれば関数型っぽい書き方のナニカつくれたりするのかね。

関数をインラインに書けないのはだいぶ厳しそう。型を匿名にして値を書けても、 operator() が離れた場所に生えてしまうのでエルゴノミックでない (エルゴノミックでないのは最初からそれはそうという話でしかないが……)

Java とかはだいぶ妙な文法を生やしてたけど、あれは構造体 (に相当する class) がメソッドを持てるという土台があっての話だからなぁ

というか C++ は enum にメンバ関数作らせてくれという気持ちが強い。まあたぶん暗黙の型変換まわりのあれこれで厳しいのだろうけど……

関数型で Objective を名乗っていた OCaml なんかを眺めると得るものがあるかも

めちゃな暴論だろうけど、オブジェクト指向は「書き方」で関数型は「考え方」なのか…いや、まったく適切に思えないぞこの喩え。
C言語から見たらJava言語のclassは考え方めちゃくちゃ変わってるわけだし

Show older
CleverLibre Social

CleverLibre Social is an inclusive social instance for open discussion, learning, and community.
All cultures welcome.
Hate speech and harassment strictly forbidden.