特集記事 JavaScriptでつくるSchemeインタプリタの基礎の基礎 JavaScriptによるSchemeの実装 zick[著] 2006/12/12 00:00 JavaScript ポスト 目次 Page 1 はじめに 対象読者 必要な環境 概要 作成するインタプリタについて Schemeのプログラム インタプリタの概要 オブジェクト インタプリタが扱うデータ オブジェクトの準備 対リストとクォート Page 2 入出力 入力の変換 出力への変換 式の評価 評価の規則 環境の設計 評価器の実装 組み込み関数 組み込み関数の設計 Applyの実装 用意すべき組み込み関数 Page 3 関数定義 Scheme側の関数 begin EXPRオブジェクト lambda EXPRの呼び出し 環境の操作 条件分岐 サンプル 階乗 クロージャ まとめ 参考文献 会員登録無料すると、続きをお読みいただけます 新規会員登録無料のご案内 ・全ての過去記事が閲覧できます ・会員限定メルマガを受信できます メールバックナンバー 新規会員登録無料 ログイン Page 1 はじめに 対象読者 必要な環境 概要 作成するインタプリタについて Schemeのプログラム インタプリタの概要 オブジェクト インタプリタが扱うデータ オブジェクトの準備 対リストとクォート Page 2 入出力 入力の変換 出力への変換 式の評価 評価の規則 環境の設計 評価器の実装 組み込み関数 組み込み関数の設計 Applyの実装 用意すべき組み込み関数 Page 3 関数定義 Scheme側の関数 begin EXPRオブジェクト lambda EXPRの呼び出し 環境の操作 条件分岐 サンプル 階乗 クロージャ まとめ 参考文献 次のページ関数定義 1 2 3 PREV NEXT この記事は参考になりましたか? 0参考になった 印刷用を表示 ポスト 特集記事連載記事一覧 開発者のための「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 トヨタグループで挑戦するPM兼モバイルアプリエンジニア、Osaka Tech Labで働く魅力とは? 2 Python 3.13の新機能、対話型インタプリタの機能強化や高速化などを解説 3 さきがけ精神で挑むアーキテクチャ刷新!──技術革新と進化をもたらす秘訣とは NEW 4 ノーコードAIツール「MatrixFlow」、生成AIの精度を向上する「RAG」機能と「プロンプト管理」機能の提供を開始 5 「VRAM」 ~マンガでプログラミング用語解説 6 VSCodeをドキュメント作成に活用――テキストエディタ、Markdownエディタの設定と拡張機能を解説 7 技術力だけでは乗り越えられないビジネスの壁を乗り越える!推し技術を組織に根付かせる「戦略的エンジニアリング」 8 トヨタ式アジャイル開発! モブプログラミングを取り入れて開発を効率化させるヒント 9 ジェネラティブエージェンツ、LangChainを活用した「LLMアプリケーション開発者養成講座」の提供を開始 NEW 10 日立製作所、OSS活用をグローバルでリードするOpen Source Program Office(日立OSPO)を設立 NEW アクセスランキング 今日 月間 1 トヨタグループで挑戦するPM兼モバイルアプリエンジニア、Osaka Tech Labで働く魅力とは? 2 Python 3.13の新機能、対話型インタプリタの機能強化や高速化などを解説 3 さきがけ精神で挑むアーキテクチャ刷新!──技術革新と進化をもたらす秘訣とは NEW 4 ノーコードAIツール「MatrixFlow」、生成AIの精度を向上する「RAG」機能と「プロンプト管理」機能の提供を開始 5 「VRAM」 ~マンガでプログラミング用語解説 6 VSCodeをドキュメント作成に活用――テキストエディタ、Markdownエディタの設定と拡張機能を解説 7 技術力だけでは乗り越えられないビジネスの壁を乗り越える!推し技術を組織に根付かせる「戦略的エンジニアリング」 8 トヨタ式アジャイル開発! モブプログラミングを取り入れて開発を効率化させるヒント 9 ジェネラティブエージェンツ、LangChainを活用した「LLMアプリケーション開発者養成講座」の提供を開始 NEW 10 日立製作所、OSS活用をグローバルでリードするOpen Source Program Office(日立OSPO)を設立 NEW 1 VSCodeをドキュメント作成に活用――テキストエディタ、Markdownエディタの設定と拡張機能を解説 2 DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防 3 生成AI時代のソフトウェアテストは「めんどくさい」── 高橋寿一氏が語る、これからの「シフトレフト」「シフトライト」 4 なぜバックエンド開発にRustを使うのか? その魅力はパフォーマンス、安全性、生産性の高さ 5 Python 3.13の新機能、対話型インタプリタの機能強化や高速化などを解説 6 テスト自動化ツールの導入で発生する課題……事例と共に、業界20年のベテランが解消方法を解説! 7 高パフォーマンスなコードを書くために不可欠の知識、『なっとく! 並行処理プログラミング』発売 8 Pythonや生成AI活用など無料で基礎が学べるプログラミング学習講座「スタディングテック」提供開始 9 PHPパッケージ管理ツール「Composer」の処理の仕組みを見てみよう! 10 フリーランスエンジニアに求められる能力とは? ギークスが調査レポートを発表 イベント CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。 新規会員登録無料のご案内 ・全ての過去記事が閲覧できます ・会員限定メルマガを受信できます メールバックナンバー 新規会員登録無料 ログイン アクセスランキング 1 トヨタグループで挑戦するPM兼モバイルアプリエンジニア、Osaka Tech Labで働く魅力とは? 2 Python 3.13の新機能、対話型インタプリタの機能強化や高速化などを解説 3 さきがけ精神で挑むアーキテクチャ刷新!──技術革新と進化をもたらす秘訣とは NEW 4 ノーコードAIツール「MatrixFlow」、生成AIの精度を向上する「RAG」機能と「プロンプト管理」機能の提供を開始 5 「VRAM」 ~マンガでプログラミング用語解説 6 VSCodeをドキュメント作成に活用――テキストエディタ、Markdownエディタの設定と拡張機能を解説 7 技術力だけでは乗り越えられないビジネスの壁を乗り越える!推し技術を組織に根付かせる「戦略的エンジニアリング」 8 トヨタ式アジャイル開発! モブプログラミングを取り入れて開発を効率化させるヒント 9 ジェネラティブエージェンツ、LangChainを活用した「LLMアプリケーション開発者養成講座」の提供を開始 NEW 10 日立製作所、OSS活用をグローバルでリードするOpen Source Program Office(日立OSPO)を設立 NEW アクセスランキング 今日 月間 1 トヨタグループで挑戦するPM兼モバイルアプリエンジニア、Osaka Tech Labで働く魅力とは? 2 Python 3.13の新機能、対話型インタプリタの機能強化や高速化などを解説 3 さきがけ精神で挑むアーキテクチャ刷新!──技術革新と進化をもたらす秘訣とは NEW 4 ノーコードAIツール「MatrixFlow」、生成AIの精度を向上する「RAG」機能と「プロンプト管理」機能の提供を開始 5 「VRAM」 ~マンガでプログラミング用語解説 6 VSCodeをドキュメント作成に活用――テキストエディタ、Markdownエディタの設定と拡張機能を解説 7 技術力だけでは乗り越えられないビジネスの壁を乗り越える!推し技術を組織に根付かせる「戦略的エンジニアリング」 8 トヨタ式アジャイル開発! モブプログラミングを取り入れて開発を効率化させるヒント 9 ジェネラティブエージェンツ、LangChainを活用した「LLMアプリケーション開発者養成講座」の提供を開始 NEW 10 日立製作所、OSS活用をグローバルでリードするOpen Source Program Office(日立OSPO)を設立 NEW 1 VSCodeをドキュメント作成に活用――テキストエディタ、Markdownエディタの設定と拡張機能を解説 2 DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防 3 生成AI時代のソフトウェアテストは「めんどくさい」── 高橋寿一氏が語る、これからの「シフトレフト」「シフトライト」 4 なぜバックエンド開発にRustを使うのか? その魅力はパフォーマンス、安全性、生産性の高さ 5 Python 3.13の新機能、対話型インタプリタの機能強化や高速化などを解説 6 テスト自動化ツールの導入で発生する課題……事例と共に、業界20年のベテランが解消方法を解説! 7 高パフォーマンスなコードを書くために不可欠の知識、『なっとく! 並行処理プログラミング』発売 8 Pythonや生成AI活用など無料で基礎が学べるプログラミング学習講座「スタディングテック」提供開始 9 PHPパッケージ管理ツール「Composer」の処理の仕組みを見てみよう! 10 フリーランスエンジニアに求められる能力とは? ギークスが調査レポートを発表