Browse by Tags

Tagged Content List
  • Blog Post: 実践F# 関数型プログラミング入門の正誤表の補足

    技術評論社さんで「実践F# 関数型プログラミング入門」の 正誤表 がやっと公開されました。正誤表の公開が遅れまして、本当に申し訳ございませんでした。本当なら、9月には公開されないといけなかったのですが、諸般の事情で遅れてしまいました。公開されて正誤表には掲載できなかった箇所がございますので、以下に追加を掲載させていただきます。分量が多いのですが、ご容赦ください。また、諸般の事情から公開が遅れまして、本当に申し訳ございませんでした。 P14 誤 筆者が考える本書の読み方は、1章から読み進めることも、あるいは興味のある章から読んで、必要に応じて他の章を読むというものです...
  • Blog Post: F#の書籍がもう少しで完成します

    ブログの更新も滞っていました。やっと、何とかプライベートの時間を使って頑張っていた書籍が最終の段階に入りました。 タイトル:実践F# 関数型プログラミング入門 出版社:技術評論社 著者:荒井省三、 いげ太 ISBN:4774145165 amazonの書籍タイトルは、まだ暫定のままになっています。この書籍は、足掛け2年ほどかかりまして、私にとっても初めての共著となります。章立てですが、全部で12章となっており、次のような構成になっています。 関数型言語の潮流 F#の基本 F#へようこそ 土台を超えて 強い静的型付け 不純の価値は ...
  • Blog Post: F# のソースコードのライセンスが変更されました

    F#コンパイラなどのライセンスがApache 2.0に変更されているのが、 アナウンス されました。 F# PowerPack で提供されるソースコードに、F#コンパイラやF#インタラクティブも含まれています(Changeset 53135で確認しました)。microsoft.comのダウンロードできる F# CTP は、Microsoft Research Shared Source License Agreement(MSR-SSL)のままで、更新されていないようですから、整理すると以下のようになります。 F# CTPのバイナリはMS-RSのまま(ダウンロードセンター)。 非商用でのソースコード利用や...
  • Blog Post: T6-501多言語パラダイムによる実装手法に関するフォローアップ

    TechEdの「T6-501 多言語パラダイムによる実装手法」に関して、フォローアップとしてお話した内容を記載します。説明した内容は、論点が3つあります。 プログラミング言語と計算モデル 複数の言語を組合わせた具体例 分析・設計のおける考慮点(マルチパラダイムを抽出するために) 最初の「プログラミング言語と計算モデル」では、コンピューターで動作させるモデルとしてチューリングマシンやラムダ計算モデル、並列に特化したDAGやCSPなどのモデルが存在しており、近年のプログラミング言語はマルチパラダイム化しているが、中心となる計算モデルというものが間違いなく存在するということです...
  • Blog Post: プログラミング F# が発売されました

    先週でTechEdが終了しました。私が話した内容のまとめも、次回位に投稿したいと考えています。今回は、新しく発売された書籍をご紹介したいと思います。 タイトル:プログラミングF# ISBN:978-4873114668 出版社:オライリージャパン オライリー様のご厚意から本書を私は頂きましたが、本書の原書(2009/10)を読んだことがあります。まだ、詳細には読めていませんが、翻訳をされた鈴木さんの気遣いが良く表れていると感心しています。というのは、本書の中にある画面イメージやサンプルコードを動かしている所などが、Visual Studio 2010製品版に差し替わっているからです...
  • Blog Post: TechEdの準備に追われています

    いよいよ来週は、TechEd Japan 2010の開催です。私が担当するのは「T6-501 多言語パラダイムによる実装手法-動的言語、関数型言語を含めたプログラミング言語の有効活用へ-」というセッションになります。参加者向けにPPTが公開されていますので、おおまかなアウトラインを確認することができると思います。実は、まだ設計論に関しては色々と検討をしている最中です。この資料の作成に関しては、何度も萩原さんとディスカッションしたり、色々な資料(論文や書籍だったり)を読み漁ったりしています。中でも参考にしているのは、以下の3つになります。 Domain Driven Design :...
  • Blog Post: [TechDays 2010] Visual Studio 2010 でプチパラダイムシフトへ

    TechDays 2010 では、「 CM-204 Visual Stduio 2010 でプチ・パラダイムシフトせよ! 」というBOFがありました。このBOFを担当していた小島さんと原さんに本番の15分前にお願いして、参加させていただきました。小島さんの言われるパラダイムシフトを借りて、私なりに自分の考えをまとめたいと思います。 最初に手続型のパラダイムは、以下のように表現することができます。 手続型でプログラミングする時は、頭の中が手続(手順)で一杯になっています。これが、現在の主流であるオブジェクト指向では、以下のようになります。 頭の中はオブジェクトで占められて、少しだけ手続のことが残っています...
  • Blog Post: [TechDays 2010]並列タスクのデモについて

    今回は時間が足りなくなってお見せできなかった、並列タスクに関して記述します。最初にウォームアップということでConcurrent(同時実行)に関して説明します。 最初にご説明したのは、インフラストラクチャという観点でした。 OS 1)32ビットカーネルであれば、スレッド単位でスケジュールされていること。 2)64ビットカーネル(Win7以降)はユーザーモードスケジューラ(UMS)によって、スレッドの中にあるユーザー空間とカーネル空間を別個に管理することでコンテキストスイッチの切り替えが少なくなるようにスケジュールします。この機能によってスケジューラの速度を向上させています。 ...
  • Blog Post: [TechDays].NET Framework 4 時代の言語を担当します

    Tech・Days 2010 では、「 .NET Framework 4時代の言語 」というセッションを担当します。概要にも記載していますが、扱うテーマは以下の3つになります。 Dynamic (動的) Declarative (宣言型) Concurrent (同時実行) 最初のテーマであるDynamicについては、DLRが提供されることで何ができるかというのがメインテーマになります。ここでお見せする予定のデモとしては、C#<->IronPython、C#<->IronRubyなどの静的言語と動的言語間の相互利用になります。両方を組み合わせることで...
  • Blog Post: Visual Studio 2010 Beta1 がリリースされました

    Visual Studio 2010ベータ1が MSDN サブスクリプション会員向けにリリースされました。Readmeによると ドキュメント はオンラインだけの提供だそうです。 アナウンスされていましたように F# が含まれています。ドキュメントでは、 Visual F# となっています。含まれているのは、F# のコアだけでパワーパックなどは含まれていません。 .NET Framework 4.0 What's New には、BigInteger や Tuple といった新しいデータ型が追加されたと記載されています。そして、DLR をサポートするネームスペースである System.Dynamic...
  • Blog Post: Tech Days 2009 で使用した F#入門で使用したサンプル

    Tech Days 2009のT3-310 F#入門で使用したサンプルコードを公開させていただきます。このサンプルには、以下のものが含まれています。 IntroFSharp:セッション資料に記載したコードを試すためのサンプルです。 FSharpFractal3D:セッションで使用していませんが、F#でWPFを使用するサンプルです。 FSharpRayTracer:セッションで使用していませんが、Parallel Extensionsを使用したマルチコアにおけるCPU負荷を確認するためのサンプルです。 ご利用はZIPアーカイブに含まれるReadme.txtに添ってお願いいたします...
  • Blog Post: Tail call 最適化を使った再帰関数呼び出し

    F# で気がついたことをメモ代わりに記述していきます。最初に取り上げるのは、再帰呼び出しの最適化(Tail call 最適化)についてです。Manningのアーリーアクセスプログラムで読める Real World Functinal Programming の10章に詳しく載っています。F#のインタラクティブシェルで以下のようなコードを入力します。 let test1 = [1..10000] // 1万までのリスト let test2 = [1..100000] // 10万までのリスト let rec sumList lst = // 合計を算出する関数 match lst with...
  • Blog Post: Tech Days 2009 の準備に追われています

    只今、 Tech Days 2009 の準備に追われています。今回は、T3-403 Dynamic Language Runtime と T3-310 F#入門を担当しています。 F#に関しては、.NET対応の関数型言語ということでご存じの方もいらしゃると思います。私自身は、関数型に精通しているわけでもないのですが、手続き(命令)型に慣れていると関数型の考え方が理解しにくいかも知れません。何と言っても、Immutableという特徴がありますし、この意味に置いては変数という表現方法が無いと言っても過言ではないと思います。つまり状態(値)を保持する値(領域)に対する操作(たとえば、加算、減算など)が無いということです...
Page 1 of 1 (13 items)