たてたてよこよこまるかいてちょん

組み込み関連の情報を共有するためのブログです

関西Lispユーザー会 第二回 潜入の巻

関西Lispユーザー会 第二回 @グランフロント大阪 は Sakura Internetさんの提供でお送りしています。

会場

  • Sakura Internet グランフロント大阪 A塔 35階
  • Wifi あり
  • 会場費 100円 おかし代
  • 写真撮影OK ただし室内に限る。窓の外は写さないこと。

そのた全体

  • 一部の発表が英語だったので驚いた。
  • Lisp といいながら多くは CLer で Schemerの人がいない
  • なんかいろいろ時間がズレたりしたがだいたい時間どおりに終った
  • 高専生もいるので、公式には飲み会なしになった (非公式に5人で飲み会にいった)

ショートプログラム

各20分です。

Common Lisp の紹介

Lispをプログラム紹介することで、Lisp の良さを伝えたい。
プログラミング言語Rubyの冒頭にあるサンプルプログラムの数独ゾルバをLispで書いて比較した。

プログラミング言語 Ruby

以下感想

「やっぱり Lisp は最高やね。プログラミング言語界広しといえども、こんな表現力のある言語はほかにいません」とルーディーラッカーの解説をもじっみる。

しかし、オリジナルの数独はできるだけ、rubyで使われる技法をたくさんとりいれて紹介するという目的で作成されていたので、Lisp版ももっと いろいろな技法をいれたほうがいいのではないかなと思った。

Lisp不完全性定理

Lisp不完全性定理が似ている?と思った人がいろいろ語っていた。

  • Lisp不完全性定理 で検索すると8000件ぐらいひっかかる。
  • 不完全性定理といっても、自己言及する命題の真偽は決定できないものがあるということ

どうも、 is-resolve? という関数が実装できないことが騙された感の原因かもしれない。

もしこのような関数が実装できたとしたら、矛盾が発生する、そのため実装できないのですよ。ということがいいたいはず。

ちなみに Lisp不完全性定理 で8000件もあるのは、Lispでかくと自己言及がわかりやすく書けるから、だと思っている。たぶん、Cでも関数ポインタを駆使すれば自己言及できるけど、それがわかりにくいんだよね。

やっぱり Lisp の表現力は最高やね。

自己修正可能なLisp

Common Lisp で 自己修正する Lisp系方言を作成した話。

AIをつくる、方法としてプログラムやアルゴリズムを与える方法はいまいちなのではないかということから、できるだけ制限なしに、Lispを自己修正していけるようにする方法を提案しているのだとおもう。

  • シンボルテーブルか、書き換えルールを変更していく。
  • シンボルはシンボルを返す関数として定義する。(自己修正にするため?)
  • ただし、primitive な要素 (quoteやdefunなど) は独自のものを使う
ABCL
  • ABCLの特徴
  • JVM使える
  • Java とまぜられる
  • quicklisp が使える
  • Java のライブラリを呼ぶことができる。

Clojure使えば? と思ったが、ClojureCommon Lispではないとのこと。

つまり、Common Lispでプログラムを作成しているが、 Java のライブラリが必要になっり、かつ既存のCL部分はもう書き直したくない、というときには使えるとのこと。

そういう状況ってレアだと思うがまあ、全くないとはいえないかな。

ちなみに、私はABCLを使っていません。

発表資料あり https://kansai-lisp-useres.connpass.com/event/57849/

ロングプログラム (40分)

Shen入門

噂にしか聞いたことのない、Shenの紹介。

  • Haskellerの発表者が、プロトタイプに Shenを使っているとのこと。
  • 超レア
  • MLの型(と型推論)のパワーをLispに組みこんでいるという悪魔合体。なのに神(shen)
  • 関数定義が OCamlなどの、パターンマッチングそっくり。
  • ザックリした紹介なのに、型変数とかがでてくる。
  • Haskell より 型宣言が柔軟?とかいう謎紹介。でも、発表者はHaskellerだから間違いないんだろうな。

発表資料あり https://kansai-lisp-useres.connpass.com/event/57849/

Lispドキュメントの和訳 と チビ Lispの紹介

LispLispマシンなどの長い歴史の考古学的な紹介。

昔は、ロースペックな機器でがんばっていたんだなーという話です。
そして今では、ロースペックな機器が安価(100円?)に購入でき、それで十分Lispが動く

やっぱり人類には64kbもあれば十分だったんだ(違う)

記事のLicense このブログの記事は特に断りのない限り、引用部分を除いて、以下の CC-BY 4.0でライセンスします。 https://creativecommons.org/licenses/by/4.0/deed.ja ただし、ブログ内にあるコードは、特に断りのない限り、CC-BY 4.0またはMITLicense で利用できるものとします。