Schemeとは?
すきーむ
Schemeとは、Lispの方言のひとつで、シンプルな文法と強力な関数型プログラミング機能を持つプログラミング言語です。
Schemeは1975年にGuy L. SteeleとGerald Jay Sussmanが設計したLispの方言です。Lispのシンプルさを保ちながら、レキシカルスコープ(静的スコープ)と末尾呼び出し最適化(tail-call optimization)を導入したことで、関数型プログラミングの理論的な研究に大きな影響を与えました。
Schemeの文法はS式(カッコで囲んだリスト形式)を基本とし、構文要素が非常に少ないのが特徴です。データとコードが同じ形式で表現されるため(同図象性)、マクロを使ってプログラム自身が構文を拡張できます。この「言語を拡張できる言語」という性質は、プログラミング言語研究や教育の場で高く評価されています。
主な特徴は以下のとおりです。
- 第一級関数:関数を変数に代入したり引数として渡したりできます
- 継続(continuation):計算の途中状態を捕捉・操作できる高度な制御機構
- 末尾再帰最適化:再帰呼び出しをループと同等の効率で実行できます
- 衛生的マクロ:変数名の衝突を防ぐ安全なマクロシステム
MIT出版のコンピュータサイエンス教科書『計算機プログラムの構造と解釈(SICP)』の実装言語として広く使われたこともあり、プログラミング教育では長年重要な役割を果たしてきました。現在もRacketやChicken Schemeなどの実装が活発に開発されています。
使い方・例文
Schemeは、大学のコンピュータサイエンス入門講義やプログラミング言語理論の研究、インタプリタを自作する学習課題などで登場することが多い言語です。
この用語をシェア
最終更新: