【.NET】F#について語れ2【OCAML】

■ このスレッドは過去ログ倉庫に格納されています
2011/05/01(日) 02:46:49.52
MSResearchから出てきた.NETで使える関数型言語のひとつF#
OCAMLの流れを汲むこの言語、いろいろと面白そうなことができそう。
そろそろ日本語の情報が充実してきそうなこの言語について、幅広く語れ。

http://www.fsharp.net/

前スレ
【.NET】F#について語れ【OCAML】
http://hibari.2ch.net/test/read.cgi/tech/1186030985/

関連スレなどは >>2-
2012/09/19(水) 11:17:06.59
さすが読解力ないわ
2012/09/19(水) 11:39:35.37
無駄な煽りしかできない知障は引っ込めですぅ
2012/09/19(水) 11:55:07.05
>323は曖昧な書き方してるけど、理解できるよね。
問題になるとしたら規格書とか論文とかぐらいでしょ。
2012/09/19(水) 12:16:11.33
読解力無いというのは、文章から本来の意図を読み取れないという意味だが、>>325はなにか間違ってるのか?
2012/09/19(水) 13:19:43.06
F#erは煽りに弱い、と。。。
2012/09/28(金) 14:07:58.33
過疎の場所でわざわざ煽る奴はアンチじゃないからね
盛り上がって欲しいだけなんだよ
2012/10/03(水) 08:14:04.25
http://www.lexifi.com/ml2012/
MLワークショップ2012

対象言語にF#もあったけど、F#の発表はType providerのチュートリアルだけみたい。スライドが見やすい。
http://www.lexifi.com/ml2012/slides_petricek.pdf
2012/10/17(水) 01:41:52.00
Announcing the F# 3.0 Open Source Code Drop - Visual F# Team Blog - Site Home - MSDN Blogs
http://blogs.msdn.com/b/fsharpteam/archive/2012/09/24/announcing-the-f-3-0-open-source-code-drop.aspx
2012/10/23(火) 03:15:53.95
開発陣に中国人がいるからオワコン
F#でソフト作ったら情報駄々漏れ
2012/10/24(水) 22:59:42.32
http://tirania.org/blog/archive/2012/Oct-22.html
Mono3.0 OSX版は、F#3.0バンドル予定みたい。
winやlinuxは別途いれないといかんのかな?
2012/10/24(水) 23:05:44.37
http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=fsharp&lang2=csharp
Ubuntuでも(ソースからビルドかもしれないが)動いてるようだ。
2012/10/25(木) 09:20:07.77
F# OPEN SOURCE GROUP @ GITHUB
http://fsharp.github.com/

Using F# across platforms (HTML5, Linux, Mac/OSX, Android, GPU, ...)
http://fsxplat.codeplex.com/

オープンソース版、Monoの最新版で動くように修正してるのか。
環境依存するのは有志の協力が必要なんだろうけど。
2012/11/04(日) 12:22:20.08
expressでもF#が統合出来る(vs2010ではvs shellのみだった)ようになったと聞いて、はじめから一緒に付いてくるのかと思ったら
Web Platform Installerから別にインストール必要があった。
http://blogs.msdn.com/b/fsharpteam/archive/2012/09/12/announcing-the-release-of-f-tools-for-visual-studio-express-2012-for-web.aspx
2012/11/04(日) 12:25:51.17
Microsoft、「Visual Studio Express」でF#言語を利用可能にするアドインを公開
http://m.forest.watch.impress.co.jp/docs/news/20120913_559448.html
2012/11/18(日) 13:16:39.14
Expressだとポータブルライブラリ作れないのか…
2012/11/22(木) 00:20:13.62
おまいらFsharpxとか見てる?(´・ω・`)
2012/11/22(木) 00:38:05.96
http://fsharp.github.com/fsharpx/
いみゅーたぶるとモナモナ?とかとおもったら、
F#3.0向けにいろんなTypeProviderやHTTPみたいなツールもあるんだな。
2012/11/22(木) 00:46:02.95
F#3.0 (オープンソース版)がmono3.0(のosx版たけ?)でビルドできて動いてるみたい。
http://fsxplat.codeplex.com/wikipage?title=FSharpMac

>>335
まだ、betaではmono3.0にバンドルされてないみたい。
2012/11/22(木) 00:58:36.44
オープンソース版の最新情報が更新されてた。
http://fsxplat.codeplex.com/documentation
linuxでもF#3.0 okで、WebShaper使うとhtml経由でクライアントサイドでもF# 3.0動くのか。

WebShaperって昔は商用しかなかったと思ったけど、
最近はAGPL3と商用$499-が選べるようになってた。
http://www.websharper.com/home
2012/11/22(木) 01:03:08.22
http://atnd.org/events/33927
今年もアドベントカレンダーやるんだ。
タイムリーに、F#3.0とosx/linux/android/webshaperのネタあるといいなあ。
346デフォルトの名無しさん
垢版 |
2012/11/22(木) 01:10:00.70
アドベントカレンダーって何ですか?
2012/11/22(木) 23:20:55.75
>>344
クライアントサイドではjavascriptとして動くからF#って言うとちと語弊が(´・ω・`) 
2012/11/23(金) 00:54:41.43
haxe, ocamljs, clojurescriptみたいなもんかな?
2012/11/23(金) 01:32:13.96
>>348
そんな感じだね。
基本はjsコンパイラで後はサーバーとのやり取りを書きやすく出来る仕組みがある感じかしら。
サンプルでチャートアプリ作ったけどF#で書いたロジックがさっくりと動いたよ。
でも情報が少ないから実際の製品での使用はちょっと躊躇しそう。
2012/11/23(金) 23:14:03.09
WebShaperとは別にPitっていう
F# to jsのコンパイラがあるのか。

githubのtopのプロジェクトリストにものってるがどんなものなんだろう。
http://fsharp.github.com/
2012/11/24(土) 08:31:53.59
F#でportable libraryのライブラリーを使う際に問題があるって話出てたんだがこれ今もそのままかな?
よく見てないんだが前にコンパイル出来てたRxのプロジェクトが確かにコンパイル出来てない希ガス。

http://social.msdn.microsoft.com/Forums/en-US/rx/thread/e64bbb9e-c273-4cce-9d42-8d52fbc0e654
2012/11/24(土) 08:34:14.30
>>350
WebSharperの方が商用のものを切りとってオプソにしてるからクオリティ高そうなイメージ(´・ω・`) 
2012/11/27(火) 00:11:22.61
ちょうどオライリーでWeb向けの本だしてる。薄いやつけど。

Building Web, Cloud, and Mobile Solutions with F#
By Daniel Mohl
Publisher: O'Reilly Media
Released: November 2012
Pages: 176
http://shop.oreilly.com/product/0636920026099.do
2012/12/04(火) 10:16:01.56
>>353
それ、最近の技術さっくりと触れてるので良いよ。F#での書き方の参考になって良い。関数型としてのことはそんなに深くは突っ込んでないけど。
2012/12/22(土) 01:06:09.92
http://tomasp.net/blog/manning-deep-dives.aspx
The book consists of 5 parts that cover the most common real-world uses of F#:
Developing of Analytical Components, Processing and Analyzing Data, Creating End-user Applications and F# in the Larger Context.

There is an increasing number of commercial F# applications. If you want to learn about the domains
where F# can make you more productive and help you to write correct code, or if you want to learn how F# experts approach different problems, then the upcoming F# Deep Dives book is the book for you!
2012/12/22(土) 01:09:34.04
洋書だと、二冊のF#2.0本もF#3.0本にアップデートされた以外にも実用本が増えてきたね。
2012/12/24(月) 14:17:42.43
>353-354
著者のブログで出版のお知らせ
http://bloggemdano.blogspot.jp/2012/12/buiilding-web-cloud-and-mobile.html
サンプルコード
http://dmohl.github.com/fs-web-cloud-mobile/

Kindle版が、オライリーの電子版の半額になってる。半額クーポンの時と同じ値段か。
358デフォルトの名無しさん
垢版 |
2012/12/24(月) 22:07:37.47
'a list list を 'a list にしたいんだけど、どうすればいいの?
Linq の SelectMany したいわけなんだけど。
2012/12/24(月) 22:38:04.70
>> 358
list |> List.collect id
としてみてはいかがでしょうか?
360358
垢版 |
2012/12/25(火) 08:40:21.42
ありがとう
2013/01/23(水) 00:29:00.59
POPL2013でF#のワークショップがあったみたいで
関数型プログラマーのひとが参加して
webshaperやtryfsharpなどいろいろな面に驚いてるな。
あまり日本では、取り上げられないので羨ましいかも。
2013/01/23(水) 00:33:31.51
Data Driven Functional Programming Workshop 2013
Co-Located with POPL 2013 | January 22, 2013 | Rome, Italy
http://research.microsoft.com/apps/mobile/showpage.aspx?page=/en-us/events/ddfp2013/

うぉ、ローマいってんのか。羨ましい、、、
2013/01/29(火) 11:06:33.39
日本どころか世界的に過疎ってんじゃん
hubfsもなんか見づらくなっとるし・・・
2013/01/29(火) 20:16:12.35
F#をちょっといじってみたけど
GUI作り辛いし、GUI作ろうとするとあまり関数型っぽくないしで、
本格的に利用しようとすると微妙だな
遊ぶには面白そうだけど
2013/01/29(火) 22:08:06.81
>>364
何つーかどこから突っ込んでいいのかわからんわ( ´Д`)y━・~~
2013/01/29(火) 22:36:35.46
突っ込めよ
2013/01/31(木) 01:11:10.42
056 [2009/06/24(水) 21:07:53] デフォルトの名無しさん <sage>

F#>Java いずれこうなるから安心しろ。

まあJ#は超えたな
2013/01/31(木) 19:37:16.95
scalaにも当てはまると思うが
関数型風にも書けるというマルチパラダイムは
結果的にいろんな書き方を覚えなければならないし、
そのいろんな書き方、ってのも癖があって覚えにくい
そのせいでF#らしさというものが希薄になってる、というのが欠点

これがマルチパラダイムの末路だ
結局は、限られた書き慣れてる書き方しかしないんだもんな
2013/01/31(木) 20:43:23.36
そんな自分の無能さを声高に言われても困ります。
2013/02/01(金) 22:54:27.13
GUIはC#とXAML、ロジックはF#でいいのでは。
2013/02/01(金) 22:55:19.34
GUIは、というのは支援ツールがあるという意味で。
2013/02/02(土) 10:34:18.44
GUIをF#で作るのは、C#のデザイナで作ってF#にコピペする作業だから空しい
2013/02/11(月) 22:50:03.36
F#って何に剥いてるの
2013/02/11(月) 22:53:25.09
包茎の童貞
2013/02/13(水) 13:20:44.23
まさにオナニーに向いているんだろうな

知的好奇心と言えば聞こえはいいが
ようするに自己満足
モノを生み出してナンボでしょ
2013/02/13(水) 14:38:03.45
そのモノを生み出すのにF#はC#より遥かに長けてるんだが…情弱乙(´・ω・`)
2013/02/13(水) 18:55:43.08
で、その生み出されたモノの例をあげてくれるかなぁ
2013/02/13(水) 20:18:11.82
は?F#使ってる人たちは、C#を使ってやるのと同じように仕事なりなんなりでプログラム書いてるだけだと思うけど。
その際に生産性がいいってだけだよ?
なにかF#や関数型を特別な魔法か何かのようにとらえすぎなんじゃね?
2013/02/14(木) 07:17:59.45
>>377
仕事でバッチファイルの代わりに.fsxでスクリプトを書いてます
インテリセンスが効くのと、Mainクラス作らなくても頭から実行してくれるので
型推論があるので動的型のように書けるところも好きです
2013/02/14(木) 07:37:25.07
Cygwin入れてPythonなりRubyなり使った方が早くね
2013/02/14(木) 07:58:04.93
>>380
そんな動的型要らんわ( ´Д`)y━・~~
2013/02/14(木) 12:25:55.36
>>380
インテリセンスは静的型じゃないと難しいのでは?
普段はC#使いなのですが、.NETとVisualStudioがそのまま使えるっていうのも大きいです
それにVisualStudioがインストールされている環境ならC#と違ってビルド不要で.fsxファイル一つで動きますし
2013/02/14(木) 21:36:47.85
Python Tools for Visual Studio
2013/02/14(木) 21:46:47.92
Typescript
2013/02/14(木) 23:17:39.19
なるほどね
確かにインテリセンスは大きいか
2013/02/18(月) 17:51:00.05
こんなのあるのね
http://exselt.net/

何に使うかわからんようなソフトではなく
XSLT 3.0 プロセッサとか実現したら一気にキラーアプリやで

ただダウンロードすらうまくできないのが弱点。
2013/02/18(月) 23:01:34.10
XSLTはまだ息の根止まってなかったのか。驚いた
2013/02/18(月) 23:57:58.21
昔MSのサイトのRSSにXSLTが付いてたのを覚えてる。
2013/02/22(金) 02:26:32.53
BigIntegerと再帰を使ったフィボナッチ数列がC#より簡単にかける
.netにBigIntegerが入ったとかいう話があった気がするが
まあここの時間止まってるようなもんだから
2013/02/22(金) 10:17:28.31
Linq to ObjectあるからF#いらないですよね?
2013/02/22(金) 10:55:28.20
むしろF#あればC#はいらないが正しい( ゚Д゚)y─┛~~
2013/02/23(土) 13:40:44.54
VisualStudioのリファクタリングはC#と比べると雑魚だよね
2013/02/23(土) 14:56:47.28
F#やってみて、階乗から始まってフィボナッチ、ハノイの塔、クイックソート
正規表現抹茶あたり組んでみたけど、なんか飽きちゃったなあ。
なんか面白いテーマないかな。

プログラマとして勉強になるのかな、と思ってたけど、CでもRubyでもできるよ
ねこんなのは。>>3
2013/02/23(土) 15:12:30.25
入力補完がC#並みなら最高なんだが・・・
2013/02/23(土) 15:31:00.16
>>393
そんなん、ただ再帰を使ってるだけやん。
関数型のかのじも使ってないぞそれ。
2013/02/23(土) 15:40:08.94
それコピペだよ
2013/02/23(土) 16:23:42.54
C#に対するF#の利点は、やはり代数的データ型だと思うんだよな。
代数的データ型の何がいいかって言うと、もちろん宣言的に値の分解ができるからプログラムが読みやすいっていうこともあるんだけど、
データに対する操作の追加が簡単だという利点があると思う。
まぁ、C#でもis演算子かvisitor使えばいいんだけどさ、is演算子だと網羅性チェックしないから書き忘れしやすいし、
visitorは、まぁC#だとlambdaがあるから楽かもしれないけど、でもちょっと面倒くさいし。
それで、代数的データ型がマッチするタスクは何かって言うと、
http://ymotongpoo.hatenablog.com/entry/20111105/1320506449
これのconnection_state型みたいに、いろんなところで使えるものだとは思うんだけど、
一番目立つのはコンパイラ作成の用途かね。C#だとサブクラス作りまくりになる。
実践プログラミングDSLに金融取引を記述するための外部DSLを作る章があったけど、ああいうの。
でもまぁ
http://tomschrijvers.blogspot.jp/2012/12/haskell-tsuru-capital.html
こういう金融ベンチャーっぽいところだと活用してるんだろうけど、普通のプログラマだと活用する機会は少ないだろうなw
2013/02/23(土) 17:39:24.06
C#との比較で見たときにキャッチーに利点を説明できる要素
ならまあ代数的データ型ですねぇ。

自動実装プロパティに初期値を与えられるのとかも地味に便利。

member val Count = 0 with get, set
2013/02/24(日) 09:07:24.31
RoslynでC# REPLが可能になったらF#オワコンですよね
2013/02/24(日) 09:54:11.59
>>399
せめてまともな型推論を実装してから出直してくれ。

F#並の簡潔な記述
代数データ型とパターンマッチング
REPL
モナドサポート
イミュータブルデフォルト

最低でもこの辺が出来ないことには話にならない( ´Д`)y━・~~
2013/02/24(日) 14:05:13.15
REPLとかいらないけど、他の4つはC#でもホント欲しいな
2013/02/24(日) 22:12:05.46
C#のREPLは昔からmonoにはあった。
用途も増えてるようで、最近改良してるみたい。
http://tirania.org/blog/archive/2011/Feb-24.html
http://www.mono-project.com/Release_Notes_Mono_3.0

mono関連で構文解析もMonoDevelop(IDE)のコード支援に使ってるやつがすでにある。
https://github.com/icsharpcode/NRefactory

逆にF#はMSRがオープンソース版を用意してるので、MonoDevelop用プラグインだけMono関連で作られている。
2013/03/06(水) 19:30:36.08
#light "off"にして、あと警告がある場合はコンパイル通らない設定にして使ってる。
しかし、F#の構文だと関数適用時のインテリセンスが微妙…。
2013/03/11(月) 18:45:28.36
「ビッグデータの世界でF#が大流行、
研究者の心を鷲掴みする謎のプログラミング言語」

ってマジ?
2013/03/11(月) 18:55:08.71
タイトルが変
2013/03/11(月) 21:55:23.57
>>404
流行しているというか
MicrosoftがBig Dataサイエンティスト界隈に
流行させようと画策しているというのが正しい。

http://www.infoq.com/presentations/F-Sharp-Big-Data-Scripting
bigdataは一回のクエリに時間がかかるので
codeのバグで時間をロスしやすい。
そしてcodeは書き捨てであることが多い。
このようなタスクにはType Providerという
データスキーマの定義を元にクエリの型チェックやインテリセンスを行える機能
を持つF#が適している。
2013/03/11(月) 23:06:06.63
>>406
まぁ実際にサイエンティストから好評らしいけど
2013/03/12(火) 00:32:06.37
OCamlの一種としては悪くない処理系だし、
MLユーザーは少々の方言は気にしない。
2013/03/12(火) 07:14:16.74
F#だと複雑なロジックがこんなに簡単にかける系のリンクってない?
2013/03/12(火) 16:59:56.81
F#にしたら息子が大学に合格しました
2013/03/12(火) 17:05:28.24
>>410
Fランクよりちょっといいぐらいの大学ですね。おめでとうございます
2013/03/12(火) 17:15:20.19
F#がセクシーすぎて息子が大きくなりました
2013/03/12(火) 18:49:33.85
>>410
F# snippetでググれ
2013/03/12(火) 19:46:10.30
>>408
MLに派生と方言以外の何があるというのだ
2013/03/13(水) 01:19:20.57
名前にスタンダードが付いてるMLあるよね。
2013/03/16(土) 14:07:06.68
とりあえずGUIはC#でとか言ってるうちは流行らんな
2013/03/17(日) 00:00:06.57
いくら糞レスで埋めようがにぎわってねえからな
勘違いすんじゃねえぞ
2013/03/17(日) 01:07:49.88
http://fsharp.github.com/fsharpbinding/
monodevelop以外にも、emacs、vim向けのIDE環境の準備中なんだな。

Monoは、Mono 2.xから3.x、Monodevelop 3.xから4.xに移行中で、F#3.0もちょうど狭間にある感じだな。
そして、Xamarin Studio 4.0向けのコンパイル済みプラグインがここにあった。
http://atsushieno.hatenablog.com/entry/2013/02/21/151834
2013/04/02(火) 01:09:23.44
WebShaper、クローラー・クラウドからスマホアプリまで頑張ってるな。
https://github.com/intellifactory
http://www.infoq.com/jp/news/2012/07/WebSharper-Open-Source

http://t0yv0.blogspot.jp/2013/03/websharper-phonegap-and-ripple-easier.html
http://www.websharper.com/blogs/2013/3/3054
http://www.websharper.com/blogs/2013/3/3055
2013/04/02(火) 02:16:28.77
letって何かの略?障害?
許可じゃimmutable的に意味逆になるだろうし
2013/04/02(火) 13:43:16.63
辞書引けば書いてるだろ数学用語だよ
2013/04/03(水) 10:03:00.29
F#の本ヌレおしえたもれ
2013/04/03(水) 12:39:13.08
どうしてこうなった
2013/04/03(水) 22:16:19.55
本国はTryF#作るまでやる気あるのに
MS日本法人のほういつまでも翻訳せず
やる気が感じられないからしょうがない

英語読めないヤツのほうがもっとやる気ない
とかいうのは無し
2013/04/04(木) 23:16:38.72
F#は全社で取り組んむべき題材ではないということだろうな。
いちおう詳しいMSの日本人もいるのかな?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況