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

F#2.0

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

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

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#らしい書き方かどうかはわかりませんが…

とことん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でデバッグとかまともにできないですし...(´・ω・`)ショボーンな気持ちになっちゃいま…

F#で順列(Permutation)と組み合わせ(Combination)。YOU、Listモナドしちゃいなよ。集合モナドもあるよ。

以前、C#で順列(Permutation)と組み合わせ(Combination)をすべて列挙してみようという記事を書きました。 今見ると、前に思っていた以上に「しょっぱいなぁ」と思わざるを得ませんが、C#で書き直すつもりになれません。 今回は、超イケてる言語のF#で書きま…

FizzBuzz問題から学ぶモナド

前回のエントリでモナドについて熱く語りました。今回はゆるいモナドの雑記です。 モナドを利用してFizzBuzz問題を書いてみることで、「モナドってなんなん?なにしてくれちゃってるん?」ということが、 もしかしたら分かるかもしれないよ、という息抜き的…

快刀乱麻を断つモナド - F#とIOモナドとコンピューテーション式の奥義と

,. -‐'''''""¨¨¨ヽ (.___,,,... -ァァフ| あ…ありのまま 今 起こった事を話すぜ! |i i| }! }} //| |l、{ j} /,,ィ//| 『F#でIOモナドっぽい何かを作ろうとしていたら、 i|:!ヾ、_ノ/ u {:}//ヘ いつのまにか、全然別モノのLazyモナドをつくっていた。』 |リ u'…

ほむ。F#でプログラミング言語「ほむほむ」して、さらに「ほむほむ」した

元ネタは、ゆろよろさんの プログラミング言語「ほむほむ」 - ゆろよろ日記(id:yuroyoro) http://d.hatena.ne.jp/yuroyoro/20110601/1306908421 F#でプログラミング言語「ほむほむ」以前実装したF#でGrassなプログラムをちょっと改造しただけの手抜きだが、 …

F#でsleep sort

追記しました 元ネタは、以下あたり。 常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream http://d.hatena.ne.jp/gfx/20110519/1305810786 Sleep sortの各言語での実装まとめ – Yuyak http://www.yuyak.com/1339 ただいま…

F#では、パターンマッチを「match x with」と書く流派と「x |> function」と書く流派がございます。

とあるF#er達のつぶやき F#トリビア。いにしえからの言い伝えによると、パターンマッチを「match x with」と書く流派と「x |> function」と書く流派がございます。後者の方がネストを浅く保つことができるので私は好きです。 #fsharp2011-05-12 16:35:17 via…

判別共用体のケース識別子は直接公開せず、インターフェイスをアクティブパターンで提供するのがスマートっぽいよ

とあるF#er達のつぶやき 判別共用体は直接公開してどうのこうのしたりするよりかは、内部的な実装は判別共用体でやって、アクティブパターンでインターフェイスを提供するというのがスマートっぽいよ。#fsharp2011-04-20 15:51:54 via Chromed Bird @zecl そ…

オブジェクト指向は、シンプルできれいだが脆い。関数型プログラミングは、強く美しいが複雑。F#はいろいろな書き方が混ぜこぜになるよ。楽しいよ。

オブジェクト指向プログラミングが好きだ。関数型プログラミングが好きだ。 オブジェクト指向プログラミングオブジェクト指向プログラミングは、コンテナの一般性を確保している点で優れている。 データと振る舞いをコンテナとしてまとめることで、プログラ…

F#で楽々breakとcontinue。継続モナドまじパネぇっす!

id:einblickerさんが、「F#で継続モナド - einblickerの日記」というステキな記事を書いてくださいました。グッジョブすぎる! 以前、F#で継続渡し形式(CPS)変換を抽象的に考えてみたら、それってつまりHaskellの継続モナドみたいなものでした。ということで…

Observableコンピューテーション式はモナド則を満たしているか否か。

前回のエントリ「F#でRxる。よく訓練されたF#erはコンピューテーション式をつくる。」で紹介いたしました、 Observableコンピューテーション式について補足します。モナド則を満たしているか否かについてです。 Haskellにおいて、モナドがモナド則を満たして…

F#でRxる。よく訓練されたF#erはコンピューテーション式をつくる。

いにしえからの言い伝えによると、よく訓練されたF#erはコンピューテーション式をつくるそうです。 Select Many: Reactive Extensions’ Mother Of All Operators (Chaining). お、SelectManyですね。 なるほどなるほど。計算を繋ぐもの。モナドですか。そこ…

モナディックなパーサ・コンビネータFParsecを使おう。てゆうかParsec(Haskell)のApplicativeスタイルがやばい。

Parsec(Haskell)のApplicativeスタイルがやばすぎるので、FParsecでApplicativeスタイルしてみた。 FParsecとはFParsec とは Haskell のパーサ・コンビネータライブラリ Parsec をF#に移植したものです*1。 では、パーサ・コンビネータとはなんでしょうか。…

C#からF#のクロージャを利用するには、こんな風にしたらいんじゃないの的サンプル

実践 F# 関数型プログラミング入門作者: 荒井省三:いげ太出版社/メーカー: 技術評論社発売日: 2011/01/07メディア: 大型本購入: 6人 クリック: 264回この商品を含むブログ (26件) を見る まず、書籍のご紹介をさせていただきます。 荒井さん、いげ太さん共著…

メモ〜化したりスマス。 Memoization and Tail Recursive Function

のぶひささん(id:Nobuhisa)が、魔法的メモ化関数を書いてくださいました。 めもりんこ - (hatena (diary ’Nobuhisa)) 非常にふつくしいので、ぜひご覧になってください。 このエントリは「F# Advent Calendar jp 2010」第16回のものです。F# Advent Calendar…

F#でSQL CLRしちゃうことは一応可能なんだけど、正式にはサポートはされていないのね。そりゃそうだよね。

追記あり なんとなく気が向いたので少しだけ。 主な環境 ・Windows 7 Home Premium ・SQL Server2008 ・F#2.0 まずはclr enabledの変更まず、SQL Server2008の構成オプションの 'clr enabled' を 0 から 1 に変更してSQL CLRを利用可能にします。 その後、RE…

F#でもMoq使いたかったんだけど、なんかダメそうなのでRhino Mocksを採用しました。

タイトル通り、F#でもMoq使いたかったんだけど、なんかダメそうなのでRhino Mocksを採用しました。というメモ。 それ以上でもそれ以下でもありません。 F#でMoq利用を試みるも撃沈結論から言うと、F#とMoqの相性は最悪。 Moqは、F#で全く利用できないわけで…

いわゆる遅延リストとか遅延ストリーム。F# PowerPackのLazyListって、結局のところどんなことをしてくれているのか。

個人的に息詰まる毎日が続いておりますが、みなさんいかがお過ごしでしょうか(誰 今回は、F# PowerPack*1のLazyListをさわってみたので、そのメモ。 LazyListはいわゆる遅延リストあるいは遅延ストリームなどと呼ばれるもので、それをF#でお手軽に扱えるよう…

F#かわいいよF#。F#の並列処理や非同期計算の理解を深めるために、FSharpAsyncとFSharpAsyncBuilderのラッパーをC#で書いてみた。

ご存知、F#は並列処理や非同期処理について考慮されて設計された強力な言語です。 いくつかサンプルプログラムを書いて、わたしもその雰囲気については過去に簡単に確認していました。 しかし、FSharpAsyncやFSharpAsyncBuilder(computation expression)にど…