FunScript 
F# to JavaScript with type providers 
FunScriptって 
何でしょうか?
FunScript 
F# to JavaScript with type providers 
FunScriptとは… 
またまた他のJavaScript 
コンパイラーでございます。 
また?本当にまた? 
もういいじゃない?
FunScript 
F# to JavaScript with type providers 
現在はプログラミング言語はすべて 
JavaScriptへコンパイルできるらしい。 
関数型言語も多いです: 
o Elm 
o LiveScript 
o PureScript 
o Fay 
そしたらFunScriptを使用するのはどの 
メリットがありますか? 
初めに…
FunScript 
F# to JavaScript with type providers 
あなたも 
F#erである 
分かるだろう
FunScript 
F# to JavaScript with type providers 
F#(エフ シャープ)はオープンソース、 
タダだよ!タダ! 
関数型言語です。 
しかもマルチパラダイム 
F#はLinux、Mac OS X 、Android、iOS、Windows 
又はHTML 5やGPUなどで実行できます。 
何か世界を征服したいときには 
必ずいいこと… じゃない? 
説明はもう結構です!
FunScript 
F# to JavaScript with type providers 
見本をみせろ
FunScript 
F# to JavaScript with type providers 
オートコンプリートとツールチップを備えた 
強力なIDEでF#のクライアントコードを書けます。 
Intellisenseは中毒になる 
プラグインはいらない
FunScript 
F# to JavaScript with type providers 
F#コンパイラーは友達です。ずっとあなたの 
エラーを見せてくれるので大変助かります! 
同僚なら殺したい気分になるが… 
いやなんでもない!
FunScript 
F# to JavaScript with type providers 
関数型言語の機能 
• カリー化機能を持つ第一級関数 
• イミュータブルなオブジェクト 
• 再帰呼出し 
• パターンマッチ 
• 型推論 
楽な静的型 
システム
FunScript 
F# to JavaScript with type providers 
永続データ構造 
•タプル 
•レコード 
•判別共用体 
•クラスとモジュール 
•F#コレクション型 
o list 
o map 
o set 
o seq 
IEnumerableと 
書かなくていい
FunScript 
F# to JavaScript with type providers 
.NETコレクション 
• Array 
• ResizeArray(ミュータブルなリスト) 
• Dictionary JSで普通の配列とPOJOになるので 
ブラウザコードに対応しています
FunScript 
F# to JavaScript with type providers 
FunScriptは便利な.NETクラスのメソッドを 
JavaScriptにコンパイルもできます。 
• String 
• Regular Expressions 
• DateTime / TimeSpan 
• WebRequest 色々なプラットフォームでRegexなど 
の使い方を覚えるのは大変だと 
思っているのは…私だけじゃないよね
FunScript 
F# to JavaScript with type providers 
ブラウザで.NET正規表現の使用例
FunScript 
F# to JavaScript with type providers 
F#の特徴 
o 型プロバイダ! 
o 測定単位 
o コンピュテーション式 
ここをクリックすると 
素晴らしいビデオが 
見れるよ(英語版)
FunScript 
F# to JavaScript with type providers 
さらにFunScript.HTML拡張を 
使用する場合はあなたのF#/.NETスキル 
を使ってHTML5ウェブアプリを作成 
することかできます。 
例えば…
FunScript 
F# to JavaScript with type providers 
リアクティブプログラミング(その1) 
HTMLオブジェクトは 
それぞれのIObservable 
を生成する拡張プロパティ 
があります
FunScript 
F# to JavaScript with type providers 
リアクティブプログラミング(その2) 
カプセル化された状態
FunScript 
F# to JavaScript with type providers 
リアクティブプログラミング(その3) 
DateTime 
Stringフォーマット 
この拡張メソッドは 
簡単に他のプラット 
フォーム向けにもできる
FunScript 
F# to JavaScript with type providers 
非同期ワークフロー(その1) 
LINQ to SQLとWeb APIとクラインコードの間に型共有できます。 
LINQとWeb APIとFunScriptは 
つまらないマーシャリング 
の仕事をやってくれる
FunScript 
F# to JavaScript with type providers 
非同期ワークフロー(その2) 
非同期ワークフローで有限オートマトンを 
表現できますからイベント処理も 
より便利になります。 
「制御の反転」のことを忘れて 
自分のプログラムフロー 
自分で制御しましょう!
FunScript 
F# to JavaScript with type providers 
非同期ワークフロー(その3) 
フラッグはいらない!
FunScript 
F# to JavaScript with type providers 
JSイベント 
処理が好き 
な人はいる 
だろうが
FunScript 
F# to JavaScript with type providers 
という訳でFunScriptとFunScript.HTML 
を使用するメリットは: 
o エラーを減る 
o コードを再利用 
でも一番大事なのは… 
o スキルを再利用
FunScript 
F# to JavaScript with type providers 
これは素晴らしいが… 
とても便利なJavaScriptライブラリが多いです。 
それを利用することをやめるしかないですか? 
違います! 
FunScriptはNuGetを通じてTypeScriptリポジトリ 
にあるすべて型定義のラッパーを提供しています。
FunScript 
F# to JavaScript with type providers
FunScript 
F# to JavaScript with type providers 
FunScript.HTMLでは一つのJavaScript 
MVCフレームワークとより 
深い統合をしています: 
Ractive.js 
詳しくはホームページを 
ご覧ください(英語版)
FunScript 
F# to JavaScript with type providers 
イベントと状態の更新も 
非同期的に処理できる 
カプセル化された状態
FunScript 
F# to JavaScript with type providers 
必要ならば簡単にFunScriptを 
拡張することも可能です。
FunScript 
F# to JavaScript with type providers 
実際にF#からJSへもう一つの 
コンパイラーがあります: 
IntelliFactoryの開発したWebSharper。 
FunScriptと違ってWebSharperは 
フルスケールのウェブフレームワークです。 
より詳しい比較が続きます。
FunScript 
F# to JavaScript with type providers 
FUNSCRIPT 
機能 
上記 
WEBSHARPER 
機能 
すみませんが使用 
したことはありません 
サイトをご覧ください 
マジかよ
FunScript 
F# to JavaScript with type providers 
そろそろ 
SAYONARA 
BABY 
スピン語版でこういう風に言っていましたよ
FunScript 
F# to JavaScript with type providers 
FunScriptはZach Brayが作成した 
プロジェクトです。F#のコミュニティ 
からも貢献されています。 
▪ Tomas Petricek 
▪ Robert Pickering 
▪ James Freiwirth 
マーベル 
ヒーローの 
名前っぽく 
ない? 
詳細はfunscript.info
FunScript 
F# to JavaScript with type providers 
そして、プレゼンテーションは 
こういう者が作成致しました: 
Alfonso García-Caro 
@alfonsogcnunez 
github.com/alfonsogarciacaro 
それでは… 
FunScriptの 
質問があり 
ましたら 
日本語でも 
お気軽に 
ご連絡 
ください
FunScript 
F# to JavaScript with type providers 
一体 
何を待って 
いるの

FunScript:F#からJavaScriptへのコンパイラー

  • 1.
    FunScript F# toJavaScript with type providers FunScriptって 何でしょうか?
  • 2.
    FunScript F# toJavaScript with type providers FunScriptとは… またまた他のJavaScript コンパイラーでございます。 また?本当にまた? もういいじゃない?
  • 3.
    FunScript F# toJavaScript with type providers 現在はプログラミング言語はすべて JavaScriptへコンパイルできるらしい。 関数型言語も多いです: o Elm o LiveScript o PureScript o Fay そしたらFunScriptを使用するのはどの メリットがありますか? 初めに…
  • 4.
    FunScript F# toJavaScript with type providers あなたも F#erである 分かるだろう
  • 5.
    FunScript F# toJavaScript with type providers F#(エフ シャープ)はオープンソース、 タダだよ!タダ! 関数型言語です。 しかもマルチパラダイム F#はLinux、Mac OS X 、Android、iOS、Windows 又はHTML 5やGPUなどで実行できます。 何か世界を征服したいときには 必ずいいこと… じゃない? 説明はもう結構です!
  • 6.
    FunScript F# toJavaScript with type providers 見本をみせろ
  • 7.
    FunScript F# toJavaScript with type providers オートコンプリートとツールチップを備えた 強力なIDEでF#のクライアントコードを書けます。 Intellisenseは中毒になる プラグインはいらない
  • 8.
    FunScript F# toJavaScript with type providers F#コンパイラーは友達です。ずっとあなたの エラーを見せてくれるので大変助かります! 同僚なら殺したい気分になるが… いやなんでもない!
  • 9.
    FunScript F# toJavaScript with type providers 関数型言語の機能 • カリー化機能を持つ第一級関数 • イミュータブルなオブジェクト • 再帰呼出し • パターンマッチ • 型推論 楽な静的型 システム
  • 10.
    FunScript F# toJavaScript with type providers 永続データ構造 •タプル •レコード •判別共用体 •クラスとモジュール •F#コレクション型 o list o map o set o seq IEnumerableと 書かなくていい
  • 11.
    FunScript F# toJavaScript with type providers .NETコレクション • Array • ResizeArray(ミュータブルなリスト) • Dictionary JSで普通の配列とPOJOになるので ブラウザコードに対応しています
  • 12.
    FunScript F# toJavaScript with type providers FunScriptは便利な.NETクラスのメソッドを JavaScriptにコンパイルもできます。 • String • Regular Expressions • DateTime / TimeSpan • WebRequest 色々なプラットフォームでRegexなど の使い方を覚えるのは大変だと 思っているのは…私だけじゃないよね
  • 13.
    FunScript F# toJavaScript with type providers ブラウザで.NET正規表現の使用例
  • 14.
    FunScript F# toJavaScript with type providers F#の特徴 o 型プロバイダ! o 測定単位 o コンピュテーション式 ここをクリックすると 素晴らしいビデオが 見れるよ(英語版)
  • 15.
    FunScript F# toJavaScript with type providers さらにFunScript.HTML拡張を 使用する場合はあなたのF#/.NETスキル を使ってHTML5ウェブアプリを作成 することかできます。 例えば…
  • 16.
    FunScript F# toJavaScript with type providers リアクティブプログラミング(その1) HTMLオブジェクトは それぞれのIObservable を生成する拡張プロパティ があります
  • 17.
    FunScript F# toJavaScript with type providers リアクティブプログラミング(その2) カプセル化された状態
  • 18.
    FunScript F# toJavaScript with type providers リアクティブプログラミング(その3) DateTime Stringフォーマット この拡張メソッドは 簡単に他のプラット フォーム向けにもできる
  • 19.
    FunScript F# toJavaScript with type providers 非同期ワークフロー(その1) LINQ to SQLとWeb APIとクラインコードの間に型共有できます。 LINQとWeb APIとFunScriptは つまらないマーシャリング の仕事をやってくれる
  • 20.
    FunScript F# toJavaScript with type providers 非同期ワークフロー(その2) 非同期ワークフローで有限オートマトンを 表現できますからイベント処理も より便利になります。 「制御の反転」のことを忘れて 自分のプログラムフロー 自分で制御しましょう!
  • 21.
    FunScript F# toJavaScript with type providers 非同期ワークフロー(その3) フラッグはいらない!
  • 22.
    FunScript F# toJavaScript with type providers JSイベント 処理が好き な人はいる だろうが
  • 23.
    FunScript F# toJavaScript with type providers という訳でFunScriptとFunScript.HTML を使用するメリットは: o エラーを減る o コードを再利用 でも一番大事なのは… o スキルを再利用
  • 24.
    FunScript F# toJavaScript with type providers これは素晴らしいが… とても便利なJavaScriptライブラリが多いです。 それを利用することをやめるしかないですか? 違います! FunScriptはNuGetを通じてTypeScriptリポジトリ にあるすべて型定義のラッパーを提供しています。
  • 25.
    FunScript F# toJavaScript with type providers
  • 26.
    FunScript F# toJavaScript with type providers FunScript.HTMLでは一つのJavaScript MVCフレームワークとより 深い統合をしています: Ractive.js 詳しくはホームページを ご覧ください(英語版)
  • 27.
    FunScript F# toJavaScript with type providers イベントと状態の更新も 非同期的に処理できる カプセル化された状態
  • 28.
    FunScript F# toJavaScript with type providers 必要ならば簡単にFunScriptを 拡張することも可能です。
  • 29.
    FunScript F# toJavaScript with type providers 実際にF#からJSへもう一つの コンパイラーがあります: IntelliFactoryの開発したWebSharper。 FunScriptと違ってWebSharperは フルスケールのウェブフレームワークです。 より詳しい比較が続きます。
  • 30.
    FunScript F# toJavaScript with type providers FUNSCRIPT 機能 上記 WEBSHARPER 機能 すみませんが使用 したことはありません サイトをご覧ください マジかよ
  • 31.
    FunScript F# toJavaScript with type providers そろそろ SAYONARA BABY スピン語版でこういう風に言っていましたよ
  • 32.
    FunScript F# toJavaScript with type providers FunScriptはZach Brayが作成した プロジェクトです。F#のコミュニティ からも貢献されています。 ▪ Tomas Petricek ▪ Robert Pickering ▪ James Freiwirth マーベル ヒーローの 名前っぽく ない? 詳細はfunscript.info
  • 33.
    FunScript F# toJavaScript with type providers そして、プレゼンテーションは こういう者が作成致しました: Alfonso García-Caro @alfonsogcnunez github.com/alfonsogarciacaro それでは… FunScriptの 質問があり ましたら 日本語でも お気軽に ご連絡 ください
  • 34.
    FunScript F# toJavaScript with type providers 一体 何を待って いるの