タグ

ブックマーク / modegramming.blogspot.com (8)

  • 関数型プログラミング技術マップ2015

    『圏論の歩き方』を読んで少し理解が進んだので、関数型プログラミング技術マップを更新しました。「関数型プログラミング技術マップ2014」の2015年版です。 以下の点を改良しています。 Curry-Howard対応をCurry-Howard-Lambek対応に拡張直観主義述語論理を追加して直観主義命題論理を包含カルテジア閉圏とトポス(圏)を追加直観主義命題論理⇔カルテジアン閉圏、単純型付ラムダ計算⇔カルテジアン閉圏間の関係を追加この図は関数型プログラミング(FP: Functional Programming)を取り巻く理論を整理することを目的としています。 誤解があるといけないので補足しておきますがFPを行うために必須の理論という意図ではありません。 業務アプリケーションをFPで開発するという目的には、圏論も論理学も抽象代数も必須知識ではなく、MonoidやMonadのプログラム上での使い

    関数型プログラミング技術マップ2015
    rgfx
    rgfx 2015/10/09
  • Domain-Driven Design (DDD)

    3月19日(月)に要求開発アライアンスのセッション『Object-Functional Analysis and Design: 次世代モデリングパラダイムへの道標』を行いましたが、説明を端折ったところを中心にスライドの回顧をしています。 「Domain-Driven Design (DDD)」として用意した以下のスライドを説明します。 セッションの全体構成は以下のようになっています。 関数型プログラミング Object Functional Programming (OFP) Object Functional Analysis and Design (OFAD) 応用 この中で4番目「応用」は、今OOADやクラウド・プラットフォームで話題となっている技術がOFADでどのような影響を受けそうなのかということを考えてみる趣旨のセクションです。 具体的に考えてみることで、OFADへのイメージ

    Domain-Driven Design (DDD)
    rgfx
    rgfx 2012/04/27
  • データフローの実装技術

    要求開発アライアンスのセッション『Object-Functional Analysis and Design: 次世代モデリングパラダイムへの道標』で使用するスライドについて背景説明を行っています。 関数型言語の技術マップ オブジェクト・モデリングのボトルネック 代数的構造デザインパターン 圏論デザインパターン オブジェクトと関数の連携(1) オブジェクトと関数の連携(2) オブジェクトと関数の連携(3) 今回は背景説明第8弾として、「データフローの実装技術」として用意した以下の図を説明します。 オブジェクトと関数の連携(3)では、オブジェクト・モデリングと関数型の連携ではデータフロー・モデルが重要な位置付けにあることを説明しました。 そこで重要になってくるのが、データフロー・モデルを関数型言語の世界でどのように実現してくのかという実装技術です。 このスライドでは、その具体例としてボクが注

    データフローの実装技術
    rgfx
    rgfx 2012/03/09
  • 「崖っぷちの欧州、ローマの炎上を許すな」のマインドマップとクラス図

    11月19日(土)に横浜モデリング勉強会を行いました。 参加者6名で、懇親会も盛り上がりました。 また、会場には(株)アットウェア様の会議室をお借りしました。 参加された皆さん、アットウェア様、どうもありがとうございました。 この勉強会で、浅海が作成したモデルを紹介します。 モデルはMindmapModelingの手法で作成しました。(勉強会で使用したチュートリアル) モデリングの対象は、JB PRESS誌に掲載されたMartin Wolf氏の記事(FT誌の翻訳)「崖っぷちの欧州、ローマの炎上を許すな」です。前回と同様に、時事ネタなのと、いろいろな情報が交錯していて、一見焦点が絞れないところが、モデリングの練習によい感じです。 この記事における現実世界の構造をオブジェクトモデルとして抽出します。 まず、最初の作業で記事中から単語を抜き出します。 単語を抜き出しながら、登場人物、道具、出来事

    「崖っぷちの欧州、ローマの炎上を許すな」のマインドマップとクラス図
    rgfx
    rgfx 2011/11/21
  • RESTのFeedを一覧表示するActivityの生成

  • SimpldeModelerが生成するAndroidコード

  • Scala DSL

    クラウド時代に向けて: SimpleModel:オブジェクト・メタモデル。クラウド・アプリケーション向けの拡張中。 SimpleModeler:SimpleModelのモデルコンパイラ。 g3:メッセージフロー・フレームワーク。の開発を行っているわけだけれど、これらの技術のキーテクノロジとなるのがDSL(Domain Specific Language)である。 SimpleModelはメタモデルだけれど、Scala DSLで簡潔に記述できることが要件の一つになっている。そして、SimpleModelのモデルコンパイラがSimpleModeler。SimpleModelerはSimpleModelを記述したScala DSLの集まりをソフトウェアリポジトリとして使用する。 またg3は、Scala DSLで記述したメッセージフロー・モデルに基づいて動作する。 このように、このところはScal

    rgfx
    rgfx 2011/04/16
    こっからAsakusa DSLに繋がってったのかなぁ。
  • Androidのアーキテクチャ

    このところAndroidに集中して取り組んでいるのですが、その作業の中で、Androidアプリのアーキテクチャとして使えそうなものが見えてきたのでメモしておきます。 図で赤くなっているオブジェクトは、Androidの基クラスでAndroid OS上で特別な機能を担うものです。これらのオブジェクトをベースとして、どのようなオブジェクト群を追加し、どのような責務配分をして全体をバランスさせるのかという点が論点となります。 このアーキテクチャでは、ControllerとModelという2つのクラスを導入して、上記の配線でActivity、Handler、Thread、Serviceを結びつけています。 ここで注意が必要なのは、ControllerとModelという名前。他に良い名前がないのでControllerとModelという名前を付けていますが、気持ちとしては(MVCではなく)PACアーキ

    Androidのアーキテクチャ
    rgfx
    rgfx 2011/04/16
    "Androidは、ちょっと本格的なアプリケーションになると内部的には非同期メッセージを駆使したプログラミングモデルに/MVCではなくPAC"
  • 1