F#

gistてすと

F#

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

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

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

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

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

めもりんこ

F#

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

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に用意されたプロセス…

F#でDuck Typing

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

『F#入門』の資料公開

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

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#ちゃんの出産予定日もそろそろです。日本語でやりとりできるメーリングリストでも欲しいですね。と…

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

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

C# => F# - GUI Converter

C# F#

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

カンスウノカタ

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

文系プログラマのためのF#入門

F#

let 馬鈴薯の f = f "はたらけど" let うす紫の x f = f (x + " はたらけど猶") let 花に降る x f = f (x + " わが生活(くらし)") let 雨を思へり x y = x + " 楽にならざり" + y let 都の雨に = " ぢっと手を見る" let 石川啄木 _ = printfn "%s" [<STAThread>] do </stathread>…

Seq.cache - Memoize

F#って標準でmemoizeもどき君が備わってたような、どんな関数だっけ・・・と思っていた矢先、@igetaさんのつぶやきの中からその関数を発見!白骨!発掘! その名もSeq.cacheさんでした。忘れないように軽くメモしておこうと思います。 > let test1 = seq { f…

Sleeping barber problem

id:sumimさんが投稿された、 居眠り床屋問題 http://ja.doukaku.org/285/ 丁度F#の並列計算を(ちまちまですが、)勉強していたところだったので、標準クラスのMailboxProcessorを使って解いてみました。ここでこれを使うべきじゃないかもしれませんが、まあ…

Workflowでモナド

seqやasyncの正体はWorkflowというもののようだ。 正確にはComputation Expressionsというのかな?(なんて訳すとカッコいいんでしょう。) CPS変換のシンタックスシュガーみたいだけど、なんとなくモナドに似た感じもある。 最近F#の勉強がおろそかになって…

F# + WPF + Chart

F#

F#の練習(特にオブジェクト指向らへん)。 さて、試してみよう試してみようと思いつつ絶賛放置プレイ中だった、 『Visifire』 という、チャートコンポーネントを今回使ってみた。 無性に使ってみたかったのである。なぜなら無償だから。 Silverlight or WPF…

末尾再帰最適化

F#

末尾再帰がちゃんと最適化されるのかどうか気になったので、出来上がった実行ファイルを逆アセンブルして眺めていました。いちごオレを飲みながら。予想通りですが以下のような結果に。(VS2010βまだ入れてないので、例のごとくF#CTP) 書いたコード: #ligh…

F#でTwitter

F#

.NET Frameworkがあるから簡単! タイムラインを表示するだけの簡単なプログラムです。 #light open System open System.Net open System.Xml let userName = "nobuhisa_k" let pass = "ひみつ☆" let uri = "http://twitter.com/statuses/friends_timeline.x…

F#でArrow

練習中のF#(OCaml)でHaskellのArrow, ArrowChoice, ArrowApply, ArrowLoop を書いてみました。 突っ込みやアドバイス歓迎です。 ちなみにOCamlは空き時間などに携帯でWebサイトを見て勉強した(?)だけなので実はあまり自信が無い。。。(多少はPCでも書い…

Loading...

F#

こんなお部屋があったとは!いげ太さんさすがです。 F#勉強しないとなぁ。 次期Visual Studioにも正式採用されますし、F#には本腰を入れたいところです。

F#とPHP(Phalanger)のVS2008 Shellを使った開発環境。 Microsoft Download Center: Windows, Office, Xbox & More http://www.php-compiler.net/doku.php?id=core%3aphp-in-vs2008 最近PC触ってなかったのでさっき.NET3.5とVS2008のSP1を適用しました。時間…

記号・・・

List.map (Float.to_int << ( ** ) 2.0 << Float.of_int) [0..10];; [ for x in 0..10 -> 2.0 ** (Float.of_int x) |> Float.to_int ];; http://d.hatena.ne.jp/Nobuhisa/20080707/1215424638#c1215441149 いげ太さんに教えてもらったコードに見慣れない記号…

mapとfilterとリスト内包

PHP Array ( [0] => 1 [1] => 2 [2] => 4 [3] => 8 [4] => 16 [5] => 32 [6] => 64 [7] => 128 …