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

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

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

「オープンソースカンファレンス2011 Hokkaido」に、 F# User Group - Japan の看板を背負って登壇します! これからの「言語」の話をしよう ―― 未来を生きるためのツール Microsoft Researchが数年の歳月をかけて開発した、かなりガチな関数型言語『F#』に…

gistてすと

F#

貼り付けできた! はてなダイアリーさんはF#に対応してないので大変助かるるる! はてな側でスタイルシートを上書きしてやれば、見た目もカスタマイズできるようです。

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

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

応募するぞ!

MacBook Air 11インチ欲しい! 久しぶりにアリミノのワックス(←青リンゴの香りがする)を買ったので当たる気がします! お腹痛いです!

オリジナリティあふれるタイトルでLTしてきた

1月15日にCLR/Hの第54回勉強会が開催されました。 そこでLTをさせていただきました。何気に人生初LT。 初のLTがこんなにオリジナリティあふれるタイトルでいいのか悩みましたが、ダダすべりでむしろ心地良かったほどです。 資料を公開したいのですが大人の事…

めもりんこ

F#

ゼクルッシュさん*1が「メモ化」について面白い記事を書かれていました。 メモ〜化したりスマス。 Memoization and Tail Recursive Function - Bug Catharsis ぼくならこう書く!というのを少し考えてみました。 最初はコメント欄に投稿しようかと思ったので…

第53回勉強会

今日はCLR/Hの勉強会。 僕は用事があって懇親会しか参加できませんでした。 ↓僕が参加する前に撮られた写真 (via 仮装かセミナー in 札幌 ~仮想化のつもりが~ – 高添はここにいます)

ScalaとHaskellがF#に救いの手を

F#

F# Advent Calendar jp 2010 第1回目! F#の弱点(?)のひとつに、C#でいう try-catch-finally の仕組みが無いという点が挙げられます。 F#ではどのようにするかというと、try-with と try-finally をネストすることによって解決します。 「この、ねすとね…

属性の定義

F#

F#での属性の定義に関する情報って何か少なくない・・・? 気のせいでしょうか。 まあC#とほとんど変わらないのですが、一応例を残しておこうと思います。 open System // // サンプル属性 // [<AttributeUsage(AttributeTargets.All)>] // こんな属性を付けよう type InformationAttribute(summary</attributeusage(attributetargets.all)>…

GeneralizableValueAttribute

F#

特に意味はないのですが、頭痛を癒すためにVisual Studioを立ち上げました。ただのひとり遊びです。 type Person() = class end type Dog() = class end type Cat() = class end type MyCollection<'T>() = static let arr = new ResizeArray<'T>() // stati…

Visual F# Express Edition の入手方法

2012/10/27 追記 Visual Studio Express 2012では無償でF#が使えます! http://d.hatena.ne.jp/Nobuhisa/20121027/p1 おそらく、「F# Express」で検索する方が多いと思うので、その人たちを釣る誘導するためのタイトルです。 喜んでください!F#は無償で利用…

F#でプロセス間通信

F#

MailboxProcessorというクラスを使ってやると、スレッド間で簡単にメッセージのやり取りをすることができます。 でもこれがプロセス間となると一工夫が必要。F#側には用意されていないので、BCLの力を借りることになります。 しかし.NETに用意されたプロセス…

再帰理論

こちらもただのお遊びです。 今回はHaskellを選びました。 -- 後者関数は原始再帰関数 suc = (1 +) -- 射影関数は原始再帰関数 u1_1 x = x u3_1 (x, _, _) = x u3_2 (_, x, _) = x u2_1 (x, _) = x u2_2 (_, x) = x -- 加算関数 x +. 0 = u1_1 x x +. (y + 1…

ラムダがあれば何でもできる!元気d(ry

ただ(型なし)ラムダ計算を用いて形式的に記述してゆくだけの遊びです。 言語はSchemeを選択しました。(途中までPythonを使っていたのは秘密) (define true (lambda (x y) x)) (define false (lambda (x y) y)) (define if_ (lambda (p x y) (p x y))) ;;…

match!

すごく久しぶりにSchemeを触っています。相変わらずとても心地良いのよい言語です。 Schemeにはパターンマッチライブラリとかないのかな〜と思って探していると、 「Andrew Wright match」なるものがあることを知りました。matchに待ったパターンマッチ! そ…

F#でDuck Typing

F#にはコンパイル時にシグネチャをチェックする仕組みがあるので、 静的型付け言語であるにもかかわらずDuck Typingができてしまいます。C++のような感じ。 type Taro() = member self.Speak () = "こんにちは!太郎です!" member inline self.Calc (x, y) …

C#とIronPythonの連係がすごいことに

つい先日(Apr.12 2010)IronPythonの新しいバージョンがリリースされました。 言語仕様自体は変わっていませんが(2.6.1)、.NET 4.0向け機能が完成したようです。 β版の頃から注目していましたが、C#4.0(dynamic)と非常に相性がいい! 早速プログラムを見てい…

『F#入門』の資料公開

04月17日(土)にCLR/Hの第47回勉強会が開催されました。 僕は『F#入門 〜関数プログラミングとは何か〜』というセッションを担当しました。 その際の発表資料を公開します。 『F#入門』 SkyDriveにアップロードしてみました(ダウンロードしなくてもpptを表…

ユングが28年かけて書いた本

ユング自身が書き下ろした書物には難解なものが多いなか、ユング心理学全体について丁寧に解説がなされています。 読み終えたので感想。 まず注意ですが、「彼の著書にしては簡単に読める本」であり、一般的には難しい部類の本だと思います。訳者は「ユング…

Quotation で Meta-Programming !

F#は自分の中に眠る力を引き出すべく、Lisp長老に会いに行ったのだった。Lisp like meta-programming ・・・! いくつか例をあげてみよう。 (実行にはPowerPackが必要です) 階乗 open System open Microsoft.FSharp.Quotations open Microsoft.FSharp.Quota…

札幌がどれくらい寒いかをプログラムする

F#

Google API から天気の取得 - みずぴー日記 を読んで、「Pythonは短くて良いなあ。」 と思ったのだけど、多分F#でも同じくらい短くなるだろう、ということでやってみました。 open System.Net open System.Xml open System.Xml.Linq let inline (=>) (elemen…

F#を精神分析

F#

F#のコンパイラの吐く中間コード(MSIL)をちょっと調べていました。 有益な情報は少ないかもしれませんが、MSILまで気になる変態さんのために記しておこうと思います。 ※この記事はF#2.0(VS2010ProRC)時点での内容になります。

忘れてた

あけましておめでとうございます。 今年もどうぞよろしくお願いします。

F#ユーザのためのコミュニティを作りました

F#

F#を試している方は増えつつあるようですが、公式なフォーラム等もまだなく、それぞれのブログで情報を発信するにとどまっています。 2010年になりました。F#ちゃんの出産予定日もそろそろです。日本語でやりとりできるメーリングリストでも欲しいですね。と…

BeautifulSoup -> IronPython <- C#

Pythonの非標準ライブラリにBeautifulSoupというHTML/XMLを解析してくれるものがあります(http://www.crummy.com/software/BeautifulSoup/)。俗に言うスクレイピング、に用います。 以前それをIronPythonで利用しようとした時、当時のIronPythonが仕様的に不…

ドラえもんにささぐライフハック

Visual Studio上でF#を使う時は、コードを選択してAlt + Enter することでその式をF# Interactiveに送ることができます。しかし、その後対話環境がアクティブにならないので、対話したい場合はマウスを使って対話環境に移動しなくてはならない! そんな時は…

C# => F# - GUI Converter

C# F#

Visual Studio 2010では残念ながらF#のフォームデザイナが提供されません。 F#でWindowsフォームを扱う場合にはゼロからコードを書かなくてはなりません。 ということで、せめてフォームデザイナが自動生成するC#のコードをF#に変換するツールを作りました。…

Chain Of Responsibility

日記などを振り返ると、CLOSの勉強をしていたのが今からちょうど1年前だったようです。忘れまくり。。。 復習しなくてはなりません。なぜなら僕はジェダイだから・・・!(ジェダイの復習 どうせなのでGoFのパターンとメタプログラミングをごちゃ混ぜにして…

カンスウノカタ

OCaml/F#を書いててHaskellを羨ましく思う点のひとつに、関数の型指定の書式があります。 こんなやつ↓ Foo :: Int -> Int -> String Foo x y = (ry 綺麗でいいなぁ、といつも感じていました。 仕様拡張でF#にもそんな書き方登場しないかな・・・なんて叶わぬ…