shibuya.lisp meetup 104が開催されました
運営のNiyarinです。meetup104回のレポートです。
オンサイトも視野に入るかという話が前回あったのですが、感染者数が爆発しており、相変わらずのオンライン開催です。
13人集まりました。 私がなんやかんやで発表できず、t-sinさんがLTしてくれました。
LT t-sinさん「Carp言語さわってみた 〜鯉を取り戻せ編〜」
Carpという所有権の概念をいれたGCレスなLisp系言語の導入についてでした。
REPLのプロンプトが鯉というふれこみだったが、そうでなかったので調査したという内容でした。
REPLが鯉なのはMacだけで、LinuxではUnicodeをサポートしない端末エミュレータがあるからデフォルトではそうなっていないそうです。
コンフィグに記述すれば解決するとのことです。
懇親会
23:00以降まで続きました。
雑なメモとしてはこんなところでした。
- Carp以外のメジャーではないLispとしてなにかあるかという話
- Shenについて
- Qiという名前が前身らしく、
The Book of Shen: third edition
なる本まで出ているそう。
- Wisp(https://github.com/mbrock/wisp)について
- Zigで実装されているらしい、Zig最近話題ですねという話
- 機械学習でデータをリスト構造で計算した
- vectorにしてもあまり速度が変わらないことがあるらしい
- CDR coding
- clojureにはchanked sequenceというものがある
- その他雑談
- 型システムの本の話やセマンティクスの話
- 評価戦略のcall byの各種の説明
- Haskellではメモ化があるので、call by needと呼ぶらしい(初耳)
- Haskell,Ocamlの話
- 買い物にQRコード決済まだいるのという話
- 5Gは今はなんちゃって5Gである
- 開発環境の話
- 括弧にLispはじめたてでは慣れないのではないかという質問から派生
- 閉じ括弧手で書くの?
- Clojureでモック的なテストの記述方法の質問
- with-redefsを使うと並列・並行テストしにくいので推奨されない
- https://scrapbox.io/ayato-p/Clojure%E3%81%A7%E5%AE%9F%E8%B7%B5%E7%9A%84%E3%81%AA%E3%83%86%E3%82%B9%E3%83%88%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9
- Common lispではどうするの?
- 動的{型付,実行}言語の開発スタイル
- 動的型付けだと、全体としては動かないけど、一部のコード片で速度チューニングが有効か確かめて方針を進めて良いか確認できるので良い
- LispのREPL駆動開発のように、動いているシステムに対して開発していくというスタイルは少数派
- クラスベースの言語だと、Smalltalkみたいな言語以外だとやりにくい
shibuya.lisp TechTalk #09が開催されました
運営のNiyarinです。
2/6に8年ぶりにShibuya lisp Tecktalkが開催されました。
コロナ禍での開催ですので、ZoomとYoutubeの配信という形をとりました。
それぞれ、zoomが60人以上で、Youtubeは40人近くになりました。(一部重複しているかも知れませんが)
今回は、3人の方を、プロダクトで有名な人、Lispを利用している企業、最初のころのShibuya lispコミュニティの話ができるひとに講演を依頼しました。
それから、LTは募集して4人の方が発表することになりました。
時間に余裕があったので、LTとは5分で打ち切りではないLisp Talkということになりました。
東京ではない人達も登壇してくださったので、オンラインも利点はあるなと思いました。
あと、Scheme、Clojure、 Common lispで偏りなく話題がでており、バランスもとれていました。
Techtalk01 川合史朗 様 「R7RS Schemeの動向 (いまどきのSchemeって、どう?)」
ハワイから参加いただきました。向こうが前日の夕方〜夜らしく、現実的な時差で本当に良かったです。夕食時なのにありがとうございました。
内容ですが、Schemeの最近の規格についてでした。
最近のSchemeはコミュニティベースで、 「俺ライブラリをどんどんSRFIにしよう」だそうです。
個人的には、SRFIへの投稿は心理的ハードルが高そうでしたが、それが下がりそうな内容でとても良かったです。
Techtalk02 青木貴司様 「テンクーでのClojureの活用事例 - Clojureでのゲノム解析とエンジニアリング -」
Clojurianがたくさんいる会社、XcooがどうClojureを活用しているかについてでした。
説明のためのバイオインフォマティクスの前提知識や、ゲノム解析の情報はリスト等で表現できるのでClojureで簡単に処理しているそうです。
パフォーマンスの疑問はTwitterとかで呟かれているのを見ましたが、やはり適宜JVMの知識やJavaを書くことになるようです。。
質疑応答では、バイオインフォマティクス詳しい人が出てきたり、ClojureなかったらXcooはどうなっていたかとか面白い質問がありました。
ちなみに、私の勤め先だったりするのですが、入社ちょっと前に見たかったような内容でした。
Techtalk03 g000001様 「Shibuya.lisp Tech Talkの歩み - Tech Talkからmeet upまで -」
最初のほうのShibuya.lispのTTの振り返りと新しく活気づけるなにかについてでした。
歴史を見る感じ、昔はSchemeの発表もそれなりにあったんだなあという印象でした。
俺Lispの人(処理系作ったりする勢)とアプリな人(産業利用勢)との棲み分けが必要では?という鋭い話も出てきて今後の改善につながるような話も出てきました。
LT01 Niyarin 「Scheme nREPLの開発」
私の発表です。
Scheme用nREPLを開発していて、エラーの表示などを実装したという話をしました。
LT02 nkoguro様 「Graviton」
WebフレームワークのようなWebUIを記述するためのGauche用ライブラリについてでした。
S式をHTMLで書いたり、キャンバスやオーディオAPIを持っているらしいです。
コードを見ていないけれど、ラッパとか作り込むのかなり労力が必要そうです。
LTなのににデモをスライドに組み込んでいるあたり、よく作り込まれた発表でした。
LT03 masatoi0様 「Common LispでつくるAPIサーバの構成例」
CLでWebアプリを(実務で)書くためのライブラリ、ツールの紹介についてでした。
Fukamahciプロダクト満載でした。
ApispecというOpenAPIのバリデーションするFukamachiプロダクトも使っているそうです。
LT04 taiju様 「エイリアンに誘拐されたかもしれない」
Lisp満載なpc環境の話でした。
すべての環境をLispにすればLispに誘拐されていることになるのでは?というわけですね。
GNU Guix、Emacs、Nyxtが話題にあがりました。
Nyxtは初耳で、Common lispでカスタマイズでき、キーバイドを使って操作できるブラウザだそうです。
shibuya lisp 100が開催されました
前置き
運営のNiyarinです。今回から内容の記録をとることにしました。
100回というきりの良い数字ということでひさびさに参加する方が何人か来ていました。
長い発表枠が埋まっていて、予定した時間を少しオーバーする位でした。
発表枠1
- 発表者 池上さん
- タイトル「C言語でじっそうするオレオレLispっぽい処理系」
小さいLisp処理系を実装中という内容でした。
計算機を理解したいというモチベーションからプログラミング言語を実装することにしたそうです。
普通のパソコン向けでない、マイコン向けやFPGA向け処理系の紹介が冒頭にありました。
実装したLispは純Lisp風のものだそうです。
実際に動いている機能が紹介され、今後に期待ですね。
強そうな人たちに処理系の挙動の質問をされていたのがおもしろかったです。
発表枠2
- 発表者 y2q_actionman さん
- タイトル 「おもしろマクロ with-c-syntax の最近の進捗」
with-c-syntaxという、C言語の文法をマクロを用いてCommon lispに持ち込んだという内容でした。
かなりの文法を模倣できているそうです。Cの仕様書に対して忠実に再現しようとしておりすごそうです。
レポジトリ(https://github.com/y2q-actionman/with-c-syntax)の例が充実しており、
#{}
で囲った部分にC言語風の文法を書くという使い方で、さらにその中でcommon lispを呼び出すこともできるような例もみられました。
本題の最近の進捗の内容は、Cのプリプロセッサの文法とmath.hの導入についてでした。
どちらも実装済みで、マイナーな機能などの実装の苦労話が聞けました。
他のlibcも検討しているようで、おもしろい方向に向かっているなという印象でした。
発表枠3
- 発表者 athosさん
- タイトル 「Trenchmanを題材にしたnREPLクライアント自作入門」
nREPL/preplクライアントをGo言語で実装したという内容とnREPLのプロトコルについての内容でした。
既存のクライアントがビルドできなくなったりするので、移植やメンテが容易であることを重要視しているそうです。
printデバッグ用にビルドしたものを用いて、サーバーとどんなやりとりがなされているか見せてもらえ、よく理解できました。
nREPLクライアントは比較的簡単なそうで、言語の入門に良いそうです。
5月27日(水)に第28回Lisp Meet Upが開催されました。
全19名の参加者のみなさま、お疲れさまでした。
会場は前回と同じ「渋谷センタープレイス4F テックラウンジ」でした。
イベントページ: https://atnd.org/events/66264
当日の活動内容
主催の挨拶の後、参加者の自己紹介をしてから、告知されていた発表に移りました。
今回は4件の発表が登録されていました。
- yuugoさん : 奴に鉄槌を
-
発表の1件目はyuugoさんから、「奴に鉄槌を」と題したお話でした。職場で電話応対に不慣れな人のために、抽象的な単語から自分たちの扱う商品を絞り込んで検索するためのプログラムをCommon Lispで作ってみた、というお話でした。
- 録画映像 : https://drive.google.com/file/d/0B_H0_8eqWuVAbkRZajBFNFVlckk/view?usp=sharing
- 一瀬昌史さん : Chestnutについて
-
続いて一瀬さんから、Clojure/Omのためのアプリケーションテンプレートであるchestnutの紹介がありました。chestnutの概要を軽く述べた後はデモに移り、デモが発表の中心でした。単に手軽にwebサーバが起動できるというだけではなく、ClojureScriptファイルの変更が即座にブラウザ側にも反映されたり、REPLをブラウザに接続するといった機能もデモを通して紹介されました。
- スライド : http://www.slideshare.net/izy00466/start-chestnut
- 録画映像 : https://drive.google.com/file/d/0B_H0_8eqWuVAN1JrOERnSXpvTlU/view?usp=sharing
- snmstsさん: 詳解roswell
-
3件目はsnmstsさんから、Roswellというソフトウェアの紹介でした。Roswellは佐野さんが作っているCommon Lisp処理系の管理を行なうソフトウェアで、処理系のインストールの自動化の他、コマンドライン引数の差異を吸収したり、実行可能ファイルを生成したりといった機能があります。
Common Lispの使い方や、Roswellの解決しようとしている問題について丁寧に説明した後、Roswellを用いて実際に処理系をインストールしたり、バージョンの違う処理系で実行させたり、といった内容のデモが行われました。
- Roswellのソース : https://github.com/snmsts/roswell
-
録画映像 : https://drive.google.com/file/d/0B_H0_8eqWuVAT0RZMGNPRzFJY1U/view?usp=sharing
- tnoda\_さん : Rについて
-
最後はtnoda\_さんが実装中のClojureからRを使うRashinbanというライブラリについてのお話でした。
前半はRの簡単な説明と、Java以外の言語で書かれたプログラムとClojureを連携する場合に考えられる戦略、そしてRを利用するライブラリを作る場合に考えられるいくつかのアプローチについての説明でした。後半は、特にRとClojureの間のデータの通信に際して生じるディスパッチの問題をClojureのprotocolとmultimethod、そしてmetadataをうまく使って切り分けた方法について詳述していました。
発表スライドはtnoda\_さんのブログで公開されています。RashinbanのソースコードはGithubで公開されているようです。
- ブログ : http://tnoda-clojure.tumblr.com/post/120124360112/shibuya-lisp-28-r
- ソース : https://github.com/tnoda/rashinban
</dl>
懇親会
懇親会は、会場付近の「和来場娯」というお店で懇親会をしました。参加者は16名でした。
4月27日(月)に第27回Lisp Meet UpがCommon Lispをテーマに開催されました。
全19名の参加者のみなさま、お疲れさまでした。
今回の会場「渋谷センタープレイス4F テックラウンジ」は、今までと雰囲気が違い、ソファーなどが置かれていて談話室といった雰囲気でした。
イベントページ: https://atnd.org/events/64988
当日の活動内容
主催の挨拶の後、すぐに発表に移りました。
- Masayuki Takagiさん : (続) 8-bit PIC マイコン用ネイティブコンパイラの作成
-
第25回Lisp Meet Upでのお話の続きとして発表者自身で実装中の8-bit PICマイコン用ネイティブコンパイラPICの詳細についてお話いただきました。今回はコンパイラの処理の流れに始まり、各ステージについて詳細な説明がありました。例も豊富でわかりやすかったです。
他に、おまけとしてGC用ハードウェアについての論文の紹介がありました。
- PICのソースコード: https://github.com/takagi/pic
- 発表スライド: http://www.slideshare.net/masayukitakagi/2015-0422
- 録画映像: https://drive.google.com/file/d/0B_H0_8eqWuVAci1kVFFadnkyYUE/view?usp=sharing
</dd>
- chikuさん : readerの基礎
-
Common LispのReaderについて基礎的な事柄のお話でした。大雑把な挙動を説明した後、文字の属性ごとに詳細を解説し、ちょっとした応用や個人的に実現して欲しい性質などについて話していました。入門者に向けて、CLの面白い機能や機能の詳細を説明し、モチベーションの維持に役立ててもらえることを目的とした話でした。
</dd>
- スライド: http://www.slideshare.net/samugari/before-lisps-just-part-of-the-past-reader-pub
- 録画映像: https://drive.google.com/file/d/0B_H0_8eqWuVAdm9hSVotdzJZblE/view?usp=sharing
</dl>
懇親会
懇親会は、会場付近の「和来場娯」というお店で懇親会をしました。参加者は14名でした。
発表内容についての質問や議論の他、4月なので新社会人の方が数人参加しており、会社でなにをやっているかとか研修の話などにも話題が及んでいました。