特集記事 JavaScriptでつくるSchemeインタプリタの基礎の基礎 JavaScriptによるSchemeの実装 zick[著] 2006/12/12 00:00 JavaScript ポスト 目次 Page 1 はじめに 対象読者 必要な環境 概要 作成するインタプリタについて Schemeのプログラム インタプリタの概要 オブジェクト インタプリタが扱うデータ オブジェクトの準備 対リストとクォート Page 2 入出力 入力の変換 出力への変換 式の評価 評価の規則 環境の設計 評価器の実装 組み込み関数 組み込み関数の設計 Applyの実装 用意すべき組み込み関数 Page 3 関数定義 Scheme側の関数 begin EXPRオブジェクト lambda EXPRの呼び出し 環境の操作 条件分岐 サンプル 階乗 クロージャ まとめ 参考文献 会員登録無料すると、続きをお読みいただけます 新規会員登録無料のご案内 ・全ての過去記事が閲覧できます ・会員限定メルマガを受信できます ・翔泳社の本が買える!500円分のポイントをプレゼント メールバックナンバー 新規会員登録無料 ログイン Page 1 はじめに 対象読者 必要な環境 概要 作成するインタプリタについて Schemeのプログラム インタプリタの概要 オブジェクト インタプリタが扱うデータ オブジェクトの準備 対リストとクォート Page 2 入出力 入力の変換 出力への変換 式の評価 評価の規則 環境の設計 評価器の実装 組み込み関数 組み込み関数の設計 Applyの実装 用意すべき組み込み関数 Page 3 関数定義 Scheme側の関数 begin EXPRオブジェクト lambda EXPRの呼び出し 環境の操作 条件分岐 サンプル 階乗 クロージャ まとめ 参考文献 1 2 3 PREV この記事は参考になりましたか? 0参考になった 印刷用を表示 ポスト 特集記事連載記事一覧 【随時更新・まとめ読み】開発者のための「AWS re:Invent 2024」関連記事 開発者のための「WWDC 2024」関連発表まとめ LeSSやSAFeなど、大規模アジャイルにおけるソフトウェア品質の課題とは? もっと読む この記事の著者 zick(zick) 授業をサボってプログラミング。そんな駄目大学生。 ※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です この著者の最近の執筆記事 この記事は参考になりましたか? 0 参考になった この記事をシェア ポスト シェア CodeZine(コードジン) codezine.jp https://codezine.jp/static/common/images/czlogo4fb_ogp.png https://codezine.jp/article/detail/739 2008/08/26 13:31 Special Contents AD キャリアインタビュー AD おすすめ アクセスランキング 1 C++の新機能を理解する──静的なoperator()/operator[]と多次元対応operator[]など言語仕様の強化 2 MCPサーバーに認証・認可を導入してみよう──セキュアな公開に向けた実装手順 NEW 3 Microsoft、複数のファイルを横断するエージェント「Agents in OneDrive」一般提供開始 NEW 4 Claude Skillsとは? AIエージェント開発における新たなベストプラクティスをやさしく解説 5 GitHub、Markdownで目標を記述することでタスクを自動実行する「Agentic Workflows」公開 6 Microsoft、「Power Apps MCP Server」をパブリックプレビューとして公開 7 AI時代でも揺るがないエンジニアの地力とは──“定点観測会”で育てる保証力 NEW 8 非エンジニアが生成AIで30種類以上のWebツールを開発、AI用プロンプトが無料でもらえる「AIツールラボ」を公開 9 エンジニアリングマネージャーは「RPGのジョブチェンジ」である──新多真琴さんが語る、“できない”を受け入れ、チームで勝つための思考法 10 AI時代のプレイングマネージャーが磨くべき「スキル」と「覚悟」──生産性向上を限定的にしないための思考法とは アクセスランキング 今日 月間 1 C++の新機能を理解する──静的なoperator()/operator[]と多次元対応operator[]など言語仕様の強化 2 MCPサーバーに認証・認可を導入してみよう──セキュアな公開に向けた実装手順 NEW 3 Microsoft、複数のファイルを横断するエージェント「Agents in OneDrive」一般提供開始 NEW 4 Claude Skillsとは? AIエージェント開発における新たなベストプラクティスをやさしく解説 5 GitHub、Markdownで目標を記述することでタスクを自動実行する「Agentic Workflows」公開 6 Microsoft、「Power Apps MCP Server」をパブリックプレビューとして公開 7 AI時代でも揺るがないエンジニアの地力とは──“定点観測会”で育てる保証力 NEW 8 非エンジニアが生成AIで30種類以上のWebツールを開発、AI用プロンプトが無料でもらえる「AIツールラボ」を公開 9 エンジニアリングマネージャーは「RPGのジョブチェンジ」である──新多真琴さんが語る、“できない”を受け入れ、チームで勝つための思考法 10 AI時代のプレイングマネージャーが磨くべき「スキル」と「覚悟」──生産性向上を限定的にしないための思考法とは 1 「AIにコードを書かせる」だけじゃない!「AIネイティブ開発」へ移行するためのマインドセットと2つの実践手法 2 「LTSとSTS」 ~マンガでプログラミング用語解説 3 新卒エンジニア育成の課題は「ソフトスキル不足」が9割。「新卒エンジニア育成」に関する調査結果 4 Claude Skillsとは? AIエージェント開発における新たなベストプラクティスをやさしく解説 5 「否定された」と感じさせないコードレビューの作法。チームを育てるテキストコミュニケーションとは? 6 GeminiでNotebookLMのノートブックをソースとして追加することが可能に 7 Apple、2026年4月からiOSアプリの新SDK対応を必須化 8 最新バージョン.NET 10/Visual Studio 2026の登場が、開発者にいかなる価値をもたらすか──「ECHO 2025」開催 9 C# 14の新機能を理解する──fieldキーワードとユーザー定義複合代入演算子 10 非エンジニアが生成AIで30種類以上のWebツールを開発、AI用プロンプトが無料でもらえる「AIツールラボ」を公開 イベント CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。 新規会員登録無料のご案内 ・全ての過去記事が閲覧できます ・会員限定メルマガを受信できます メールバックナンバー 新規会員登録無料 ログイン アクセスランキング 1 C++の新機能を理解する──静的なoperator()/operator[]と多次元対応operator[]など言語仕様の強化 2 MCPサーバーに認証・認可を導入してみよう──セキュアな公開に向けた実装手順 NEW 3 Microsoft、複数のファイルを横断するエージェント「Agents in OneDrive」一般提供開始 NEW 4 Claude Skillsとは? AIエージェント開発における新たなベストプラクティスをやさしく解説 5 GitHub、Markdownで目標を記述することでタスクを自動実行する「Agentic Workflows」公開 6 Microsoft、「Power Apps MCP Server」をパブリックプレビューとして公開 7 AI時代でも揺るがないエンジニアの地力とは──“定点観測会”で育てる保証力 NEW 8 非エンジニアが生成AIで30種類以上のWebツールを開発、AI用プロンプトが無料でもらえる「AIツールラボ」を公開 9 エンジニアリングマネージャーは「RPGのジョブチェンジ」である──新多真琴さんが語る、“できない”を受け入れ、チームで勝つための思考法 10 AI時代のプレイングマネージャーが磨くべき「スキル」と「覚悟」──生産性向上を限定的にしないための思考法とは アクセスランキング 今日 月間 1 C++の新機能を理解する──静的なoperator()/operator[]と多次元対応operator[]など言語仕様の強化 2 MCPサーバーに認証・認可を導入してみよう──セキュアな公開に向けた実装手順 NEW 3 Microsoft、複数のファイルを横断するエージェント「Agents in OneDrive」一般提供開始 NEW 4 Claude Skillsとは? AIエージェント開発における新たなベストプラクティスをやさしく解説 5 GitHub、Markdownで目標を記述することでタスクを自動実行する「Agentic Workflows」公開 6 Microsoft、「Power Apps MCP Server」をパブリックプレビューとして公開 7 AI時代でも揺るがないエンジニアの地力とは──“定点観測会”で育てる保証力 NEW 8 非エンジニアが生成AIで30種類以上のWebツールを開発、AI用プロンプトが無料でもらえる「AIツールラボ」を公開 9 エンジニアリングマネージャーは「RPGのジョブチェンジ」である──新多真琴さんが語る、“できない”を受け入れ、チームで勝つための思考法 10 AI時代のプレイングマネージャーが磨くべき「スキル」と「覚悟」──生産性向上を限定的にしないための思考法とは 1 「AIにコードを書かせる」だけじゃない!「AIネイティブ開発」へ移行するためのマインドセットと2つの実践手法 2 「LTSとSTS」 ~マンガでプログラミング用語解説 3 新卒エンジニア育成の課題は「ソフトスキル不足」が9割。「新卒エンジニア育成」に関する調査結果 4 Claude Skillsとは? AIエージェント開発における新たなベストプラクティスをやさしく解説 5 「否定された」と感じさせないコードレビューの作法。チームを育てるテキストコミュニケーションとは? 6 GeminiでNotebookLMのノートブックをソースとして追加することが可能に 7 Apple、2026年4月からiOSアプリの新SDK対応を必須化 8 最新バージョン.NET 10/Visual Studio 2026の登場が、開発者にいかなる価値をもたらすか──「ECHO 2025」開催 9 C# 14の新機能を理解する──fieldキーワードとユーザー定義複合代入演算子 10 非エンジニアが生成AIで30種類以上のWebツールを開発、AI用プロンプトが無料でもらえる「AIツールラボ」を公開