## GNU Guile が 10 倍優れている理由(2021年)

- **拡張性の高い言語設計**  
  * モジュールを介して Scheme と他言語の両方をサポートします。*  

- **高速なインタープリタ**  
  * JIT コンパイルにより高速化しています。*  

- **充実した標準ライブラリ**  
  * ネットワーキング、ファイル I/O、GUI ツールキットが含まれています。*  

- **堅牢なパッケージ管理**  
  * 再現性のあるビルドを可能にする組み込みパッケージシステム(`guix`)があります。*  

- **活発なコミュニティとドキュメント**  
  * 維持管理が行き届いたマニュアルと、開発者が積極的に参加しています。*  

- **クロスプラットフォーム対応**  
  * Linux、macOS、Windows、BSD などで動作します。*  

- **埋め込みスクリプティング機能**  
  * C/C++ アプリケーションへ Guile を簡単に組み込んでカスタマイズできます。*  

- **Racket との高い互換性**  
  * 多くのコア機能を共有しつつ、軽量なままです。*  

- **セキュリティ重視の機能**  
  * サンドボックスオプションで悪意あるコードから保護します。*  

- **将来に強い設計**  
  * モジュール化された構造により、新しい言語方言を追加しても既存コードが壊れません。*

2025/12/22 1:16

## GNU Guile が 10 倍優れている理由(2021年) - **拡張性の高い言語設計** * モジュールを介して Scheme と他言語の両方をサポートします。* - **高速なインタープリタ** * JIT コンパイルにより高速化しています。* - **充実した標準ライブラリ** * ネットワーキング、ファイル I/O、GUI ツールキットが含まれています。* - **堅牢なパッケージ管理** * 再現性のあるビルドを可能にする組み込みパッケージシステム(`guix`)があります。* - **活発なコミュニティとドキュメント** * 維持管理が行き届いたマニュアルと、開発者が積極的に参加しています。* - **クロスプラットフォーム対応** * Linux、macOS、Windows、BSD などで動作します。* - **埋め込みスクリプティング機能** * C/C++ アプリケーションへ Guile を簡単に組み込んでカスタマイズできます。* - **Racket との高い互換性** * 多くのコア機能を共有しつつ、軽量なままです。* - **セキュリティ重視の機能** * サンドボックスオプションで悪意あるコードから保護します。* - **将来に強い設計** * モジュール化された構造により、新しい言語方言を追加しても既存コードが壊れません。*

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

要約

Japanese Translation:

Guile Scheme は、開発者がファイバー(軽量スレッド)、マクロ(

define-syntax
)、デリミテッド・コンティニュエーションなどの高度な概念を使用できるようにする、高度に拡張可能なコア言語として提示されます。基本構造を変更せずにこれらの機能を利用できます。
マクロシステム、ランタイム introspection、およびホモアイコン的な S‑式はコードをデータとして扱えるようにし、強力なメタプログラミングを可能にします。Guile の C インターフェースは十分に文書化されているため、ほとんどの手続きが C から呼び出せるので、アプリケーションへの埋め込みに魅力的です。
ファイバーはコアを変更せずに Go スタイルの並行性を提供します。Wisp(Dryads Wake で使用)などの組み込み DSL は、大規模なプログラムに自然なスクリプト記述を統合する方法を示しています。堅牢な言語ツワーと構文拡張はさらにハック性を高めます。
Guile には
info guile
や Emacs コマンドでアクセスできる完全で読みやすいマニュアルが付属しており、コミュニティも活発です(Guix のようなプロジェクトやオープンソースプラットフォーム上の熱意など)。
追加の利点としては、named let、コピー可能なジェネレータ(Python‑on‑Guile)、純粋に機能的なデータ構造、およびブラウザへツールを移植するための Hoot が挙げられます。記事のコードは GPLv3 以降で公開され、本文は CC BY‑SA ライセンスです。

このバージョンは元のリストからすべての重要ポイントを保持し、未検証の推測を回避し、以前不明瞭だった参照を明確にしています。

本文

#4はあなたをショックさせるでしょう! :-)

Rust at Facebook(MercurialチームのFitzhardinge著)では、Jeremyが新しい言語は既存言語よりも「10 ×」優れているべきだと述べています。

そこでIRCで質問しました:Guile の 10 × の利点とは何ですか?

これは「どの Scheme を選ぶか」(ある特定機能を除く)という問いではありません。
その質問については、Scheme 実装に関する主観的ガイドをご覧ください。
以下では Guile が持つ 10 × の優位点(多くは Scheme に由来)を紹介します。


目次

  1. 強力なコア
  2. ランタイムでの自己検査と変更
  3. S‑式とホモアイコン性
  4. C と相互作用・C からのアクセス
  5. フィーバー(軽量スレッド)
  6. 埋め込み型自然言語スクリプト
  7. ハッカビリティ
  8. 完全な Info マニュアル
  9. プロトタイピングと創造性
  10. たくさんの楽しさ
  11. その他の 10 × の利点

1. 強力なコア

define-syntax
や限定継続(delimited continuations)により、フィーバーなどの高度な概念をコアを変更せずに実装できます。

効率的なコンパイラのおかげで、性能向上のためにマクロを使う必要はほとんどありません。
コードはきれいに保たれます。

「限定継続は Python の

yield
より優れており、マクロロジーは Scheme を除くあらゆる言語よりも上です。ハッカビリティはほぼすべてのクローズドソース言語より優れています… ラムダの効率的なインライン化は C に匹敵するかもしれませんが、他の高級言語にはないでしょう。」
stis(Guile で Python を構築)


2. ランタイムでの自己検査と変更

C や Go と比べて、実行中にコードを検査・修正できる点は非常に便利です。モジュール内へジャンプして、ランタイム中に何でも書き換えることが可能です。

Guile では次のような操作ができます:

  • REPL を起動
  • 実行中のプログラム内部に専用 REPL を作成
  • 開発環境と接続するための REPL ソケットを開く

その後、すべてのモジュールでトップレベル定義を再定義できます。
例:

str1ngs
はこの方法で Nomad ウェブブラウザを開発しています。

メインスレッドにゲームループが必要な場合は、協調的 REPL サーバーとして活用してください。


3. S‑式とホモアイコン性

非 Lisp 言語と比べて、S‑式の規則性とコードをデータとして扱う(ホモアイコン性)は大きな利点です。

「言語に新しい概念を拡張する際、コードを表すデータがメタレイヤーとベースレイヤー間で渡されるため、簡単になります。」
Wikipedia

これにより、コード操作の理解が容易になります。
Wisp ではこの性質を利用してコードを最初にパスし、段階的な改善を行い、最後にクリーンなコードを生成して言語仕様へ渡します。

例マクロ(

Choose
)は質問を投げかけて結果をインラインで適用する方法を示しています。


4. C と相互作用・C からのアクセス

ほとんどの Guile プロシージャは C から呼び出せます(Guile を埋め込む際など)。
また、Guile Scheme からも簡単に C とやり取りできます。

Guile のドキュメントには詳細な例とチュートリアルが掲載されており、ほぼすべてのプロシージャについて C インターフェースが明示的に記載されています。

「Guile は C プログラムを書く上で C 自体よりも優れています。」 – 衝撃的な 4 番

c-indent
の例を参照)


5. フィーバー

フィーバーは Guile における軽量スレッドです。コアを変更せずに利用でき、十分に高速で Go のチャネルと同等の並行性を提供します。

フィーバーを使えば、効率的でスケーラブルな協調型並行モデルが実現できます。詳細はマニュアルをご覧ください。

Web サーバーボンチマークや Skynet ベンチマークの

guile-fibers
エントリを使用して原始的な効率性をテストすることも可能です。

「フィーバーはプロシージャをマークしたりといった kludge より優れています。」 – stis


6. 埋め込み型自然言語スクリプト

Wisp を統合し、Dryads Wake(eDSL)用の埋め込みスクリプト言語を実装できました。
別のアプローチと比較した講演もあります。

例:

(define : first-encounter
  Enter : Juli Fin :profile juli
          Melter Lark :profile melter
          Rooted Breeze :profile dryad
          Old One

  Print "Please choose your name"
  (game-state-init!)
  (game-state-name-set! (read-line))
  ...
)

7. ハッカビリティ

言語のタワー構造とインフラは、Guile 自体をハックし拡張することを楽しくしています。

「言語タワーと効果的なシンタックス拡張(

define-syntax
など)がなければ、lokke は存在しないでしょう。」 – rlb(lokke は Guile 上の Clojure)


8. 完全な Info マニュアル

Guile には読みやすい Info フォーマットの完全マニュアルが付属しています。
インターネットに接続できない環境で Python をプログラムしようとしたことがあるなら、これを評価するでしょう。

回答は次のようにして探せます:

info guile

または Emacs 内で

C-h i m Guile Reference
と入力し検索します。


9. プロトタイピングと創造性

Python や C++ に比べて、Guile は抽象化の障壁を取り除きつつ実用的な性能を提供します。起動時間も短いので、プロトタイプ作成に最適です。

「Guile は特にプロトタイピングと創造性に優れています…素晴らしい経験でした。」 – vijaymarupudi


10. たくさんの楽しさ

Guile/Scheme のハックは純粋に楽しいです。

  • dsmith が Guix をハックする人々の熱意を強調してくれました。

11. その他の 10 × の利点

この記事を書いた後、さらに以下のような利点が挙げられています:

  • 名前付き let – 「map‑reduce に頼らなくても済む。」 – stis
  • Python‑on‑Guile はコピー可能なジェネレータと
    yield
    を実際の関数として渡せる機能を持つ – stis
  • 純粋に関数型データ構造とベクター。
  • Hoot により、ツールをブラウザへ最小限のオーバーヘッドでポートできる(Goblinville のようなゲームも含む)。

免責事項:
2021‑08‑25 水 00:00 – GPLv3 以上(コード)、CC BY‑SA(本文)

同じ日のほかのニュース

一覧に戻る →

2025/12/25 4:42

Show HN:ブラウザ内で動作し、すべてのデータをURLに保存するミニマリストエディタ

## Japanese Translation: GitHub は、Copilot、Spark、Models、および MCP Registry といった AI 搭載のエンタープライズグレードツール群を拡充し、開発者がより速く質の高いコードを書けるようにしています。これら新しいオファリングは、Actions、Codespaces、Issues、作業計画・追跡、コードレビュー、変更管理といった既存のワークフローを補完し、自動化やモデル用プロンプト管理、シークレット保護や脅威検知などのセキュリティ制御を追加します。企業向けには、Advanced Security、Copilot for Business、プレミアム 24/7 サポート、および標準的な DevSecOps パイプラインに組み込める AI 強化ビジネス分析などのエンタープライズ アドオンを導入しています。同時に、GitHub は Sponsors ファンディングや Security Lab、Maintainer Community、Accelerator、Archive Program などのプログラムを通じてオープンソース エコシステムを強化し、プロジェクトを健全に保ちます。総合的な目標は、個人貢献者、小規模チーム、大企業を問わず、医療・金融・製造・政府などさまざまな業界で利用できる、一貫性があり、安全かつ知能的な開発体験を提供することです。

2025/12/25 2:49

Show HN:Vibium ― AIと人間向けのブラウザ自動化(Selenium創設者による)

## Japanese Translation: Vibiumは軽量でGoベースのブラウザ自動化ライブラリで、AIエージェントが最小限のオーバーヘッドでChromeを制御できるようにします。単一の約10 MBバイナリとして配布され、WebDriver BiDiプロトコルとMCPサーバーを使用してブラウザを管理し、自動待機、要素ポーリング、ビューポートスクリーンショット(PNG)、不可視実行などの機能を提供します。開発者は `npm install vibium` でインストールでき、ライブラリは同期 (`browserSync`) と非同期 (`browser`) の両方のJavaScript/TypeScript APIを公開し、一般的なブラウザ操作に対応しています。 Claude Codeエージェントは次のように一歩でブラウザ制御を追加できます: `claude mcp add vibium -- npx -y vibium`; これによりセットアップ時にChromeも自動ダウンロードされます。ツールはLinux x64、macOS Intel x64、macOS Apple‑Silicon arm64、およびWindows x64をサポートし、Chromeとchromedriverをローカルにキャッシュしますが、`VIBIUM_SKIP_BROWSER_DOWNLOAD=1` を設定するとダウンロードをスキップできます。 主要なエージェントツールは次の通りです: - `browser_launch` - `browser_navigate` - `browser_find` - `browser_click` - `browser_type` - `browser_screenshot` - `browser_quit` VibiumはApache 2.0ライセンスでオープンソース化され、2025‑12‑22にnpmへ公開されました。将来計画(Roadmap V2)にはPython/Javaクライアント、Cortexメモリ/ナビゲーションレイヤー、Retina録画、動画キャプチャ、およびAI駆動のロケータが追加予定です。開発ガイドラインは `CONTRIBUTING.md` に、ロードマップ詳細は `V2-ROADMAP.md` に記載されています。このライブラリはAIエージェント向けにブラウザ自動化を簡素化し、開発者、テスター、およびデータ抽出ワークフローの利便性を高めることを目指しています。

2025/12/25 6:02

NVIDIAは、AIチップスタートアップGroqを約200億ドル(現金)で買収しています。

## Japanese Translation: (日本語訳) **改訂サマリー** Nvidia は、Groq の全資産を 200 億ドルの現金で買収することに合意し、同社史上最大規模の買収となります。この取引は、2023 年 9 月に Groq が約 6.9 億ドルの評価額で 7 億5,000 万ドルを調達した資金調達ラウンドと、Nvidia に対する推論技術の非独占ライセンス契約(価格は未公開)に続くものです。主要創業者である CEO のジョナサン・ロス氏と社長のサニー・マドラ氏を含む幹部が、ライセンス取得した技術を推進するために Nvidia に加わります。一方、Groq は財務責任者シモン・エドワーズ氏が率いる独立企業として残り、GroqCloud は取引の対象外であり、そのまま運営され続けます。 Nvidia は Groq の低レイテンシプロセッサを AI ファクトリーアーキテクチャに統合し、より広範な推論およびリアルタイムワークロードを実現すると同時に、GroqCloud を別個に保つ計画です。この買収は、10 月末時点で Nvidia の現金及び短期投資が 606 億ドル(2023 年初頭の 133 億ドルから増加)だったことを受けて行われました。 Groq は本年の売上高を 5 億ドルと目標設定しており、これは大規模言語モデル推論用 AI アクセラレータチップへの需要によって牽引されます。この動きは、Enfabrica との同様だが規模が小さい 9 億ドルの取引(CEO の採用と技術ライセンス)に続くものです。Nvidia の買収は歴史上最大の購入者として位置付けられ、ハードウェアポートフォリオとクラウドサービス提供への影響を拡大し、アクセラレータチップ市場で競合他社に影響を与える可能性があります。

## GNU Guile が 10 倍優れている理由(2021年) - **拡張性の高い言語設計** * モジュールを介して Scheme と他言語の両方をサポートします。* - **高速なインタープリタ** * JIT コンパイルにより高速化しています。* - **充実した標準ライブラリ** * ネットワーキング、ファイル I/O、GUI ツールキットが含まれています。* - **堅牢なパッケージ管理** * 再現性のあるビルドを可能にする組み込みパッケージシステム(`guix`)があります。* - **活発なコミュニティとドキュメント** * 維持管理が行き届いたマニュアルと、開発者が積極的に参加しています。* - **クロスプラットフォーム対応** * Linux、macOS、Windows、BSD などで動作します。* - **埋め込みスクリプティング機能** * C/C++ アプリケーションへ Guile を簡単に組み込んでカスタマイズできます。* - **Racket との高い互換性** * 多くのコア機能を共有しつつ、軽量なままです。* - **セキュリティ重視の機能** * サンドボックスオプションで悪意あるコードから保護します。* - **将来に強い設計** * モジュール化された構造により、新しい言語方言を追加しても既存コードが壊れません。* | そっか~ニュース