Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?

posted at

updated at

Organization

久しぶりなLisp

Lisp引退おじさん

引退したはずだったのですが、今年の後半になってGPU、CUDAのインストールが最新のMINTでうまくいかずにDeep-Learning実装を中断、Lisp&Prologを弄ってました。弄っているとはまりますね。Lispカレンダー、空間がたっぷりあったので、ご迷惑にもならないだろうと思い、しゃしゃり出ることとしました。お許しくださいませ。

三つ子の魂百まで

モダンなコンピューター言語でおもしろそうなのがどんどん登場してきます。すごいですねえ。でも、私の場合、結局、Lisp&Prologを弄ってるのが一番に落ち着きますし、楽しいみたいです。おっさんですね。ロックバンドといったらパープルにツェッペリンという感覚が今でも染みついてます。久しぶりに弾いたエレキもだいぶ様になってきました。コロナが収まったらライブハウスデビューしようかしらん。オッサンの夢は膨らみます。
Screenshot at 2020-12-26 17-48-50.png
すみません。本文とは関係ありません。
https://www.youtube.com/watch?v=qrwkccaLuN8&list=RDqrwkccaLuN8&start_radio=1

フォーマッタ

なんでもござれであらゆるツールが揃っているCommon-Lispと違って、ISLispにはほぼ何もありません。そこが楽しいのですね。その昔、月刊I/Oや月刊アスキーを楽しみに、ささやかなハックをしていた頃を思い出します。ツールがないなら自分で作っちゃう、オッサン、今でもこのノリで生きてます。マイクロソフトのVS-CODEに乗り換えてとてもご機嫌なのですが、Lisp用のフォーマッタがうまくいきません。そしてこれはCommong-Lisp用です。うん、これはゲリラ的ハックで自作するチャンスですよ。

即席ラーメンならぬ即席Lisp

思い立ったが吉日です。半日ほど、あれこれと書いていたら何となくそれっぽくなってきました。参考にしたのは竹内先生の「初めての人のためのLISP」252ページです。お供あり、お供なしなんてのがあったのですね。この本、若いころに相当に入れ込んで読んだはずなのですが、気が付きませんでした。

今のところこんな感じです。細部はまだまだこれから。年末年始のミニプロジェクトによさそうです。
Screenshot at 2020-12-26 17-43-27.png

仕組みは?

S式を読み込むときに数やシンボルを文字列として取り込んでいます。自然数でも#Xface #B010101 なんてのがあります。S式で読み込んじゃうとアラビア数字になってしまい、オリジナルのコードを損ないます。シンボルもS式で読み込んじゃうと大文字になってしまい扱いが面倒です。

(cons 1 2) なら ("cons" "1" "2") と読み込んでから清書の処理をしています。コードgithubに置いてあります。tests/pretty.lspといのが開発中のものです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?