PayPayの新「マイレージ・クーポン」サービスとは何か、ユーザーが気をつけるポイントとLINEとのシナジーの行方 | Business Insider Japan
https://www.businessinsider.jp/post-263267
PayPayの新「マイレージ・クーポン」サービスとは何か、ユーザーが気をつけるポイントとLINEとのシナジーの行方 | Business Insider Japan
https://www.businessinsider.jp/post-263267
これ項目記事自体は英語記事からの翻訳だと思うんだけど (Graham 1994) で reference してるとこは英語版にはなくて、日本語版記事を建てた人が勝手に実装量の話題と共に挿入した挙句に書題などをどこにも追記してないんだとおもうけど、1994 年に Graham 氏が著述した Lisp 本は『On Lisp』なので実際に手繰ってみるとたしかに pp348— に OOP の実装について記述がある
単に『On Lisp: Advanced Techniques for Common Lisp』に実装が掲載されていたから以上の話ではなさそう
Common Lisp Object System - Wikipedia https://ja.m.wikipedia.org/wiki/Common_Lisp_Object_System
> CLOS は強い型付けをもつ動的(実行時に定義を変更できる)オブジェクトシステムであり、C++やJavaのような静的なオブジェクト指向言語とは大きく異なる。
ホ㍂
> LISPにオブジェクト指向を導入することは簡単である。2ページ程度のコードがあれば実現できる(Graham, 1994)。
あっはい……
単に『On Lisp: Advanced Techniques for Common Lisp』に実装が掲載されていたから以上の話ではなさそう
This account is not set to public on notestock.
private だの public だのカプセル化のための隠蔽機能がないのはそうなんだけど、単に特定のメンバーに直接アクセスする記法をマナーとしてやらないように書くか、それともコンパイラに強制的に禁止してもらうかの違いで runtime がチェックするわけでもないしな
そんな変わってるかというと Stroustrup の OOP における class って C でも struct に関数ポインタ持たせれば実現できるし、親子関係も最初のメンバーに親クラスになる構造体持たせて型キャストするだけで出来ちゃうのでべつに……なとこがある
This account is not set to public on notestock.
GCC 拡張も併用して無名関数も使えばあるいは(もうそこまで行くと、C に関数型的な機能が拡張で乗ってるから書けるようになった、と言ってるようなもんだけど
関数をインラインに書けないのはだいぶ厳しそう。型を匿名にして値を書けても、 operator() が離れた場所に生えてしまうのでエルゴノミックでない (エルゴノミックでないのは最初からそれはそうという話でしかないが……)
特に前者については COM とか GLib とかのよく使われている実例がある
むかし C++11 で書いたコードを C にハンドコンパイルしたときは、 lambda とかはキャプチャを持つ構造体とその構造体を受け取り operator() 相当の処理を実行する関数に分けて書いた。 C++ のそういう素朴にコンパイルできるところはすごいと思う。系譜の連続性を感じる
まあそれも static なスタック変数をとる関数つくって、それを魔クロでうまいこと包んでそれっぽい見た目にして、とかいろいろ死ぬほど頑張ればクロージャっぽいもの作れそうだしそれをうまいこと使えばカリー化もどきみたいなのも出来そうだけど、めっちゃバグりやすそうな上に単に書き辛くてつらい気持ちにしかならなさそう
This account is not set to public on notestock.
たとえば C を例にとると、OOP なんかぜんぜんできるけど、関数が第一級オブジェクトではないので関数型的な書き方は(関数ポインタとかでがんばれば partial に出来なくはないが)継続やらカリー化はやっぱりほぼムリだし厳しい
This account is not set to public on notestock.
ただ少なくとも、よくある結婚のときに宝石のついたリングを贈るイメージのやつは婚約指輪です(結婚指輪のほうはずっと付けっぱなしにするのでそんな華美でゴツゴツしたやつにしない、普通はシンプルなリングにする)
婚約指輪は普通、男性から女性へ婚約の証として、かつ万一男が死んだときこれを質にでも入れてしばらくの生活費にしてくれ的な意を込めダイヤモンドの指輪などを贈るのが伝統的な習慣とされていて、一方結婚指輪は既婚のしるしとしてペアのシルバーのリングを夫婦それぞれが常に身に付けるものですね
そう言えばアレなんで輪っか3つも並べてあるん?3つ目って誰用なの、保証人?
OOP などはある現実の問題をソフトウェアとしてモデリングするかというアーキテクチャの問題だけど、手続き型か関数型かというのはそういうアーキテクチャの問題が立脚するプログラミング言語の記述の根本的な書き方そのものの部分だから oriented という言い方にはならない気がする
This account is not set to public on notestock.
AY-3-8910 と YM2149 のエミュレーターとして ayumi http://sovietov.com/app/ayumi/ayumi.html があるらしくてここから来てるのだと思うが、ドメインが sovietov.com なの強火すぎる
rockbox の libayumi ってなんだよ、とおもったら MSX とかに使われてた PSG 音源の AY-3-8910 のドライバーみたいなやつだった
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.