はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    iPhone 17

『関数プログラミングへの招待』

  • 人気
  • 新着
  • すべて
  • Cleanで関数プログラミング 【第1部第4章】

    5 users

    sky.zero.ad.jp/~zaa54437

    目次へ    最終更新 : 2003/7/21 第4章 型の力 4.1 型クラス 4.2 存在型 4.3 一意型 4.4 演習 訳者注:一意性の多相性(4.3.7)の所で、記号が正しく印字されない場合(Adobe Acrobat Reader 5.05で閲覧)がありましたので、私なりに補充しました(一応確認しました)。従って、そこに関しては正確でないかもしれないのでご了承下さい。 CLEANは、強く型付けされた言語である。これは、言語内のあらゆる式が型付けされており、プログラム実行前にコンパイラが型の正当性を検査できるということを意味している。間違って型付けされたプログラムは認められない。この型システムのおかげで、多くのエラーをコンパイル時に発見し報告することができる。ソフトウェア開発プロセスの早期の段階でプログラミングエラーを発見することは重要である。後でエラーを直すことは、遥

    • テクノロジー
    • 2010/10/25 16:09
    • programming
    • Rubyで関数プログラミング Part 9 【並行処理 1】

      4 users

      sky.zero.ad.jp/~zaa54437

      この頁では、関数プログラミングと並行(並列)処理との適合性について説明したいと思います。 関数型言語にとっては、並行処理は概念的には極めて親和性の高い処理形式です。 なぜか?ということに対する答えは関数プログラミング言語の本質的側面に関係しています。Part 5で、純粋な関数プログラミング言語では参照透明性が維持されているということを述べました。参照透明性が維持されていることは、プログラムの評価順序に関数の結果値が依存しないということです。ということは、任意のタスク(関数型言語では、関数となります)を1つのプロセスに割り当てることができるようになります。任意に割当ててもプログラマが管理しようとも同じことになるからです(概念的には)。命令型言語の場合、関数/手続は参照透明ではないので、任意の仕事をプロセスに割り当てることができません。任意に割り当ててしまったのでは、予測不能な動作をする恐

      • 世の中
      • 2009/06/23 08:27
      • Ruby
      • Clean Version 2.1 言語報告 【目次】

        5 users

        sky.zero.ad.jp/~zaa54437

        Written by Rinus Plasmeijer and Marco Van Eekelen. Translated into Japanese by Satoshi Ikeda. 序文 導入 Cleanに関する更なる情報 この言語報告について Cleanの構文に付いてのいくつかの注意 本報告で使用される記法上の規約 Cleanの取得法 Cleanシステムの現在の状態 Clean 1.3とClean 2.0の間の構文上の相違 著作権、著作者及び権利 最後の注意 第1章 基礎の意味論 1.1 グラフ書換え 1.1.1 小さな例 1.2  大域グラフ 第2章 モジュールと通用範囲 2.1 識別子、通用範囲及び名前空間 2.1.1 識別子の名前規約 2.1.2 通用範囲と名前空間 2.1.3 通用範囲の入れ子 2.2 Cleanプログラムのモジュ

        • 学び
        • 2008/05/31 16:29
        • clean
        • language
        • programming
        • Rubyで関数プログラミング Part 7 【高階関数の実用】

          4 users

          sky.zero.ad.jp/~zaa54437

          前頁では、関数がファーストクラスであることの説明と、そのことによる実益を説明しましたが、プログラミングの世界では、引数に関数を渡すことができ、結果値に関数を返すことができる関数を高階関数(higher-order function)といいます。この高階関数の表現力の高さ故に関数がファーストクラスである必要があるといってよいと思います。 前頁ではその例を少しだけ示しましたが、高階関数の本領を知るにはいくらなんでも例が少なすぎると思いましたので、この頁では、高階関数として有用であることが知られているいくつかの関数を示すことによって、高階関数実現による利点を敷衍したいと思います。 まず、map関数です。この関数は、引数として、1つの関数と複数のリストを取り、そのリストの各要素に対して引数としての関数を適用し、その結果をリストとして出力するという関数です。Rubyにも、ライブラリとして、map

          • 世の中
          • 2007/06/13 02:10
          • ruby
          • *プログラミング
          • *programming
          • programming
          • 関数型言語のリンク集

            3 users

            sky.zero.ad.jp/~zaa54437

            関数プログラミングに関するリンク集です。Concurrent Clean公式サイト等は、それ専用のページを作っていますので、こちらを参考にして下さい。また、Clean以外の関数型言語のリンク集も作りましたので、興味がある人は参考にして下さい。 C++用の準標準ライブラリです。この中に、関数プログラミングができるようになるライブラリも多数含まれています。C++の標準化委員会でも一部取り入れているようですので、C++のユーザーは、使ってみて損はないと思います。ただ、関数プログラミングの特長を一部実現できているだけですので、その点には留意してください。尚、日本語リソースがあります。(2002.12.05記載、2003.10.17修正) NEC Research Instituteの研究員がはじめた、計算機科学の様々な文献をPostScript又はPDF等でまとめてあるサイトです。単に文献が豊富

            • 世の中
            • 2007/02/13 11:09
            • computer science
            • 関数型言語
            • programming
            • Rubyで関数プログラミング 【目次】

              9 users

              sky.zero.ad.jp/~zaa54437

              このページでは、Rubyを使って、関数プログラミングを行ってみたいと思います。 Rubyは、よくいわれるように命令型言語の発展形たるオブジェクト指向型言語ですので、関数プログラミングを行うのに適した言語ではありません。しかし、全く関数プログラミングの特徴を伝えることができないわけではありません。それに必要ないくつかの機能を備えていると思います。従って、Rubyで関数プログラミングを行うことにより、関数プログラミングへのイントロダクションにしてみたいと思っています。 念の為言っておきますが、私はRubyをよく知りません。しかし、動的束縛のオブジェクト指向言語ということなので、その言語構成は、型システム以外はメジャーな多目的言語(C++,Object Pascal等)とそう変わらないと思います。というか、完全にそういう前提で話をします。 因みに、参考資料は、言語仕様に関するヘルプ、オライ

              • 学び
              • 2006/07/30 01:35
              • ruby
              • 関数プログラミング
              • プログラミング
              • Rubyで関数プログラミング Part 1 【関数プログラミングの特徴 】

                6 users

                sky.zero.ad.jp/~zaa54437

                関数プログラミングの特徴とは何かという問題は、現在でもまだ定まっているとは言い難いような感じですので、ズバリ述べることはできませんが、それでも、命令型言語と比較した場合の関数型言語の特徴を挙げれば、それに対する大体の回答にはなると思います。 というか、正直に言って、それに関しては、Programming Language Conceptsの頁で説明していますので、そちらを参考にしてもらえれば良いということになってしまいます(例えば、その頁のimperative paradigmやfunctional paradigm等)。 しかし、それにもかかわらずこの頁を設けた理由は、Rubyは関数プログラミング言語ではないので、主要なものを全て説明できるわけではなく、それならば、その特徴の中でも、Rubyでもなんとか実現できそうなものを示そうと思ったからです。 そうしてみると、以下のものを列挙で

                • 世の中
                • 2006/04/29 13:02
                • ruby
                • 関数プログラミング
                • Functional
                • math
                • プログラミング
                • Cleanで関数プログラミング 【第1部目次】

                  7 users

                  sky.zero.ad.jp/~zaa54437

                  First Uploaded : March 20, 2002 Last Updated : March 14, 2004

                  • 暮らし
                  • 2006/04/25 19:21
                  • clean
                  • Functional
                  • programming
                  • Cleanで関数プログラミング 【第2部第5章】

                    13 users

                    sky.zero.ad.jp/~zaa54437

                    目次へ    最終更新 : 2002/11/10 第5章 パーサコンビネータ 5.1 パーサの型 5.2 初歩的なパーサ 5.3 文法 5.4 パーサコンビネータ 5.5 パーサ変換子 5.6 括弧の照合 5.7 より多くのパーサコンビネータ 5.8 オプションの解析 5.9 算術式 5.10 一般化式 5.11 モナドパーサ 5.12 文脈依存性 5.13 よくある罠 5.14 エラー処理 5.15 自己適用 5.16 演習 本章は、パーサコンビネータ(parser combinator)を使用して遅延関数型言語のパーサ(構文解析子)を記述する公式的ではない紹介である。コンビネータ(結合子、組合せ子)は、解析関数(parse function)を操作する演算子である。これらのコンビネータを使用すると、エレガントな方法で、曖昧な文法(ambiguous gr

                    • テクノロジー
                    • 2006/04/17 17:04
                    • parser
                    • haskell
                    • Clean
                    • プログラミング
                    • *あとで読む
                    • Rubyで関数プログラミング Part 6 【ファーストクラスの関数】

                      6 users

                      sky.zero.ad.jp/~zaa54437

                      関数型言語にとって、関数がファーストクラスの身分を持つというのは必須の要件だと言えるでしょう。 関数がファーストクラスであるというのはどういうことかということに関しては、基礎概念の所(first-class objectの項目)にもあるので見てもらえればいいと思いますが、ここでも簡単に言っておくと、データと同じように関数を取り扱うことができるということです。つまり、名前をつけられる(定義/宣言できる)ということだけではなく、関数の引数・結果値になることもでき、しかも、データ構造の中にオブジェクトとして組み込むこともできるということです。 関数型以外の言語はこれができるわけではありません。つまり、データと同じように、定義できたり、引数・結果値になったり、データ構造に組み込むことができるわけではありません。例えば、Rubyでは、メソッド定義はdefを使用する一方で、変数定義は代入演算子に拠

                      • 世の中
                      • 2005/12/26 00:54
                      • ruby
                      • programming
                      • プログラミング言語

                        73 users

                        sky.zero.ad.jp/~zaa54437

                        日本では余り知られていませんが、非常に優れた純粋関数型言語Concurrent Cleanの使い方、チュートリアル・言語リポートの翻訳を載せています。一応ここだけ見れば、Cleanの基本は分かるようにしているつもりです。純粋関数型という最先端の言語でありながら、統合開発環境を持ち、GUI作成のライブラリも豊富な、そして、効率的なexeファイルを出力するコンパイラです。インタプリタではありません。 やはり言っておくべきなのでしょうが、ここにある内容は、基本的に、明示的型宣言を行う命令型言語及びオブジェクト指向言語(具体的には、C/C++、Java、C#、Pascal等)をやった人でないと分からないような内容が多いかもしれません。 ただ、Rubyの所は、Rubyだけ分かっていれば分かる内容だと思います。 個人的な意見ですが、関数型言語それ自体は命令型言語を勉強しないままでも入って行けると思

                        • 暮らし
                        • 2005/10/28 09:39
                        • programming
                        • プログラミング
                        • 関数プログラミング
                        • ruby
                        • 後で読む
                        • functional
                        • プログラム
                        • P言語
                        • プログラミング言語
                        • 教材
                        • 関数プログラミングへの招待

                          26 users

                          sky.zero.ad.jp/~zaa54437

                          更新履歴過去分等 2006/11/28 : Links modified (Linkを修正しました。) 2005/07/16 : Link added in Clean site (Linkを追加しました) 2005/06/04 : "How to use Clean IDE" updated (Clean IDEの使い方を更新しました) 2004/12/03 : Functional programming in Ruby modified (Rubyで関数プログラミングを一部修正しました) 11/26 : Programming language concept added (プログラミング言語の基礎概念を一部追加しました) 2004/11/02 : Clean related sites linked (Clean関連サイトのリンクを追加しました) 09/21 : Object I

                          • 暮らし
                          • 2005/10/24 21:38
                          • ruby
                          • functional
                          • programming
                          • 関数プログラミング
                          • 関数型言語
                          • tutorial
                          • Programming Language Concepts

                            54 users

                            sky.zero.ad.jp/~zaa54437

                            • 暮らし
                            • 2005/06/22 13:30
                            • programming
                            • プログラミング
                            • functional
                            • 関数型言語
                            • dictionary
                            • *programming
                            • Rubyで関数プログラミング 【目次】

                              139 users

                              sky.zero.ad.jp/~zaa54437

                              このページでは、Rubyを使って、関数プログラミングを行ってみたいと思います。 Rubyは、よくいわれるように命令型言語の発展形たるオブジェクト指向型言語ですので、関数プログラミングを行うのに適した言語ではありません。しかし、全く関数プログラミングの特徴を伝えることができないわけではありません。それに必要ないくつかの機能を備えていると思います。従って、Rubyで関数プログラミングを行うことにより、関数プログラミングへのイントロダクションにしてみたいと思っています。 念の為言っておきますが、私はRubyをよく知りません。しかし、動的束縛のオブジェクト指向言語ということなので、その言語構成は、型システム以外はメジャーな多目的言語(C++,Object Pascal等)とそう変わらないと思います。というか、完全にそういう前提で話をします。 因みに、参考資料は、言語仕様に関するヘルプ、オライ

                              • 暮らし
                              • 2005/05/12 21:27
                              • ruby
                              • functional
                              • programming
                              • 関数プログラミング
                              • P言語
                              • プログラミング
                              • プログラム
                              • アプリケーション
                              • tutorial
                              • 純粋関数型言語Concurrent Clean

                                75 users

                                sky.zero.ad.jp/~zaa54437

                                純粋遅延関数型言語Concurrent Clean (Pure and lazy functional language : Concurrent Clean) 〜 The most functional language 〜 Concurrent Cleanは、オランダのネイメーヘン大学で開発している、純粋な関数型言語です。 メジャーな関数型言語としては、Lisp、Scheme、ML、Haskell等がありますが、それらに決して劣ることのない環境と言語仕様を持つ言語です。効率性・開発環境・言語仕様どれも最高位ではないかと思うくらいです。言語仕様的には、この中では、Haskellに一番似ているとされています(沿革的にはMirandaと言われる純粋関数型言語の中間言語から出発していますので、Mirandaに似ていると言う方が正確でしょうが)。 ここでは、著作者たるPlasmeijer教授

                                • 暮らし
                                • 2005/04/14 16:08
                                • clean
                                • 関数型言語
                                • programming
                                • functional
                                • language
                                • 関数型
                                • プログラミング
                                • Haskell
                                • 言語
                                • Cleanで関数プログラミング 【総目次】

                                  20 users

                                  sky.zero.ad.jp/~zaa54437

                                  上のページへ Cleanで関数プログラミング 【総目次】 Written by Pieter Koopman, Rinus Plasmeijer, Marko Van Eekelen and Sjaak Smetsers. Translated into Japanese by Satoshi Ikeda. 序章 第一部 第二部 第三部 付録 この文書は、原題"Functional Programming in Clean"を、原著作者の許諾を得て、池田 聡が翻訳したものです。  本文書のレイアウトは、Internet Explorer 5.5SP2 & 6.0SP1に最適化されていますので、他のブラウザでは正しく表示されない場合があります。  尚、文字コードは、Shift_JISです。

                                  • 学び
                                  • 2005/04/06 17:22
                                  • Clean
                                  • functional_programming
                                  • 関数型言語
                                  • programming
                                  • ドキュメント
                                  • programing
                                  • haskell
                                  • tutorial
                                  • プログラミング
                                  • Programming Language Concepts

                                    10 users

                                    sky.zero.ad.jp/~zaa54437

                                    Abstract interpretation 抽象解釈と訳されているようである。抽象実行とも訳されることがある。 定義としては、プログラムを全部計算することなく、そのプログラムの意味又は特性を画定することを目的とした部分実行ということになると思う。部分実行であるので、プログラムを全部実行してしまうわけではない。 これは、通常のプログラムの実行と比べると分かりやすい。通常のプログラム実行(通常のインタプリタ等の実行のこと)は、標準解釈(standard interpretation)と呼ばれるが、これとの対比で考えると、抽象解釈とは、コンパイル時に行われ、停止性を持つ、性質の調査には近似的であり、部分的なプログラムの実行であるということができる。それに対して、標準解釈は、実行時に行われ、必ずしも停止するわけではなく、しかし、特性の画定は決定的であり、全部を行うプログラムの実行ということ

                                    • テクノロジー
                                    • 2005/03/16 09:18
                                    • 関数型言語
                                    • dictionary

                                    このページはまだ
                                    ブックマークされていません

                                    このページを最初にブックマークしてみませんか?

                                    『関数プログラミングへの招待』の新着エントリーを見る

                                    キーボードショートカット一覧

                                    j次のブックマーク

                                    k前のブックマーク

                                    lあとで読む

                                    eコメント一覧を開く

                                    oページを開く

                                    はてなブックマーク

                                    • 総合
                                    • 一般
                                    • 世の中
                                    • 政治と経済
                                    • 暮らし
                                    • 学び
                                    • テクノロジー
                                    • エンタメ
                                    • アニメとゲーム
                                    • おもしろ
                                    • アプリ・拡張機能
                                    • 開発ブログ
                                    • ヘルプ
                                    • お問い合わせ
                                    • ガイドライン
                                    • 利用規約
                                    • プライバシーポリシー
                                    • 利用者情報の外部送信について
                                    • ガイドライン
                                    • 利用規約
                                    • プライバシーポリシー
                                    • 利用者情報の外部送信について

                                    公式Twitter

                                    • 公式アカウント
                                    • ホットエントリー

                                    はてなのサービス

                                    • はてなブログ
                                    • はてなブログPro
                                    • 人力検索はてな
                                    • はてなブログ タグ
                                    • はてなニュース
                                    • ソレドコ
                                    • App Storeからダウンロード
                                    • Google Playで手に入れよう
                                    Copyright © 2005-2025 Hatena. All Rights Reserved.
                                    設定を変更しましたx