InfoQ ホームページ Functional Programming に関するすべてのコンテンツ
-
Scala 2.11 メジャーリリース最新版
Typesafe社は最近、三条項BSDライセンスに基づくScala 2.11のリリースを発表した。このメジャーリリースにはscalac, REPL, パッケージング/モジュール化, マクロ, コレクションライブラリ, その他様々なバグフィックスが含まれる。Scala 2.11はJava6をターゲットとしており、Java8は試験的サポートにとどまっている。2.10シリーズとのバイナリ互換性はないが、2.10にて廃止予定警告 (deprecation warning) なしでコンパイルされたコードは2.11でもコンパイル出来るはずだ。
-
ドメイン駆動設計における関数型パターン
ドメイン駆動設計(DDD)の概念を状態と振る舞いというオブジェクト指向の原理を使って実装しようとすると、しばしば混乱した変わりやすいモデルができあがる。その代わりに、ドメインオブジェクトは状態のみをもち、振る舞いをスタンドアローンな関数として構築することがよりよい実現方法につながる、とDebasish Ghosh氏は最近のブログ投稿で主張している。
-
Akka Streamsによるリアクティブストリーム
Typesafeは,アクタを基本としたリアクティブストリームのオープンソース実装であるAkka Streamsの早期プレビュー版を発表した。リアクティブストリームはJava仮想マシン(JVM)上で,非ブロック形式のバックプレッシャを備えた非同期ストリーム処理の標準を提供しようという取り組みだ。非同期性は計算機リソースの並列使用を可能にするために,またバックプレッシャはデータ生成が利用側の処理を圧迫してシステム全体をダウンさせる潜在的可能性を防ぐために,それぞれ必要とされている。
-
HaskellがiOSをサポート、性能を改善
GHC 7.8.1がリリースされ、Haskellのエコシステムがいくつか改善された。iOS向けにコンパイルできるようになり、Closed Type Families, Roles, Overloaded Lists, Pattern Synonymsなどの新しい機能が追加され、性能改善が行われた。
-
関数型言語F#を使ったDDDとCQRS
ドメイン駆動設計(DDD)を実践する上で、C#のようなオブジェクト指向言語からF#のような関数型の言語へ移行すると、振る舞いに着目できることとより宣言的なコードになることのふたつの利点がある、とLev Gorodinski氏は言う。氏は最近のプレゼンでイベントソーシングとCommand-Query Responsibility Separation(CQRS)を例に挙げて説明した。
-
関数型言語を使ったドメイン駆動設計
ドメイン駆動設計 (DDD) で関数型言語を使用すると、多くの場合で実際のコードが簡単になり、ドメイン専門家と議論する際にUMLの代わりとして使うこともできると、Scott Wlaschinは関数型ロンドン市民グループの最近の会議で述べた。講演内容は、F#を使った関数型プログラミングにドメインモデリングを適用することについてであった。
-
ThoughtWorks Technology RadarについてRebecca Parsons氏が語る
1月、ThoughtWorksは最新のTechnology Radarで、同社が追跡しているソフトウエア開発のエコシステムの動向を発表した。1)プロダクション環境での警告システムとリカバリ、2)プライバシとビッグデータの緊張関係、3)JavaScriptのエコシステム、4)物理と仮想の環境の境界の曖昧化、の4つが今年の大きなテーマだ。
-
オブジェクト指向設計の原則と関数型プログラミング
互いに独立した活動として、Richard Warburtonはプレゼンテーションで、Mark Seemannはブログで、共に関数型プログラミングの観点から見たオブジェクト指向とSOLID設計原則について触れた。
-
Akka Toolkit 2.3 は Java 8 と Persistence をサポートする
アクター・モデルの実装である、Akka Toolkitの最新版は、内部状態を永続化するステートフル・アクターを可能にする Persistence が、Java 8 のラムダ式のサポートと共に付属している。
-
-
PrismaticがSchema 0.2にデータ型強制変換を追加
Prismaticでは,同社のClojureデータ記述ライブラリであるSchemaの0.2リリースに,データの強制型変換(coercion)を追加した。これにより,不正な型のデータを単にリジェクトするのではなく,スキーマに適合させてインスタンスを変換するような設定が可能になる。InfoQではSchemaについて,PrismaticのJason Wolfe氏に話を聞いた。
-
LightTable IDEがオープンソース化
Chris Granger氏がLightTable IDEのバージョン0.6リリースに伴い、オープンソースにした。このリリースではサードパーティのプラグインがサポートされた。InfoQはChris Granger氏にインタビューをした。
-
Facebook製UIライブラリ『React』の不変性をパワーアップさせる『Om』について
Omは、Facebook製HTML UIライブラリ『React』向けの新しいClojureScriptインタフェースである。OmはClojure(Script)の永続データ構造と、Reactの描画機能を改善するためにrequestAnimationFrameを使用している。InfoQはアプリケーション開発において、Omおよび関数型プログラミングがもたらす恩恵について、Omの開発者であるDavid Nolen氏と対談した。
-
10歳になったScala
10年前の今日,Scala言語の最初のリリースがcomp.lang.scalaニュースグループで発表された。10年という長い月日を経たこの言語の,次の10年はどのようなものだろうか? InfoQが振り返る。
-
Xen Project,Mirage 0S 1.0をリリース
Mirage OSは "クラウドオペレーティングシステム" である。セキュリティ上の脆弱性回避と,単一目的の仮想アプライアンスの開発容易化による普及を目標とする。アプリケーションは関数型プログラム言語OCamlで開発され,Xen ハイパーバイザ上で直接動作するスタンドアロンの "ユニカーネル" にコンパイルされる。