2023-12-01から1ヶ月間の記事一覧
chaploud-blog.hatenablog.com Sci-Lisp自作の15日目です。 ClojureRS Sci-LispはClojureライクなシンタックスを持つので、字句解析・構文解析・評価などどうしようかなと考えていた時、素晴らしいリポジトリを見つけました。 github.com ずばり、「ClojureR…
chaploud-blog.hatenablog.com Sci-Lisp自作の14日目です。昨日ロゴを作ったこともあり、シンタックスハイライトを行うだけのシンプルなSci-Lisp用拡張機能を作成しました。 VSCodeの拡張機能リリースについては次のページに手順が書いてあります。 https://…
chaploud-blog.hatenablog.com Sci-Lisp自作の12・13日目です。本業が忙しくてなかなか進めません。現在はRustによるLisp実装のリポジトリを読解している最中です。 名だたるOSSには必ずロゴがあるので、やる気を出すためにロゴを作成してみました。 Sci-Lis…
chaploud-blog.hatenablog.com Sci-Lisp自作の11日目です。乗り遅れ気味ですが、GitHub Copilotのライセンスを入手したのでRustによる字句解析を行うコードを書かせてみるなどしました。 正直、「AIが書くコードなんて信用できないわ」と思っていたのですが…
chaploud-blog.hatenablog.com Sci-Lisp自作の10日目です。表題の通り、Sci-Lispの実装はC++ではなくRustで行うことに決めました。理由を列挙していきます。 C++は後方互換性を保ちつつ機能追加されてきたため、仕様が巨大すぎる。 Rustは後発でC/C++を代替…
chaploud-blog.hatenablog.com Sci-Lisp自作の9日目です。C++を勉強しつつSci-Lispの基本型の実装をしました。以下にコード例を載せます。 #include <cmath> #include <iostream> #include <limits> #include <regex> #include <string> #include <iomanip> #define STR "str" #define REGEX "regex" #define B</iomanip></string></regex></limits></iostream></cmath>…
chaploud-blog.hatenablog.com Sci-Lisp自作の8日目です。昨日の記事 で文法の厳選をすることをまずやるということで、今日は文法を厳選して用例を作成しました。 GitHubのREADME.mdの下部に、Language Overviewとして用例を掲載しました。 github.com サン…
chaploud-blog.hatenablog.com Sci-Lisp自作の7日目です。言語自作は趣味で行っているため、本業と違って締め切りがありません。しかし、プロトタイプを作るのに5年もかかっていたら、多くのものを無駄にしてしまいそうです。ここは、はっきりと半年でβ版ロ…
chaploud-blog.hatenablog.com Sci-Lisp自作の6日目です。型について考えます。 手軽さで人気のPythonやJavaScriptなどのスクリプト言語も、型アノテーションを導入したりTypeScriptが現れたりと、型のありがたみが再評価されているところです。特にデータベ…
chaploud-blog.hatenablog.com Sci-Lisp自作の5日目です。実装に先立ちどのような組み込み関数を用意しようかなと考えています。このあたりは、まずコアだけを実装してから標準ライブラリとしてモジュール的に追加していくのが筋だとは思うのですが、自分の…
chaploud-blog.hatenablog.com Sci-Lisp自作の4日目です。3日目に紹介した、「インタプリタの作り方」という本を先にすべてやり終えてから、という気持ちを抑えつつ今日の記事です。(なぜなら、大概こういったものはやり終える前に熱量が冷めてしまうから)…
chaploud-blog.hatenablog.com github.com Sci-Lisp自作の3日目です。もともとはネット上の情報を拾い集めて言語(とそのインタプリタ・コンパイラ)を作成をしようとしていたのですが、ちょうとAmazonのブラックフライデーに以下の本が推薦されて出てきたの…
Sci-Lisp開発の2日目記録です。 GitHubにも上げているとおり、まずは言語のexampleを考えました。 github.com いずれ、字句解析・構文解析をすることになると思われるので、まずはVSCodeでSci-Lispシンタックスハイライトをできるようにしておきたいと思いま…