【.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-
2013/10/17(木) 00:15:06.24
[悲報] The Book of F# の表紙決定か
http://nostarch.com/sites/default/files/imagecache/product_full/fsharp_cover_web.png
2013/10/17(木) 00:32:17.25
oh...
2013/10/17(木) 01:01:01.67
だっさー(´・ω・`)
2013/10/17(木) 01:54:53.72
>>518
http://www.manning.com/petricek2/
この本に"Numerical computing in financial domain"と
"Implementing a trading system"という章が入るみたい
2013/10/17(木) 13:52:30.11
ブックカバーが必須だな
2013/10/18(金) 14:00:10.15
>>518
MEAPから見出しを抜粋するとこんな感じ:
4 Numerical computing in finance domain
4.1 Introducing financial derivatives
4.2 Using probability functions of Math.NET
4.2.1 Configuring F# Interactive
4.2.2 Download and Set up Math.NET Numerics
4.2.3 Introducing Random Variables, Expectation and Variance
4.3 Geometric Brownian Motion and Monte Carlo Estimate
4.3.1 Modeling stock prices using geometric Brownian motion
4.3.2 Payoff Function, Discounted Payoff, and Monte Carlo estimate
4.3.3 Analaysing Monte Carlo estimates using variance
4.3.4 Pricing oath-dependent options
4.3.5 Variance reduction using antithetic variates
著者はChao-Jen Chenだそうな。
2013/10/26(土) 00:51:59.61
type T = [<Leaf>]A | [<Node>]B of T * T
この型Tに対して
let rec size = function A -> 1 | B(x,y) -> 1 + size x + size y
こんなような関数を大量に自動生成したいんだけど
Reflection+CodeDom以外に選択肢ある?
2013/10/26(土) 15:57:40.32
>>530
直感的に思いつくのはT4だけど、F#プロジェクトではサポートされてないから
T4用にC#かVBのプロジェクトを追加して、そっちで生成したファイルをF#プロジェクトに追加すればいいかもしれない。
stackoverflow.com/a/2199527
2013/10/26(土) 19:51:58.54
>>531
情報ありがとう
T4はF#だと茨の道くさいからCodeDomで頑張りますわ
533デフォルトの名無しさん
垢版 |
2013/11/21(木) 06:01:23.06
盛り上がってるね。
2013/11/29(金) 22:07:58.73
2013/12/08(日) 16:19:46.81
TIOBEで20位入ってる。
周りで流行ってきてる実感ありますか?
2013/12/08(日) 18:46:21.38
発表当時の方が、順位高かったという、、
msdnでドキュメント公開されたタイミングでのカウントが大きいのかもね。

msdnでF#のドキュメントが日本語になってるのは凄いとおもうが、MSでF#セミナーやってるとか聞かないし、宣伝部隊がいないんじゃないかな?
http://msdn.microsoft.com/ja-jp/library/dd233154.aspx
2013/12/08(日) 20:16:26.82
VisualStudioで扱える関数型ということで期待したが、
言語仕様が古臭すぎて萎えた。

・ ソースコードのコンパイル順序を指定
・ 基本的に後方参照不可
・ 循環参照にはキーワードが必要

1980年代にタイムスリップした気分だぜ。
2013/12/09(月) 19:19:17.64
>>537
実際それぐらいまで一度戻って、プログラミング遍歴を全部やり直すぐらいの覚悟はいるかも。得られるものは大きいけどね。
539デフォルトの名無しさん
垢版 |
2013/12/09(月) 19:25:15.19
>>537
むしろその方がどこで参照されるか想定できるから俺は嫌いじゃない
2013/12/09(月) 21:08:27.13
はきだめ
2014/01/01(水) 20:59:15.21
RProviderでCRANを使う場合ライセンスってどうなる?
もしRProvider経由でGPL汚染するならCRANは件並みGPLだからオワタ\(^o^)/
2014/01/02(木) 07:04:43.25
け、件並み……?
2014/01/04(土) 04:16:41.65
くだんなみだろ
2014/01/04(土) 08:43:30.22
>>542-543
件並みじゃなくて軒並みだった(´・ω・`)
https://www.google.co.jp/search?q=%22%E4%BB%B6%E4%B8%A6%E3%81%BF%22
結構引っかかるけど間違いなのね・・・
2014/01/04(土) 11:30:09.14
F#はJ#のようにVSの一部でしかないのですっかりPowerShellより日の当たらない存在
スタンドアロンで使えるじゃねえかといかいうバカも居るけど
そうやって使ってる奴はいないわけで
2014/01/04(土) 12:22:57.82
F#専用サイトだったhubFSがFPishという関数型言語総合サイトに変わって数年たつし
F#の話題がないのは海外でも同じなんだよね
日本の弱小ブロガーだけがスタンドアロンで余裕で使えるわ!、
などとおつよそうに喧嘩売ってくるという有り様
547デフォルトの名無しさん
垢版 |
2014/01/04(土) 13:19:08.08
海外でも国内でも使ってことのある人の中ではバランスのとれたとても良い言語となってると思うけど…
Xamarinの方でも積極的に取り入れてるし一定の評価えてるとおもうけどな。
F#のコミュニティ見てるのでそれ以外の声が全然ないかは知らん。
自分は必要ない限り極力F#使ってC#成分はできるだけ減らしてる
2014/01/04(土) 13:23:37.25
C#に勝とうとしちゃなんね。
それよりはF#の強い部分をアピールすべきだなんや。
2014/01/06(月) 11:07:56.94
構文木をこねくり回すプログラムを書く必要があったからF#使ってたけど
最近は数値計算が多くてなんかもうC#に絞った方がいいんじゃないかって気がしてきた
F#の利点は何かありますか?
550デフォルトの名無しさん
垢版 |
2014/01/06(月) 11:22:48.48
>>549
むしろC#で書く利点がなに一つなくね?
2014/01/06(月) 14:40:34.42
>>544
一応確認しておくけど、読みは「けんなみ」じゃないからね
2014/01/06(月) 14:42:09.36
>>550
変態さん以外にも読める
2014/01/06(月) 15:58:12.72
そういえば、F#のMVPであるbleisという人が、彼女が出来てリア充になったそうな。
F#erになるとリア充になれる!?
2014/01/06(月) 17:55:13.35
>>550
数値計算本のアルゴリズムはだいたいCとかで書かれていて
ループ内でbreakやcontinueが使われているものが多いんだわ
だからF#で書きなおす際に頭を悩ますというのが最大の問題
あとx *= 2.0とか書けない
2014/01/06(月) 20:44:57.02
VSバージョンあごるごとにインストール方が微妙になって行ってるのはなんなの
どこがスタンドアロンで余裕なんだよ

>>553
それは花王デモの主催者が彼女出来て活動終了したのと同じで本人次第
花王デモやF#を選んだのが正解だったというわけではない
>>554
コア部分のロジックをF#で書けばいいんだ!なんて
息巻いてた奴らクソうざかったんだけども彼女が出来てやめたんだろうな
>>550はブサすぎてできないらしい。こういう奴もいるから
2014/01/06(月) 20:47:17.42
バージョンあごる、はこっちの方言だからあってるからな
件並みは方言ではないけど
2014/01/06(月) 23:01:03.05
>>554
なるほどね。
558デフォルトの名無しさん
垢版 |
2014/01/06(月) 23:25:46.21
>>554
業務でCで書かれた配列の更新とかループバリバリのアルゴリズム、F#で書き直したらすごいスッキリしたよ。
559デフォルトの名無しさん
垢版 |
2014/01/06(月) 23:28:00.85
>>552
C#人口が多いのは確かにありだね。
うちの会社は勉強会とかしたら色々と難しそうだけどいいんじゃね?って話になって導入が進みそう。
2014/01/07(火) 03:09:02.16
知名度低すぎ
2014/01/07(火) 21:13:51.84
IDEを使えないスタンドアロンには意味は無いからな
UNIX勢だって補完なしでCUI使うやつなんかいないよ
3.1はVS expressではまだ使えないのか
562デフォルトの名無しさん
垢版 |
2014/01/07(火) 21:57:12.38
MonoDevelopならいけんじゃね
2014/01/07(火) 23:37:10.88
ML使いを取り込めてるの?
2014/01/08(水) 02:19:46.83
スタンドアロンでコンパイルしてみたらリファレンス関連が不明過ぎてこれはアカン
調べてもexpress使えだし
2014/01/08(水) 03:14:32.67
2013は不明なのでVS express 2012をインストール
拡張機能からテンプレをインストールしてきた
F#関連で最もダウンロードされてるのは
F# C# MVC4
ってのが71729ダウンロードだった

この感じだとF#本で10000部はありえないな
1000部くらいか・・・?
2014/01/08(水) 04:06:52.86
2012 expressでやってみたらあっさりビルドできたわ
コマンドラインみたらどっさり。
これ--noframeworkして全部dll書かないとダメなのね
まあコピーしてbatなりmsbuildなりでなんとかなりそうだが
これは初心者じゃスタンドアロン無理だわ

IDEの何が嫌ってちょっと試すだけでプロジェクトだのソリューションだの
名前付けないとダメなとこよ
scratchで書きなぐりたいんだがな
でも補完とかはさすがに便利
2014/01/09(木) 03:16:32.87
パソコン変えたのもあるけどf# 2.0のころに比べるとだいぶ軽くなってて驚いたよ
fsi xxx.fsx でも実用レベルだし
ただ全然忘れてるから昔書いたものが暗号状態だわ
powerpackとかもどうなってるのか謎
568デフォルトの名無しさん
垢版 |
2014/01/09(木) 09:40:04.45
そんな重いことあったっけ?
i5,7しか使ってないけど重さ気にしたことがない(´・_・`)
2014/01/23(木) 19:05:54.38
スタンドアローン来たってよ
http://blogs.msdn.com/b/fsharpteam/archive/2014/01/22/announcing-visual-f-3-1-1-and-support-for-desktop-express.aspx
2014/01/25(土) 01:06:20.93
スタンドアローン連呼してた人は逃げちゃった?
2014/03/13(木) 15:52:17.98ID:/s599t8e
スタンドアローン連呼くんまだー?
2014/03/14(金) 05:32:20.11ID:qm3sTXO9
あ〜あ
IDでますます過疎るなこのスレw
2014/03/14(金) 15:03:20.19ID:N8AgJwv9
いままでほとんど一人で持ってたのかこのスレは?
2014/03/14(金) 15:26:46.99ID:qm3sTXO9
>>573
日付とID見ろよ情弱が
575デフォルトの名無しさん
垢版 |
2014/03/14(金) 15:35:34.96ID:Vwn/0IeX
>>570>>571
あ?
スタンドアローン連呼してた人だけど
逃げたとかおかしいだろ
今までのが不十分だったからMSが対応したんだろ?
MSの対応は歓迎だとしか言いようがないが。
人が少ないからって開き直ってごまかせると思うなよ?

むしろ今までだってスタンドアロンくらいあるわとか
親切に教えてやったとか言いはってたヤツは逃げちゃった?
MSが対応する余地があったってことは明白なのに
無駄に叩いてきたのはお前らだろうが
現状で十分だと言いはってたんだから公害としか言いようがない
人が少ないからって開き直ってごまかせると思うなよ?

強制IDで消えろよゴミどもw
俺はもともとID変えてるから困らんけどなw
覚悟しろゴミクズ
576デフォルトの名無しさん
垢版 |
2014/03/14(金) 15:41:16.74ID:Vwn/0IeX
>>570>>571
この開き直りは醜すぎるな
スタンドアローン登場は歓迎に決まってるだろ?
すでにあった>>485とかお前そんな事もしらんの?>>488とか
からみ方が意味不とか情報ないのかと思ってぐぐったら簡単に見つかったけど教えてやらんわ(´・ω・`)とか
喧嘩売ってた>>497
は逃げちゃった?

情報ないのかと思ってぐぐったら簡単に見つかったけど教えてやらんわ
の割にはMSが改めて対応しちゃったけどw
577デフォルトの名無しさん
垢版 |
2014/03/14(金) 15:43:04.00ID:Vwn/0IeX
なにがスタンドアローン連呼くんだよ
迷惑なのは
>>570>>571の方だ
情報ないのかと思ってぐぐったら簡単に見つかったけど教えてやらんわ(´・ω・`)とか書いてた>>497
だろ

逃げちゃった?
無様だなw
578デフォルトの名無しさん
垢版 |
2014/03/14(金) 15:44:51.27ID:Vwn/0IeX
>>568
F#1.0とかVS統合前に使ったこともないような情弱は黙ってたら?
579デフォルトの名無しさん
垢版 |
2014/03/14(金) 15:47:47.96ID:Vwn/0IeX
>>558
> 業務でCで書かれた配列の更新とかループバリバリのアルゴリズム、F#で書き直したらすごいスッキリしたよ。

ただの自己満
まともなところならちゃんと検証するわけだけど
報酬すら出ないような箇所なんだろうな
580デフォルトの名無しさん
垢版 |
2014/03/14(金) 15:52:07.33ID:fuyZXWFL
>>570>>571
スタンドアローンくんだけど
ほんとに来てほしいと思ってるの?
それでF#の話してもらえると思ってるの?
甘えるなクズが
F#の話じゃなくて人をからかいたいだけのやつは迷惑だから来るな

こういうクズが強制IDでいなくなるといいわ
2014/03/14(金) 20:04:40.87ID:9cCUu1Hg
煽り耐性無さすぎですよ
2014/03/14(金) 20:23:11.64ID:bzCHSS4r
IDあるとNGしやすいから助かるよ
583デフォルトの名無しさん
垢版 |
2014/03/14(金) 20:59:40.27ID:bbGk2WDX
こいつは何と戦ってるんだ(´・ω・`)
2014/03/15(土) 01:00:12.62ID:1L48EPBD
http://tchikuba.github.io/blog/2014/02/14/play2-scala-ddd-scrum-of-developers-summit-2014/
人生いろいろ、再実装いろいろ
2014/03/22(土) 22:26:53.09ID:RRg8d/wE
Akka.NET
https://twitter.com/akkadotnet/status/447203696456531968
Akkaの.net実装だって。
プロセス監視とかスーパーバイザーの大規模なものって他に.netであるのかな?
http://www.slideshare.net/cooldaemon/error-handling-in-erlang-and-scala
2014/03/25(火) 01:51:12.11ID:PA8GA1CE
https://www.eventbrite.co.uk/e/ucl-functional-programming-in-finance-conference-2014-tickets-10932672919
Haskellのfinancial本はあまり好評ではなかったみたいだけど。
最近は、ロンドンやNYでよくイベントやってるね。
2014/03/25(火) 02:00:05.38ID:PA8GA1CE
F# deep diveかいてるTomas Petrickって、Blue Mountain Capitalにも所属してんのか。
http://techblog.bluemountaincapital.com
http://bluemountaincapital.github.io/Deedle/
オープンソースにしてるみたい。

このページみたのログアグリゲーターで、少し話題になったRiemannのC#プラグインで名前を見て以来だ。
2014/03/26(水) 23:23:51.87ID:v1MuKGbX
Blue Mountain Capitalに入りたいんですけどどうしたらいいですか?
2014/03/27(木) 00:47:31.79ID:SdqpiaKJ
https://www.bluemountaincapital.com/CareerOportunities.aspx

指定職種の募集はしてないみたいだね。
ここに限らず、この分野で勤めてる人探して話聞いたり、インターン募集してたら応募したりするのがよいかと。
2014/04/03(木) 19:30:35.53ID:GFa/HW2b
自営業だから他人に見せない部分でこの言語使ってるけど
他にどんな人が使ってるのか想像もできない
金融で使ってる人いるの?
591デフォルトの名無しさん
垢版 |
2014/04/03(木) 20:03:23.18ID:3wZs6sQe
NVIDIAのGTCってイベントに行ってきたんだけど、F#の中で
ASTをいじってCUDA向けのPTXコードを吐いてGPUを使うって言う
トークがあって、すげーと思った。スウェーデンの金融系IT会社だった
やたらF#推しててワロタ
2014/04/03(木) 20:04:04.28ID:3wZs6sQe
間違えた、PTXじゃなくてLLVMだった
2014/04/03(木) 23:50:27.22ID:vBXhJQCy
これかな?
http://on-demand.gputechconf.com/gtc/2013/presentations/S3055-Dynamic-CUDA-with-F-Sharp-v3.pdf

http://fsharp.org/use/gpu/
オープンソース版の公式ページにも一番上に載ってるようだ。

数年前は、1人で博士課程でやってるのやつが紹介されてたけど、
実用品には、よってたかって開発されてるようなものじゃないと、自分でなんとかしないといけなくなったり、、、
594デフォルトの名無しさん
垢版 |
2014/04/04(金) 08:11:01.75ID:14aTz2cV
>>590
金融と言う程じゃないけどデイトレアプリとかそのサーバーとかに使ってる。
つか言語指定されなければ何にでも使うと思う。
C#はだるすぎる。
2014/04/04(金) 11:06:54.60ID:FR4h37Hv
>>593
うん、その会社。リンク張ってくれたプレゼンは去年のだけど。
今年のはまだ公開されてない。1,2週間くらいで公開されるはず
2014/05/30(金) 01:35:59.48ID:LWM5+FrT
condは爽快感あるけどパターンマッチはあんまりない、
コマンド必殺技と弱キックって感じ
2014/08/08(金) 18:07:16.51ID:EJLhYX8C
過疎りすぎワロタ…
上がりそうな株の銘柄を発掘するアプリを途中まで書いてたが
結局scalaで書き直してしまった
F#もscalaも大差無いけどF#はオフサイドルールのせいで自動整形できないのが面倒だわ
598
垢版 |
2014/08/25(月) 19:05:57.01ID:DrxGPTGS
とりあえず、Ocamlでconnect4のルールだけ作ってみた。
だれか添削たのむ。
http://www.age2.tv/rd05/src/up3979.txt

connect4はこことかで遊べます。
http://www.connectfour.org/connect-4-online.php
2014/08/25(月) 19:06:32.09ID:DrxGPTGS
あら、誤爆した。
失礼しました。
600デフォルトの名無しさん
垢版 |
2014/09/01(月) 17:59:14.45ID:Vs+BnQy2
pythonでオフサイドルール以外は書く気が起きない体になってしまったのでF#の存在は有り難い
2014/09/12(金) 14:45:33.94ID:SXeHxOfu
ならpythonでいいんだけどな
602デフォルトの名無しさん
垢版 |
2014/11/18(火) 17:32:17.94ID:nqmEmvVP
盛り上がらないなここ
F#入れてみたぜ
2014/11/18(火) 20:30:53.27ID:SK3a3LAr
.NET OSS化でUnix環境でも素直に動かせるようになるのか?
2014/11/18(火) 22:16:12.22ID:R7g69SFp
今までと変わらないと思う。
2014/11/18(火) 22:52:37.93ID:sfpYpYRp
MSは.NET推しに必死だな。なぜだろう
2014/11/19(水) 00:11:16.98ID:MFW74ps4
自社のプロダクト推さない会社って何なの
2014/11/19(水) 04:28:22.02ID:pkNAx+Yc
おっとGoogleの悪口はそこまでだ
2014/11/19(水) 07:04:56.46ID:Mb3EIzkN
>>607
ごり押ししてるだろw
2014/11/25(火) 17:08:12.22ID:SWjyn5zE
FSharp.Core.dllの同梱許可だすかちゃんとランタイムを配布してくれ
2014/12/10(水) 01:28:19.53ID:uWPeMxf+
ブロガーたちも最終更新から時間だけ過ぎていく・・・
2014/12/12(金) 18:02:23.95ID:nnjxKxP9
>>609
俺は勉強中で聞きかじっただけなんだが
--standaloneつけてコンパイルするとdll配布不要じゃないの?
http://msdn.microsoft.com/ja-jp/library/vstudio/dd233171(v=vs.120).aspx
2014/12/13(土) 13:19:48.58ID:mmV9whdo
初関数言語で手を出してみて、日本語の情報少なすぎてきついけど面白いですね
2014/12/13(土) 14:48:37.52ID:v/FGijXt
いやー前より増えた方だよ。2010頃とか皆無やった。
2014/12/13(土) 23:37:59.12ID:i7CM9zEs
Haskellをちょっとかじったのが役に立った
Visual StudioのF#向け機能がC#とかに比べて貧弱すぎ
リファクタリング機能くらい標準でつけてくれ
2014/12/14(日) 00:46:39.01ID:FQjqczPc
>>614
VFPTでググれ
2014/12/15(月) 18:10:36.57ID:Kjnmj5JO
見当違いの物が出てくる
2014/12/15(月) 18:24:30.57ID:4lr9hTc3
もしかしてPowerToolsのことをVFPTと言ってるんじゃね
http://fsprojects.github.io/VisualFSharpPowerTools/
https://visualstudiogallery.msdn.microsoft.com/136b942e-9f2c-4c0b-8bac-86d774189cff
2014/12/22(月) 17:21:24.66ID:P7oBnA96
>>611
毎回そんなでかいファイル配布して平気ならもちろんそれでいいし
だから本家ランタイムの配布がなくてもいいという話にはならない
別の話
2014/12/22(月) 17:30:22.32ID:P7oBnA96
PowerToolsはOCaml互換機能とかでVisualStudioの機能とは関係ない

リファクタリングくらいとかいうが
C#とかだってその機能つくまでそれなりに時間かかってるはず
2014/12/22(月) 19:42:10.53ID:ECOw4I7p
俺なりに整理してみると

F#2.0ランタイム
Microsoft Visual Studio 2010 F# Runtime 2.0
http://www.microsoft.com/ja-JP/download/details.aspx?id=13450

F#3.0(3.1)ランタイム
Visual F# Tools 3.1.2
https://www.microsoft.com/en-us/download/details.aspx?id=44011

F#4.0(Visual Studio 2015用プレビュー)ランタイム
Visual F# Tools 4.0 Preview
http://www.microsoft.com/en-us/download/details.aspx?id=44941

--standaloneをつけずにビルドしたアプリケーション、ライブラリは
上記のランタイムが必要になる
(インスコしないとUnhandled Exceptionが発生する)

--standaloneで約1.3MBファイルサイズが大きくなる(F#3.0の場合)

肝心のライセンスはどうなってるんだ。識者頼む
俺の貧弱な読解力だと分からない
2014/12/22(月) 21:12:22.99ID:fGAHaCWn
>>619
OCaml互換とかなんの話だ?
2014/12/27(土) 20:54:06.11ID:3hMmTnv9
ocamlのツールと同じようなツールのセットだったと思う。
lex、yacc
http://ocaml.jp/archive/ocaml-manual-3.06-ja/manual026.html
あと、単位系とか。
2014/12/29(月) 12:29:38.26ID:+b4a8prP
opensource版は、Apacheライセンスだな。
https://github.com/fsharp/fsharp/blob/master/LICENSE
runtimeは、いつもの配布用のライセンスかな。

そう言えば、その下のCLR/CLI配布は、monoのランタイムの方が、GPL/商用デュアルライセンスで厳しかったりする。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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