このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

2022-04-01から1ヶ月間の記事一覧

シェブロテインの構文図生成機能

昨日の記事「コンピュータによる言語処理の常識」で紹介したシェブロテイン〈Chevrotaion〉に面白い機能があります。定義した文法の構文図〈シンタックス・ダイアグラム | レイルロード・ダイアグラム〉を生成してくれるのです。昨日の記事の実例だと、次の…

コンピュータによる言語処理の常識

「指標記述のための構文」において、ホスト構文/ゲスト構文の問題(「箱を開ける鍵は箱の中」問題)に触れました。この問題の話をしようかと思ったのですが、若干の予備知識が要りますね。この記事で、コンピュータによる言語処理の常識的事項につて解説し…

指標記述のための構文

僕は次のような構文で指標〈signature〉を書いています。 signature Semigroup { sort U operation m: U×U → U equation assoc :: (m × id_U);m ⇒ α_(U,U,U);(id_U × m);m : (U×U)×U → U }これは擬似コードで、明示的な構文定義や構文解析系〈パーザー〉があ…

もっと小さくもっと人気なnpmパッケージ

「小さな小さな人気npmパッケージ」で、実質ワンライナーで、毎週100万ダウンロードほどされているパッケージを紹介しました。もっと短くてもっと人気のパッケージを見つけました。 https://www.npmjs.com/package/bail 中身は以下のようで、毎週5百万から6…

TypeScriptで超絶変態型計算

TypeScriptのジェネリック型定義を使って、コンパイル時にフィボナッチ数を計算してみます。面白いだけで、役には立ちません。$`\newcommand{\mrm}[1]{\mathrm{#1} }`$内容: はじめに フィボナッチ数: 数の計算の場合 型の世界の順序・型・関数 型の世界の…

小さな小さな人気npmパッケージ

ソフトウェアとしてのnpmはパッケージ管理システム、そして https://www.npmjs.com/ は、膨大な数のパッケージを集積・管理している包括的アーカイブ・サイトです。JavaScriptライブラリの流通・再利用のインフラとなることがnpm(ソフトウェアとサイト)の…

CommonJSは遠からず消滅するだろう

「JavaScriptは2つの言語になったんだね」において、現状のJavaScriptは ESM2015+ と CommonJS という2つの言語に分岐してしまったと述べました。事実はどうあれ、そう考えたらフラストレーションは緩和されるだろう、という話です。さて、では2つの言語は統…