奇行寄稿しました

ロングゲート社から出版されている禁断の書物、
『プログラミングの魔導書』
ですが、この度Vol.2が出ます。

プログラミングの魔導書 〜Programmers' Grimoire〜 Vol.2

Vol.2のテーマは"プログラミング言語の進化"となっており、さまざまな言語の仕様や近況、研究成果などを扱っています。


F#の紹介は僕が担当しました。
著者それぞれ数カ月にわたり執筆・推敲に励んでいますので、決して適当な内容ではありません!
そして期間限定・受注生産方式をとっているため、チャンスを逃すと購入できません。
往々にして、できる男はチャンスを逃さないものです!!!←


ということで、みなさん買ってね♥
読む用と飾る用とプレゼント用に3冊くらい買ってもいいかもしれませんね。
往々にして、できる男は気前が良いものです!!!←


それでは紙面でお会いしましょう!
続きは魔導書で!


あわせて読みまくりたい:
http://d.hatena.ne.jp/faith_and_brave/20110915/1316048451
http://d.hatena.ne.jp/heisseswasser/20110920/1316534381
http://d.hatena.ne.jp/bleis-tift/20110919/1316432339

フォースとの決別

May the force be with you...
そう言われて育ってはきたけれど(!)、フォースを使わないで済むならそうしたい。
ということで、型関数(Type Function)を使ったミニハックをご紹介。



0
F#!F#!
10
"e + 1"で初めて変数eが評価されます。
ただ、型関数は利用できる場面が限られているので(ローカル変数としては使えない 等)、あまり便利なテクではないかもしれません・・・。


型関数はちょっとマイナーな機能ですが、 typeof<'T> や sizeof<'T> などはこの機能を使って実装されています。

OSC2011 HokkaidoでF#のお話をしてきました

OSC2011 Hokkaidoで『これからの「言語」の話をしよう ―― 未来を生きるためのツール』という講演をしてきました。
事前登録は83名でしたが、当日は椅子を追加していたようなので、100人ほどいたかもしれません。
女性も何名かいらっしゃいました。F#がよく似合いそうなお綺麗な方々でした!


発表資料はSkyDriveとSlideShareにアップしました。
Silverlightをお使いの方はSkyDriveのWebAppで閲覧すると、より一層美味しく召し上がれます。

半数以上の方が「関数型言語に興味がある」とのことで、中には隠れF#ユーザもいました。「F#の街札幌」ならではの光景です。


手続き型というのは、言ってみればコンピュータ寄りのパラダイムで、人間のことはそれほど考えられていません。だから我々はバグに苦しみました。マルチスレッドに悩みました。
そこで人間を救うために現れたのが関数型です。天使です。
関数型の世界では、関数を抽象的に扱うことで、関数合成や高階関数などが可能になります。
これによって柔軟にプログラムが書けるようになります。
また、「変数の値は変更できない!」という、一見厳しい制約も、実は人間のためのルールなのです。
これにより、我々はバグの呪縛から解放されますし、並列計算に苦労しなくなります。
書き換え可能な変数というのは、どうしてもバグの温床となってしまいます。


OCamlHaskellなど、関数型言語には洗練された良い言語が多いですが、
F#はそれらの英知をくみ取り、未来を見据えて開発された最先端の関数型言語です。
F#はIDEまでも無料でお使いいただけます
学んで損はないと思います!

続きを読む

オープンソースカンファレンス

オープンソースカンファレンス2011 Hokkaido」に、
F# User Group - Japan の看板を背負って登壇します!

これからの「言語」の話をしよう ―― 未来を生きるためのツール


Microsoft Researchが数年の歳月をかけて開発した、かなりガチな関数型言語『F#』について語ります。
今まで1万行かかって書いていたようなプログラムもF#なら3000行程度で書けてしまうし、並列計算も朝飯前だし、バグが減るし、C#Javaあたりとはちょっと次元が違います。


そんな最先端の言語、未来を担う言語であるF#の紹介をします!
超入門的なセッションにする予定です。
「最近関数型言語が気にはなっているんだけど、触ったことは無いんだよなぁ」
そのような方を対象としています。
俺とF#しようぜ!


嬉しいことに、14時枠では僕のセッションが一番人気になっています。
空席があまりないので、お早めにご登録ください!
追記:
一番大きな部屋をお借りすることになったので、まだまだ登録できます!
また、展示会場にブースも出していますので、気軽に足を運んでください。
id:zecl さんがF#ですごいものを作ったそうなので、そのプログラムを展示する予定です。
F#や関数型言語に疑問・質問があったら、ぜひ我々にご相談ください!

第57回勉強会でLTをしてきました

遅刻しましたごめんなさい。(>_<)
そのため、勉強会の最後にトリを務める形でLTをしてきました。
会場のリアクションはいい具合に冷たくて、心地良い死にたさでした。
プログラムを公開して欲しいとのお声を頂きましたので、主要部分をこのエントリで解説し、プロジェクトもダウンロードできる形にしました。


>> CLRH57.zip <<


今回のLTのテーマは、3つの言語の相互運用でした。
特にCLRとDLRの連携が目玉になります。
サンプルとして用意したプロジェクトは、

  • GUIC# で作り
  • 機能を F# で実装し
  • このアプリケーション用のShellを、IronPythonで作る

といった感じです。
C#F#で作られたテキストエディタを、IronPythonで外部からインタラクティブに操作できるようになっています。具体的には、このアプリケーションのインスタンスIronPythonに渡してやり、そのインスタンスを操作します。

続きを読む