**Show HN:**  
*Rust/WASMで実装した AutoLISP インタープリター ― 33 年前に発明された CAD ワークフロー*

2025/12/27 0:56

**Show HN:** *Rust/WASMで実装した AutoLISP インタープリター ― 33 年前に発明された CAD ワークフロー*

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

概要
Acadlisp は Rust で書かれた AutoLISP インタープリターで、WebAssembly にコンパイルされます。これによりユーザーは従来の AutoLISP コードをモダンなウェブブラウザ上で直接実行し、AutoCAD を必要とせずに SVG や DXF の図面を生成できます。
主要な AutoLISP 構文(

defun
setq
)や制御構造(
if
while
cond
)、算術・三角演算子、リスト操作(
car
cdr
nth
)、および
(command "LINE" …)
などの描画コマンドをサポートしています。
このプロジェクトは、バイエルン州の電気会社向けに1991年に作られたスキーマ生成ツールから発展しました。このツールは CSV 入力、テンプレート、および自己修正 LISP コードを用いてカスタムスキーマを自動化し、LISP のホモアイコン性とシンボリック処理が長らくダイナミックなエンジニアリングワークフローを可能にしてきたことを示しています。
Acadlisp はこのニッチなワークフローを将来にわたって保存し、懐古心と知識の消失への懸念から動機付けられています。インタラクティブデモはオンラインで実行でき、GitHub 上のソースコードは継続的な保守や拡張を歓迎しています。レガシースクリプトをブラウザ上で実行可能にすることで、AutoCAD ライセンスに代わるコスト効率の高い選択肢を提供しつつ、歴史的重要性を持つ LISP ベースのエンジニアリング実践を存続させます。

本文

インタラクティブデモを試す


acadlispとは?

  • acadlisp は Rust で書かれ、WebAssembly(WASM)にコンパイルされた AutoLISP インタープリターです。
  • ブラウザ上で AutoLISP コードを直接実行できるため、AutoCAD のインストールは不要です。

ストーリー:1991年の回路図ジェネレーター

1991 年、ドイツ・バイエルン州にある小さな電気会社で、機械設置ごとにカスタム回路図を作成する必要がありました。これは時間のかかる手動プロセスでした。

解決策:
AutoCAD に組み込まれたプログラミング言語 AutoLISP を活用しました。CSV ファイル、テンプレート、および LISP コードを組み合わせて回路図生成を自動化するワークフローを発明しました。

  • スプレッドシートで部品を定義
  • テンプレートに通し
  • 完全な技術図面を自動生成

この手法を使った人は私以外には見つかりませんでした。現在では Rust/WASM でインタープリターを構築し、ブラウザ上で同じワークフローを継続できるようにしました。これは一部ノスタルジー、一部知識の保存という意味があります。


LISP と初期 AI

LISP(List Processing)は 1958 年にジョン・マッカーシーによって開発され、数十年にわたり人工知能研究の主要言語でした。LISP の特徴は次のとおりです。

  • ホモアイコン性:コードとデータが同じ構造(リスト)を共有
  • 自己修正:プログラム自身を書き換えることができる
  • シンボル処理:数値だけでなくシンボルを操作

1991 年の回路図ジェネレーターでは、コード自体が書き換えられました。部品を挿入するとさらに部品が追加され、テンプレートが新しいテンプレートを生成しました。


技術的詳細

項目内容
言語Rust
ターゲットWebAssembly (WASM)
出力形式SVG, DXF(AutoCAD R12/AC1009)
サポートされる AutoLISP 関数
defun
,
setq
,
if
,
while
,
cond
, 算術演算子 (
+
,
-
,
*
,
/
), 三角関数 (
sin
,
cos
,
sqrt
), リスト操作 (
car
,
cdr
,
list
,
nth
), 描画コマンド (
command
,
princ
) など

サンプルコード

; 四角形を描く
(defun draw-box (x y w h)
  (command "LINE" (list x y) (list (+ x w) y) "")
  (command "LINE" (list (+ x w) y) (list (+ x w) (+ y h)) "")
  (command "LINE" (list (+ x w) (+ y h)) (list x (+ y h)) "")
  (command "LINE" (list x (+ y h)) (list x y) ""))

(draw-box 10 10 100 50)

リンク

  • インタラクティブデモ(JavaScript が必要)
  • GitHub のソースコード

同じ日のほかのニュース

一覧に戻る →

2025/12/27 2:13

**原文:** 「How uv got so fast」 **改訂(整理済み):** 「How did UV get so fast?」 **日本語訳:** 「UVはなぜそんなに速くなるのですか?」

## Japanese Translation: ``` ## Summary uv は Rust のみを利用するよりも、モダンな設計選択とパッケージング標準を採用しているため、pip より優れています。不要なオーバーヘッドを伴うレガシー機能(.egg サポート、pip.conf の読み込み、デフォルトのバイトコードコンパイル、system‑Python インストールの許可、厳格な仕様準拠、requires‑python の上限無視、複数インデックスが設定されている場合に最初のインデックスを選択)を削除することで、uv は不要なコードパスを排除します。さらに、HTTP レンジリクエストによる部分的な wheel ダウンロード、並列ダウンロード、ハードリンクまたはコピーオンライト可能なグローバルキャッシュ、ネイティブ TOML パース、および効率的な PubGrub 依存関係解決器を使用してインストール速度を加速させています。Rust は rkyv によるゼロコピー逆シリアライズ、ロックフリーの同時実行データ構造、単一静的バイナリであるためのインタプリタ起動コストゼロ、および高速比較/ハッシュのためのコンパクトな 64‑ビットバージョン表現を提供します。 Python のパッケージングは、setup.py スクリプトがインストール時に実行される必要があったため遅くていました。PEP 518–658 の導入によりメタデータが宣言的フォーマットへ移行し、PyPI 上の Simple API(2023年5月以降利用可能)が有効になりました。uv は 2024 年2月にリリースされ、初日からこれら新しい標準を活用しています。 影響は大きく、開発者は依存関係をより迅速にインストールでき、軽量な環境を構築できます。これは、Python エコシステム全体で最新のパッケージング標準を完全にサポートするツールへの広範な移行を促進する可能性があります。 ```

2025/12/23 23:51

2025年の最高アイテムとおすすめ

## Japanese Translation: ## Summary 2025年、著者はハンス・ボーマーの再帰的実数計算法や日本漫画カフェドキュメンタリー『マンブー』などの注目すべきIT・テック発見で生産性の高い一年を達成しました。彼はClojureのcore.asyncとJDK 21バーチャルスレッド、結合型関数言語Juxt、WordPressからMarkdown/org-mode静的サイトパイプラインへの移行についての技術ブログを複数公開しました。また、ブラジルで開催されたClojure/conjとClojure South Brazilという二つの主要なClojureカンファレンスに参加し、コミュニティの影響力を強調しました。 色分けされた月次マトリクスを備えたスプレッドシートベースのタスクトラッカーが導入され、著者のミニマリストでシステム思考的アプローチを反映し、専用プランナーよりもスプレッドシートを好む姿勢を示しました。プログラミングはClojure(16年にわたるフルタイム作業)に集中しつつ、Joy、Clojerl、Scittle、Javaによるコンパイラ開発も探索しました。 2025年にはゲーム・フィクション・システム思考に関するエッセイなど非技術的なアウトプットが増加し、2026年にはさらに多くのフィクションとカードゲームルールを企画しています。著者の「人生を変えるテクノロジー」主張はZettelkastenメモ取り法の採用に集約され、新しい非技術的投稿が可能になりました。大規模言語モデル(LLM)との広範な実験は限定的な実践的利益しか生まれず、問題設定とソクラテス対話における欠点を批判しています。 また、本年には好きな本(例:『オシリスの目』、『ナルキッサスとゴールドマン』)、音楽、映画、ポッドキャスト、テーブルトップゲームの厳選リストも含まれました。2026年を見据えて、著者は非技術的執筆を増やし、カードゲームルールを発表し、Clojure 1.13を進化させ、物理アーティファクトを作成し、未翻訳の本を読み、Goodnotes、Antinet、Booxなどのツールを使ってテックラダーを洗練する予定です。すべてはミニマリストでシステム志向のワークフローを維持しながら行われます。 この要約は元のリストからすべての主要ポイントを取り込み、推測を避け、明確な主旨を提示し、曖昧または混乱する表現を排除しています。

2025/12/27 8:09

「テキストに常に賭ける」

## Japanese Translation: ## Summary テキストは、これまでに発明された中で最も強力で多用途かつ信頼性の高い通信技術であり、可能な限り常に選択すべきです。約5,000年間安定した媒体として存在し、その長寿を示す耐久的な遺物が残っています。テキストは比類のない柔軟性を提供します:正確な意味を伝えることができる一方で、暗黙の文脈も許容するため、文学・歴史・哲学・数学・論理学・プログラミング・工学・注釈学・ファンフィクションに不可欠です。他のメディアと比べてテキストは格段に効率的であり(例:5 kB のブログ投稿がより大きな画像と同じ情報量を持つ)、電信・電子メール・チャット・ウェブなど後続技術を可能にしました。テキストは一対一、一対多、多対多のあらゆる社会的相互作用をサポートし、検索性・索引化・翻訳・非同期性・アルゴリズム処理(例:差分検出や要約)が可能です。また、多者編集、分岐会話、注釈付け、引用、構造化応答、およびレビューも許容します。著者は、テキストが通信・データ保存・アルゴリズム処理の基盤メディアとして残ると信じており、その幅広さ・深さ・スケーラビリティに匹敵するフォーマットは他に存在しないと述べています

**Show HN:** *Rust/WASMで実装した AutoLISP インタープリター ― 33 年前に発明された CAD ワークフロー* | そっか~ニュース