20:13:31 [g000026'in]
20:13:37 <g000026> 今日も Successful Lisp / David B. Lamkins ぼっち読書会やります
20:14:19 <g000026> http://psg.com/~dlamkins/sl/chapter25.html
20:14:24 <g000026> (((Chapter 25 - Connecting Lisp to the Real World)))
20:14:56 <g000026> 外界とのやりとりということで、FFI関係の話のようです
20:16:07 <g000026> FFIは、Foreign Function Interfaceの略で、他の言語とやりとりするためのインターフェイスですが、
20:16:58 <g000026> 今となっては、殆ど Cとのやりとりでしょうか。昔は、pascalとかfortranとか普通にあったみたいです
20:17:47 <g000026> 昔からの定番拡張ですが、標準化はされてないところになります。標準化しよう、という話は何回も浮上してはいるようです
20:18:07 <g000026> ((((Foreign Function Interfaces let you talk to programs written in "foreign languages"))))
20:21:21 <g000026> ここもFFIとは、というような話ですね
20:21:27 <g000026> ((((Would you wrap this, please?))))
20:28:08 <g000026> FFIは具体的になにをするのかというような説明です
20:29:08 <g000026> 異言語間のデータ表現の仲介、呼出規約の仲介、メモリの扱い等々の面倒をみてくれる、というところです
20:30:43 <g000026> ((((I'll call you back...))))
20:32:32 <g000026> 他の言語をFFIを通して呼ぶだけで済むこともありますが、値を返して欲しかったり、さらに複雑なことをしたい場合には、コールバック関数を定義したりしますが、その辺りの話です
20:33:29 <g000026> FFIが標準化されていないということもありますが、この章はコードもなくて割と抽象的な話ですね
20:33:39 <g000026> ((((Network Interfaces: beyond these four walls))))
20:35:27 <g000026> FFIが活躍しているところとして、ネットワークサポートの説明でしょうか
20:36:33 <g000026> ベンダーによって色々ありますよという感じですが、いまどきのフリーソフトの処理系でもサポートしてないものはないというところです
20:36:57 <g000026> CFFIというコンパチレイヤーのライブラリが割とメジャーなところかと思います
20:37:35 <g000026> というところで、25章は終わりです
20:37:40 <g000026> 次回は26章からです
20:37:46 [g000026'out] ; Quit: (quit)
20:53:39 [ponkore'in]
20:54:16 [ponkore'out] ;