ようこそ。睡眠不足なプログラマのチラ裏です。

F#

TypeProviders に関するちょっとした小ネタ集

F# Advent Calendar 2016 の 22日目の記事です。 TypeProviderについては以前、 型プロバイダー(TypeProvider)のちょっとしたアレコレというのを書きました。 書いたのはそーとー前ですが、今でも割と役に立つかもしれない以下の話題について扱っているので…

Comm Tech Festival D-3 「open FSharp」 (続きはWebで)

@ufcpp さんにお話しをいただいて Comm Tech Festival に参加してきました。ありがとうございました。 comuplus.doorkeeper.jp 「open FSharp」というタイトルで発表させていただいたのですが、時間配分がうまくいかずにスライドの最後まで紹介することがで…

F# Build Tools for Unity(ゲームのやつ) - UniFSharpのご紹介

これは F# Advent Calendar 2014の延長戦、 30 日目の記事です。 書いたきっかけ @zecl ML Advent カレンダーに書いてくださいよーw F#の人達は知ってるけど、MLな人は知らないとかあるかもしれないですし。— h_sakurai (@h_sakurai) 2014, 12月 10 結局、25…

型プロバイダー(TypeProviders)のちょっとしたアレコレ

一応、型プロバイダー(TypeProvider)のとりとめもない話 の続き。 ちょっと草植えときますね型言語Grass型プロバイダーを作った後、少し思い違いをしていた事に気付いたのが事の発端。この記事では、FsBulletML.TypeProvidersを作成する過程で得た、型プロバ…

型プロバイダー(Type Provider)のとりとめもない話

だらだらと型プロバイダー(Type Provider)のとりとめもない話。ほとんど内容はないよう。 型プロバイダーって何? F#3.0 から利用できる目玉機能のひとつ。 これが発表されたとき、「LINQ + Type Providers = Information Rich Programming」なんて言われて…

printf系の "%A" 書式指定子における型の表示レイアウトのカスタマイズ

判別共用体を文字列として出力する際に、ケース識別子を宣言する型(判別共用体)の名前を含めたフルネームで文字列化したくなったときのお話。 たとえば、以下を実行すると type Tree<'T> = | Leaf of 'T | Node of Tree<'T> * Tree<'T> let tree1 = Node(N…

判別共用体で型付きDSL。弾幕記述言語BulletMLのF#実装、FsBulletML作りました。

この記事はF# Advent Calendar 2013の20日目です。 遅ればせながらThe Last of Usをちびちびとプレイ中。FF14のパッチ2.1が先日リリースされ、メインジョブ弱体化にもめげず引き続き光の戦士としてエオルゼアの平和を守り続けている今日この頃。艦これは日課…

VB、C#、F# それぞれのインデクサ。F# コンパイラのソースを読んで。

F# コンパイラのソースを読んで はぇ〜さん(@haxe) とtwitterにて、以下のようなやり取りがありました。 ところで #fsharp の for m in Regex.Matches(input, pattern) do () はGetEnumerator()をしてくるわりに、m : Match に解決してくれるのはなんでだろ…

クリップボードの文字列を、「突然の死」テンプレートに置き換えるやつ

元ネタ 「突然の死」をTwitterへ簡単に送り出せる「突然の死ジェネレータ」 - GIGAZINE http://gigazine.net/news/20120703-suddenly-death/ _人人人人人_> あなた <> と <> JAVA < ̄Y^Y^Y^Y^Y ̄なんとなく、複数行に対応URL2013-05-10 14:57:53 via…

マルコフ連鎖とビタビアルゴリズム(HMM)を F# で。

元ネタ昼食時に店で流れていた、大事MANブラザーズバンド「それが大事」の歌詞が、あまりに繰り返しばかりなので、状態遷移図を作りました。どうぞご利用下さい。 http://youkoseki.com/soregadaiji/ 「それが大事」にマルコフ連鎖を適用してみる https://ww…

ステップアップでわかるコンピュテーション式。TryWith や TryFinally などの実装にぜひ活用したい Delayと Run

全国1億2千万人の F# ファンの皆様いかがお過ごしでしょうか。理解できるわけもないとわかっていながらも調子に乗って「型システム入門 プログラミング言語と型の理論」を買ってしまった系の痛いおじさんです。10年後、20年後にわかることができてたら…

すべての F# ユーザーが今すぐ導入すべき拡張機能 F# snippet を導入しよう

twitter や facebook こういった SNS があなたの仕事の邪魔をしている。いつ仕事をするか?その合間でしょ?(逆でしょ!) そんな今日この頃ですがみなさんいかがお過ごしでしょうか。 F# HACKATHON in sapporo [2013/03/23(土)] は、リモートでの参加も…

すごいH本の素朴な確率モナド

年末年始の連休から中五日あっての三連休で、正月ボケをぶり返してしまいそうな今日この頃ですが、いかがお過ごしでしょうか。 すごいH本こと、書籍「すごいHaskellたのしく学ぼう!」の最後のほう、第14章「もうちょっとだけモナド」の 14.8 (P356)にて、…

Mが如くF#ive 夢、叶えしMono

この記事は、F# Advent Calendar 2012 の12日目です。ひとつ前の記事は@katayama_kさんの「スキャナが出力したPDFを、出力デバイスに合わせて変換しよう-F#マスターへの道」です。ありがたいことにソースコードを公開してくださっているので、iTextSharpを使…

圏論でアハ体験

もう1週間以上前になりますが、Code2012という合宿イベントに参加してきました。いろいろな方との交流あり、温泉あり、クラウディアさんありと大変楽しかったので、ぜひ来年も参加したいです。 で、VBerのくせにそちらで「5分じゃわからないモナド - 圏論な…

はじめの一歩。まずはパイプライン演算子と合成演算子から。

今月末の7月28日、29日と、Code2012という合宿イベントに参加する予定です。F#や関数型について語り合える人がいない場合は割とボッチになりそうな気もしていますが...、それならそれで適当に楽しんでこようと思っています。というわけで、いつものように「…

F#で shift/reset プログラミング。限定継続(風)モナドで四天王問題を解く。

発売されてすぐにPSVitaのP4Gをダウンロードしたのだが、どちらかというとエヴィディ・ヤングライフ・VB6♪な生活を送っていてなかなかプレイする暇がなくてつらい。今日はGoAzureのゆーすと見たり、この記事をこしらえていたりな休日を過ごしていましたが、…

F#3.0で加速する言語指向プログラミング(LOP)。コンピューテーション式はもはやモナドだけのための構文ではない!!!

マーチン・ファウラー先生の黒いDSL本(翻訳版)が5月2日に発売されました。遅ればせながら私も最近購入して熟読しているところです。 この本が示すDSLの種類や内容は、あくまでもオブジェクト指向というコンテキストにおいてのものであり、関数型言語によるDS…

F#で逆FizzBuzz問題

元ネタ 逆FizzBuzz問題 (Inverse FizzBuzz) - 猫とC#について書くmatarilloの雑記 http://d.hatena.ne.jp/matarillo/20120515/p1 面白いなあ / “逆FizzBuzz問題 (Inverse FizzBuzz) - 猫とC#について書くmatarilloの雑記” URL2012-05-16 12:30:42 via Hatena…

F#で簡素なモゲマスコンプガチャシミュレータ

椎名林檎「自由へ道連れ」をヘビロテしすぎて脳内無限ループしている今日この頃ですが、皆様いかがお過ごしでしょうか。 時事ネタとしては旬を逃した感じですが、簡素なコンプガチャシミュレータをF#で書いてみました。 とは言っても、この記事で伝えたいこ…

ScalazのValidationもFSharpxのValidationもApplicative

ドラゴンズドグマが楽しみだったり、しおりを温めていたScala実践プログラミングの読書を再開したりな今日この頃。 ご多聞に漏れずわたくしも五月病なので軽めのネタで。とゆーかですね、FSharpxのステマです。 FSharpxのValidationでFizzBuzz元ネタScalazの…

Retry Monad for Transient Fault Handling (Topaz + FSharpx)

4月14日に札幌で行われた第69回CLR/H勉強会にて、「Retry Monad for Transient Fault Handling - F#とWindows Azure と私 -」と題して、ライトニングトークで発表しました。 Retry monad for transient fault handling View more presentations from zecl123…

F# Implementation of BackPropagation Neural Network for Pattern Recognition(LifeGame)

この記事は、F# Advent Calendar 2011の21日目です。 きっかけは、11月19日に札幌で行われた第64回CLR/H勉強会で、愛甲健二さん(@07c00)がお話してくれた「コンピューターに萌えを教えてみたよ」というセッションです。「アダルトサイトの検知」のメカニズム…

パケットの送受信量(F#) - ループとbreak

元ネタ パケットの送受信量 (C#)(F#) - SIN@SAPPOROWORKSの覚書 http://d.hatena.ne.jp/spw0022/20111116/1321437712 F#のwhileにbreakが無いのを知って愕然とした。F#では通常、whileは使用しないのかな? URL2011-11-16 19:01:55 via Hatena 確かにC#やVB…

ARPテーブルの取得(F#) おまけもあるよ。

元ネタ:ARPテーブルの取得 (C#)(F#) - SIN@SAPPOROWORKSの覚書 http://d.hatena.ne.jp/spw0022/20111108/1320700838 SINさんがF#を書きまくっている今日この頃。F#の街札幌のF#りょくの高まりを感じざるを得ない。 F#らしい書き方かどうかはわかりませんが…

第63回 CLR/H勉強会の資料「とことんF#よぷよ! F# + XNA ゲームプログラミング入門」を公開します。

「とことんF#よぷよ! F# + XNA ゲームプログラミング入門」と題してお話してきました。 とことんF#よぷよ! F# + XNA ゲームプログラミング入門 View more presentations from zecl1231 (前回のエントリにて、「とことんF#よぷよ!」の全ソースコードを公…

とことんF#よぷよ! 第 63 回 CLR/H 勉強会で、F#とXNAを題材に発表します。

F# + XNAでとことんF#よぷよ!してみました 「ダークソウル」で心が折れそうな日々を送っている今日このごろですが、みなさんはいかがお過ごしでしょうか。 F# + XNAで「とことんぷよぷよ」っぽいものを実装してみました(はじめてのXNAゲームプログラミング…

F#でのパターンマッチ。「match a with 〜」よりも 「a |> function 〜」を使おうぜ(異論は認める)

カンスウガタゲンガーは割と見逃しがちだけど、match a with ?と a |> function ?は完全互換ではありません #えふしゃーぷあるある #fsharp2011-09-02 16:08:23 via web @zecl え?そうなんですか?まったく同じものだと思ってました。。。2011-09-02 18:08:…

ふと、Seq.tryFindの変な(誰得な)使い方を思いついた。F#でbreakとcontinue再び。

以前、「F#で楽々breakとcontinue。継続モナドまじパネぇっす!」を書きました。 確かに楽々ではあるんですが、継続モナドとかマジで難しいですよ。 しかも、Visual Studioでデバッグとかまともにできないですし...(´・ω・`)ショボーンな気持ちになっちゃいま…

第60回CLR/H勉強会でLT登壇しました。「すっぱいぶどう」の話。

7月16日に参加した第60回CLR/H勉強会にて、LT登壇しました。 Clrh60 lt View more presentations from zecl1231 http://www.slideshare.net/zecl1231/clrh60-lt アップしたらなんか崩れちゃったけど気にしない。 制限時間5分きっかりでお話するという都合上…