自作言語BLispがHackers Newsで話題になっていた
現在、BLispというプログラミング言語を設計・実装中で、基本機能は出来たので、とりあえずのドキュメントを作成して公開した。
https://ytakano.github.io/blisp/index.ja.html
https://github.com/ytakano/blisp
これを公開したのが2021年2月21日頃だが、6月末頃に急にGitHubのリポジトリにスターがつき始めたため、何事かと思っていたら、どうやらHackers Newsで話題になっていたようだ。
https://news.ycombinator.com/item?id=27640984&noRedirect=true
Hackers Newsとは、日本で言うところのはてなブックマークみたいなもので、気に入ったサイトをみんなでブックマークしあうものである。自分も昔はHackers NewsやRedditを読んではいたが、ここ最近は見なくなって久しい(はてなブックマークは見ている)。
BLispはRust用のインタプリタ言語、シェルとして開発しており、エフェクトシステムという機能を持っているのが特徴である。Rustはとても良い言語なのは言うまでも無いが、それを操作するためにはインタプリタ言語的な機能はどうしても欲しくなる。BLispはそれを型安全に行うために設計・実装している。自動化スクリプトの記述にYAMLなどを使うのは地獄じゃ無いですか?
そんなこんなで現在ちまちまと実装中だが、まさかHackers Newsで取り上げられるとは思わなかった。Hackers Newsに投稿されたコメントを見ると、エフェクトがあるのが素晴らしいなどと言った、不失正鵠なコメントもあり、さすが世界だなと感じた。
その一方、静的型付けにするとLispのようなマクロは使えないというコメントが一番盛り上がっていた。Lispのマクロというと、構文木(というかS式)の操作が可能なのが特徴である。しかし、これは別にLispや、動的型付けと関係なく実現できる。実際、RustやNimと言ったプログラミングではマクロで構文木を操作することが可能である。
パーキンソンの凡俗法則と呼ばれる経験即が知られている。これは、誰もが参入しやすい話題であるほど議論が白熱するという経験即である。マクロというのは一般的なプログラマーなら誰もが知っている内容であるため議論しやすかったのだろうと、興味深くスレッドを見ていた。このあたりは世界も日本も同じである。
ともあれ、Hackers Newsで指摘があったようにマクロは必要に思うので、近いうちに実装したいと思う。それでは皆さん、良いハッキングライフを。