F#

Re: FSharperならこう書く(A Poker Game Program) #FsAdvent

F#

FSharperならこう書く(A Poker Game Program) #FsAdventというエントリがF# Advent Calendar 2014の8日目の記事として公開されました。 この記事自体は、主に設計よりな話をしていますが、ここでは実装寄りの話を中心に、 勝手に添削してみました。 また、記…

NGK2014Bで発表してきた

札束でExcelを殴る from bleis tift NGK2014Bで、FCellという製品紹介の発表をしてきました。 詳細は、発表資料よりもその中で紹介しているデモを参考にしてください*1。 FCellと類似した(?)ものとしては以下のようなものがあります。 COM NPOIやEPPlus等 Ex…

実例に見るSource変換活用術

F#

これはF# Advent Calendar 2014の5日目の記事です。 さて、コンピュテーション式おじさんです、こんにちは。 最近は[Persimmon](https://github.com/persimmon-projects/Persimmon)というF#用のテスティングフレームワークを作っています。 Persimmon自体は…

なごやかJavaで発表してきた

.NET系開発者から見たJava from bleis tift なごやかJava第一回で、「.NET系開発者から見たJava」というタイトルで発表してきました。 Javaのこの機能って.NET開発者から見てどうなの?というような内容です。 大阪から参加してくれた方の感想を載せておきま…

VS Pro相当が無償化されたことだし、F#をやろう!

F#

Pro相当のVisual Studioが無償になった! とのことらしいですよ! F#*1も入っており、拡張機能も使えるようです。 ということは、素敵拡張機能であるVFPTが使えるということですよ! もし今回のことでF#を始めるという方は、是非VFPTを導入した環境でF#を触…

函数型なんたらの集い 2014 in Tokyo

F#

函数型なんたらの集い 2014 in Tokyoに参加してきました。 発表資料はこちら。 SI屋のためのF# ~DSL編~ from bleis tift 内容は、Excel方眼紙を倒すためにDSLで頑張ったというものです。 この中で紹介しているTableDslは、いろいろと発展を考えているので…

F# Meetup in Tokyo

F#

今更シリーズその2。8月3日に、F# Meetup in Tokyoに参加してきました。 発表資料はこちら。 F#事例発表 from bleis tift 内容は、業務でF#を使った事例の紹介です。 F#オンリーのイベントにたくさんの人が参加してくれて、またいろいろな話が聞けてよかった…

クラウド温泉4.0@小樽 - The Return of F#

F#

今更シリーズその1。 7月の25から28日に、 クラウド温泉4.0@小樽 - The Return of F#に参加するために北海道に行ってきました。 発表資料はこちら。 yieldとreturnの話 from bleis tift 内容はコンピュテーション式のyieldとreturnについての話で、 詳説コ…

TypeProviderについて、勝手に補足

F#

昨日行われたF# Meetup in TokyoのPart 1で@kos59125さんがTypeProviderに関する素晴らしい発表をしてくれました。 今日の発表資料アップロードしました。 commpass からもアクセス可能です。 http://t.co/XrdiVppTpM #fsugjp— kos59125 (@kos59125) 2014, 8…

値制限

F#

なんかTLで偶然そんな話題があったので。 コードはF#です。 まずrefについて 値制限の話題に行く前に、refについて説明します。 refは、「変更可能な値」を実現するために使える型で、大体こんな感じに実装されています。 type 'a ref = { mutable contents:…

コンピュテーション式におけるreturnとyield

F#

今日、id:htid46 とF#の話をしつつ帰った時のまとめです。 前提条件 次の2つのエントリを読んでいることが前提です。 詳説コンピュテーション式 - ぐるぐる~ コンピュテーション式の実装にStateを用いる - pocketberserkerの爆走 returnとyieldの変換規則 …

詳説コンピュテーション式

F#

このエントリはコンピュテーション式の仕様を、 日本語で出来る限り分かりやすく解説することを試みたナニカです。 コンピュテーション式自体を使ったことがある人を対象に、その変換の仕組みを説明します。 カスタムオペレータがかかわる部分を省いてあるた…

.NETの標準ライブラリと仲良くする話

F#

F# Advent Calendar 2013の9日目の記事です。 昨日の記事は、id:nenono さんの「F# でリフレクション/式木に触れてみる」でした。 リフレクション、扱いにくいですよねぇ・・・ リフレクションといえば、LangExtシリーズの一つとしてReflectionExtなんてのを…

オーバーロードって素晴らしいですよね!

C# F#

オーバーロード いやぁ、オーバーロードって素晴らしいものですよね。 例えばC#でintを取るメソッドと、stringを取る同じ名前のメソッドを書きたくなったとするじゃないですか。 そんな時でも、C#はメソッドのオーバーロードが出来るので、こう書けるわけで…

ダブル・ディスパッチ~典型的な関数プログラミング・イディオム~

F#

元ネタはダブル・ディスパッチ~典型的なオブジェクト指向プログラミング・イディオム~ です。 これをF#でやってみるとどうなるかやってみましょう。 レンタルショップの例(レベル1) 商品としてCDやDVDを取り扱うレンタルショップを想像・・・するのは面倒…

なごやまつりでF# Type Providerについて(?)話してきた

してきました。 あれだけの人数が集まって、F# 知らない人が全然いないとかすごい勉強会でしたね。 現実(えくせる)と戦う話 from bleis tift Excel方眼紙、どうにかしたいものですね。 今回作った(作りかけ)コードは、GitHubに置いてあります。 ExcelHougans…

.NET基礎勉強会でラムダ計算の発表をしてきた

F#

もう一か月以上も前の話ですが、.NET基礎勉強会で(型無し)ラムダ計算の話をしてきました。 .NETと言えばF#、F#の基礎と言えばラムダ計算!ですよね! 発表資料はこちらです。 ラムダでウィザード 滅せよ手続き、とチャーチは言った (※言ってません) from ble…

Java 8を関数型っぽく使うためのおまじないをF#でやってみた

F#

Java 8を関数型っぽく使うためのおまじない - きしだのはてな Java 8を関数型っぽく使うためのおまじないをC#でやってみた - ぐるぐる~ Java も C# も大変ですね。 F# さんは、ラムダ式も関数型も最初から使えたので、似たようなことはすでにできます。 上…

並列/並行基礎勉強会でasync/awaitをDisってきた

C# F#

async/await不要論 from bleis tift 3/23 に開催された、並列/並行基礎勉強会で「async/await 不要論」という発表をしてきました。 一番言いたかったこと 一番言いたかったことは、実は並列とかとは全く関係ないことです。 それは、言語への機能追加に関する…

高専カンファ in 三重2 行ってきた

F#

高専カンファレンス in 三重2 - 高専カンファレンス Wiki 授業発表ということで、発表もしてきました。 F#によるFunctional Programming入門 from bleis tift 「高専生だし、このくらい飛ばしても大丈夫やろー」と思って飛ばしすぎましたごめんなさい。 想定…

NGK2012B で Excel-DNA 紹介してきた

発表後に新バージョンがリリースされました。 これを機にみなさん使ってみましょう。 VBAを書きたくない話(Excel-DNAの紹介) from bleis tift

第2回 関数型言語勉強会 大阪でしゃべってきてた

F# C#

第2回 関数型言語勉強会 大阪 : ATNDもう一か月以上前じゃないですか・・・ ということで、しゃべってきました。 Better C#の脱却を目指して from bleis tift C# (や Java) を使っているときよりも型の力を借りましょう、ということを主軸に話しました。 C# …

C# から使いやすい F# コードの書き方

F# C#

さて始まりました、F# Advent Calendar 2012 です。 今年は、「実用」がテーマと言うことで、F# で書いたコードを C# から使いたくなった時に気を付けるべきポイントなどをまとめました。 F# と C# で異なる名前を付ける F# では、module に定義する関数や変…

わかめのモナ化で色々やってきた

わかめのモナド浸し - connpassハンズオンの前座として、Maybe モナドと State モナドの解説をしました。 モナドハンズオン前座 from bleis tift 発表も資料も割と好評なようで、「モナドの教え方」みたいなものの感覚もつかめたので発表してよかったです。 …

null の扱い

Maybe つながりで、色んな言語の null の扱いについてちょっとだけまとめてみた。 観点は一つ、「this が null の場合に this の指す先にアクセスしないメソッドが呼び出せるか」です。 C++ #include <iostream> struct hoge { void f() { if (this == 0) std::cout <<</iostream>…

Coderetret in Nagoya に行ってきた

4月28日 Coderetreat in Nagoya(愛知県)行ってきました。 使った言語は、 F# Ruby SML# の 3 つです。 ほとんど F# の布教に行ったような感じになりました。 F# というか関数型言語自体初めての人ばかりでしたが、びっくりするぐらい評判良かったです。 ただ…

@IT で、「F#で初めての関数型プログラミング」という記事を書きました

F#

特集:C#開発者のためのF#入門(前編) F#で初めての関数型プログラミング前編ということで、後編もあります。 後編は大体一か月後に公開予定です。 主な対象は特集のタイトルにもありますが、C# プログラマです。 でもまぁ、サンプルコードは極力シンプルに…

Microsoft MVP for Visual F# 受賞

F#

F#! F#!

FsYaml1.0 リリース

F#

型を使ってカスタマイズする F# 用の YAML ライブラリを作りました。 マニュアル? ソースコード 別プロジェクトの設定ファイル読み込み用として作っていたんですが、ライブラリとして独立させた方が便利だと思ったので分離しました。 そういう背景があるの…

Quick Test Switcher 1.1 をリリースした

テストコードと実装コードの切り替えを支援する Visual Studio 用のアドインを作りました。 マニュアル的なもの Visual Studio Gallery のページ ソースコード コードを開いた状態で Ctrl-0 を押すと、対応するファイルがある場合にそれを開きます。 頻繁に…