【.NET】F#について語れ【OCAML】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/08/02(木) 14:03:05OCAMLの流れを汲むこの言語、いろいろと面白そうなことができそう。
まだまだ英語の情報しかないこの言語について、幅広く語れ。
http://research.microsoft.com/fsharp/fsharp.aspx
0002デフォルトの名無しさん
2007/08/02(木) 14:06:090003デフォルトの名無しさん
2007/08/02(木) 14:08:03需要無いんかね
0004デフォルトの名無しさん
2007/08/02(木) 14:14:430005デフォルトの名無しさん
2007/08/02(木) 14:22:09>Windows Live プログラミング
5 :デフォルトの名無しさん:2007/05/23(水) 03:51:43
くだらねえ。なんでタダでMSの奴隷にならなあかんの。
7 :デフォルトの名無しさん:2007/06/15(金) 08:37:17
漏れのW-zero3に
LIVEのサービスにシンクロするのを入れたけど
接続しっぱなし、常に電源オンで
頭にきて速攻消した。
OFFICEは付き合いで買ってみたけど
VSはもう川根。
8 :デフォルトの名無しさん:2007/06/15(金) 23:14:07
>>5
Webサービスの類は自前でサーバを作らない限りどこかの会社の奴隷じゃよ
9 :デフォルトの名無しさん:2007/06/16(土) 13:29:16
だからLAMPで組むところが多い
0006デフォルトの名無しさん
2007/08/02(木) 14:34:030007デフォルトの名無しさん
2007/08/02(木) 14:35:340008デフォルトの名無しさん
2007/08/02(木) 14:40:07他の関数言語スレも過疎ってるし、単独スレはきついだろうな。
0009デフォルトの名無しさん
2007/08/02(木) 14:46:430010デフォルトの名無しさん
2007/08/02(木) 14:48:04\ __ /
_ (m) _ピコーン
|ミ|
/ .`´ \
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(・∀・∩< C丼以外の#言語を語れ
(つ 丿 \_________
⊂_ ノ
(_)
0011デフォルトの名無しさん
2007/08/02(木) 14:48:10G# H# I# ってどんな言語?
0012デフォルトの名無しさん
2007/08/02(木) 14:50:41目立言語
0013デフォルトの名無しさん
2007/08/02(木) 14:59:59そのうちMSはA#からZ#まで26種類の駄言語を作りかねんな
0014デフォルトの名無しさん
2007/08/02(木) 15:01:470015デフォルトの名無しさん
2007/08/02(木) 15:03:32ところでやっぱりドトネト専用言語?
0016デフォルトの名無しさん
2007/08/02(木) 15:05:10昔、そういう1文字言語のリストをどっかで見た覚えが・・・
0017デフォルトの名無しさん
2007/08/02(木) 15:26:190018デフォルトの名無しさん
2007/08/02(木) 15:39:42誰か三行で説明してくれ
0019デフォルトの名無しさん
2007/08/02(木) 15:40:34http://pc8.2ch.net/test/read.cgi/tech/1054523453/
0020デフォルトの名無しさん
2007/08/02(木) 16:02:160021デフォルトの名無しさん
2007/08/02(木) 16:15:05ttp://pc11.2ch.net/test/read.cgi/tech/1111656698/l50
0022名無しさん♯
2007/08/02(木) 18:16:21#light
type State<'s, 'a> = ST of ('s -> ('a * 's))
with
static member Run (ST x) = x
static member Get () = ST <| fun s -> (s, s)
static member Put s = ST <| fun _ -> ((), s)
static member Eval x = State.Run x >> fst
static member Exec x = State.Run x >> snd
type StateBuilder () =
member b.Return a = ST <| fun s -> (a, s)
member b.Bind (ST x, f) = ST <| fun s -> let (a, s') = x s in State.Run (f a) s'
member b.Let (x, f) = f x
let state = StateBuilder ()
let _ =
state
{ let x = 100
let! s = State.Get ()
do! State.Put (x + s)
return () }
|> State.Exec <| 1000
|> (print_any >> print_newline)
(実行結果)
1100
0023デフォルトの名無しさん
2007/08/02(木) 22:52:49これどうやればいいのかわからない。誰かヒント下さい。
リフレクションつーことは
http://research.microsoft.com/fsharp/manual/fslib/Microsoft.FSharp.Reflection.html
これを使うんだろうけど・・・正直さっぱりわからん。
ていうか、俺能力無さ杉。
>>22
おお!!使う機会あったら使わせてもらいます。
0024デフォルトの名無しさん
2007/08/02(木) 23:05:420025デフォルトの名無しさん
2007/08/02(木) 23:21:28うーん。そういうのあんましよくわからないんだわ。
でもがんばってみる。ありがとう!
0026デフォルトの名無しさん
2007/08/03(金) 01:03:23_main()が帰ってくる。
bar(), baz()っていう関数名を返すにはどうすればいいんでしょうか。
#light
open System.Diagnostics
let foo() =
let stck = new StackTrace()
let frme = stck.GetFrame 1
let mthd = frme.GetMethod()
mthd.Name
let bar() = foo()
let baz() = foo()
0027デフォルトの名無しさん
2007/08/03(金) 01:13:530028デフォルトの名無しさん
2007/08/03(金) 02:11:10インデックスってどのインデックス?(GetMethod ?のところ?)
というか、やっぱりStackTraceよくわからない。
0029デフォルトの名無しさん
2007/08/04(土) 16:16:580030デフォルトの名無しさん
2007/08/05(日) 04:22:220031デフォルトの名無しさん
2007/08/05(日) 05:20:290032デフォルトの名無しさん
2007/08/05(日) 11:30:390033デフォルトの名無しさん
2007/08/05(日) 19:12:51>>30
違います。弄って見れば分るけどFortranとは別物
0034デフォルトの名無しさん
2007/08/05(日) 19:39:100035デフォルトの名無しさん
2007/08/05(日) 21:48:010036名無しさん♯
2007/08/06(月) 08:16:02#light
open Seq
type SeqBuilder () =
member b.Return a = singleton a
member b.Bind (m, k) = map_concat k m
member b.Let (x, f) = f x
let seq = SeqBuilder ()
let guard = function
| true -> singleton ()
| _ -> empty
let _ =
seq { let! x = {1..10} (* from *)
do! guard (x > 5) (* where *)
return (x * x) } (* select *)
|> iter (string_of_int >> print_endline)
(実行結果)
36
49
64
81
100
0037デフォルトの名無しさん
2007/08/06(月) 10:02:31完全に記法の問題だけど、seqの後の{ }がやっぱキモい
0038デフォルトの名無しさん
2007/08/06(月) 10:16:250039デフォルトの名無しさん
2007/08/06(月) 14:15:140040デフォルトの名無しさん
2007/08/06(月) 14:30:57でかいアプリ作ったときの安定性がどうだか気になるけれど、使いこなせばC#よりはるかにGenericプログラミングできて生産性があがりそう。
VSでの使いかってもまぁまぁだし。
0041デフォルトの名無しさん
2007/08/06(月) 14:37:2340の意見って何てアストロターフィング?
0042デフォルトの名無しさん
2007/08/06(月) 14:51:560043デフォルトの名無しさん
2007/08/06(月) 17:11:390044デフォルトの名無しさん
2007/08/06(月) 19:04:220045デフォルトの名無しさん
2007/08/06(月) 19:25:23ttp://haskell.g.hatena.ne.jp/nobsun/20060907/monadicIO
ttp://haskell.g.hatena.ne.jp/nobsun/20060908/monadicIO
実は>>22のState Monadほとんどそのままだったりする。
0046デフォルトの名無しさん
2007/08/06(月) 19:55:21実装じゃなくて「入出力する」ということはどういう感じにしたら
モナドになるんだ?って話。
>>実は>>22のState Monadほとんどそのままだったりする。
実は別にState Monad使わなくても作れたりするらしい。
もともと抽象的な実装方法というものがあってそれを満たすものがあれば
なんでもいい。(一番自然なのはStateMonad使う方法になるんだろうけど)
0047デフォルトの名無しさん
2007/08/06(月) 19:58:31つまりその実装で一体何を作ったのか?ってこと
(副作用出ないが云々は抜きで)
0048デフォルトの名無しさん
2007/08/07(火) 16:12:03買ってみようかどうか迷ってるのだが。
0049デフォルトの名無しさん
2007/08/09(木) 15:28:450050デフォルトの名無しさん
2007/08/09(木) 16:15:36ttp://oandrieu.nerim.net/ocaml/
ここにあるものってF#で使えますかね??特にGsl。
0051・∀・)っ-○◎●
2007/08/10(金) 02:03:120052デフォルトの名無しさん
2007/08/10(金) 08:36:230053デフォルトの名無しさん
2007/08/16(木) 08:27:500054デフォルトの名無しさん
2007/08/16(木) 11:06:150055デフォルトの名無しさん
2007/08/16(木) 14:00:580056デフォルトの名無しさん
2007/08/16(木) 21:35:200057デフォルトの名無しさん
2007/08/17(金) 12:07:050058デフォルトの名無しさん
2007/08/17(金) 21:33:53Scheme >>> OCaml > Haskell
ぐらいかと思っていたけど
実は
Scheme >>> Haskell >> Ocaml
なんじゃまいか
0059デフォルトの名無しさん
2007/08/17(金) 21:37:23OCaml >>>>>> F#
なのでOCamlユーザの絶対数が少ないのならF#使いの数は・・・。
0060デフォルトの名無しさん
2007/08/18(土) 01:51:410061デフォルトの名無しさん
2007/08/18(土) 15:02:24Schemeをネタに優越感に浸ってる香具師はよく見かけるが
そういう香具師が仕事で使ってるのはJavaだったりするし
小物ツールはRubyで書いてたりするのがほとんどな希ガス
0062デフォルトの名無しさん
2007/08/20(月) 09:12:36探しても無いからこれはMatlabあたりと連携させる必要があるのかなぁ。
0063デフォルトの名無しさん
2007/09/01(土) 13:43:370064デフォルトの名無しさん
2007/09/02(日) 14:01:500065デフォルトの名無しさん
2007/09/02(日) 17:35:21FLinqサンプルが、May 2006 CTPじゃなくて.NET 3.5 Beta2(以降)に対応しないかってこと?
まあ、FLinqはあくまで標準ライブラリじゃなくてサンプルだから、対応の優先度は低いと思う・・・。
0066デフォルトの名無しさん
2007/09/02(日) 17:46:24自己責任だとしても製品に使っていいものかどうか。
0067デフォルトの名無しさん
2007/09/03(月) 23:14:51LINQ自体(.NET 3.5)はまだベータで、RTMは年末頃だけどそういう話?
0068デフォルトの名無しさん
2007/09/04(火) 01:15:250069デフォルトの名無しさん
2007/09/04(火) 14:38:45それともHaskelとかと比べて注意しないといけないとこあり?
0070デフォルトの名無しさん
2007/09/28(金) 00:02:200071デフォルトの名無しさん
2007/10/05(金) 07:06:18酔狂で関数言語(関数型言語?)をいじってみようと思うんだけど、
ocaml と haskell とどちらがお勧め?
手続きがたべったりの俺には無理?
0072デフォルトの名無しさん
2007/10/05(金) 08:37:50007371
2007/10/05(金) 09:24:00Visual Haskell も入れてみたけど、とっつきにくかった。
http://www.haskell.org/visualhaskell/
そういやなんでも IL 上でつくられてね?
IronPython とか IronRuby とか。
0074デフォルトの名無しさん
2007/10/05(金) 09:30:500075デフォルトの名無しさん
2007/10/05(金) 09:32:03ttp://pc11.2ch.net/test/read.cgi/prog/1189919634/196
いまのオープンソースの流れから考えてもC#は数年後には今のJ#と同じ道を辿る。
利潤追求の激しい企業が本来ならば仲間にしなければならない開発者までも食い物に
していることも分からず、M$マンセーしている奴は頭を齧られ過ぎて考えることも出来ない
くらいに脳みそがなくなっているんだろ。可哀想だよ。
0076デフォルトの名無しさん
2007/10/05(金) 09:52:10はじめはOCamlで、慣れてきたらHaskellもやってみるのがよろしいかと。
OCamlだけだと遅延評価とか関数合成あたりが学びづらいし、
Haskellだけだと再帰とかモジュールシステムあたりが学びづらい。
0077デフォルトの名無しさん
2007/10/05(金) 10:01:19(^o^)ノ オワタ 三┌(^o^)┘オワタ /|
ノ( ヘヘ 三 ┘> 三 ┌(^o^)┘オワタ | ミ
(^o^)ノ オワタ 三 ┌(^o^)┘オワタ ┘>/ | ミ \( ^o^)/ オワタ
ノ( ヘヘ (^o^)ノ オワタ 三 ┘> ┌(^o^)┘オワタ / ミ |_/
ノ( ヘヘ 三 ┘> / / | ノ ノ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| / | ミ
| / | ヽ(^o^ )ノ オワター ミ \( ^o^)/ オワタ
_____________________|/ | \(\ノ ミ |_/
| | ミ ノ ノ
| | ミ \( ^o^)/ オワタ
______ ______ | | |_/
||// .|| ||// || │ | ノ ノ
||/ .|| ||/ || │ |
|| || ||._____________ ...|| │ | ミ
|| || ||| (^o^) | || │ | ミ\(^o^)/ オワタ
 ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ | | ┘|
0078デフォルトの名無しさん
2007/10/05(金) 10:02:50ttp://wiredvision.jp/news/200709/2007090520.html
0079デフォルトの名無しさん
2007/10/05(金) 10:31:330080デフォルトの名無しさん
2007/10/05(金) 10:57:46ttp://pc11.2ch.net/test/read.cgi/tech/1179314479/l50
008171
2007/10/05(金) 12:58:50C# はどうなるかわかんないけど、
C++/CLI の出来はいいと思うよ。
Managed C++ でいろいろと改良点が指摘されて
それが十分に生かされていると思う。
0082デフォルトの名無しさん
2007/10/05(金) 13:01:430083デフォルトの名無しさん
2007/10/05(金) 17:17:39System.Windows.Forms とか見えてる・・・
もしかして俺が C# で書いたフォームを
Haskell から呼び出したりできるのか??
0084デフォルトの名無しさん
2007/10/05(金) 17:18:14両方並行していじってると頭がおかしくなるみたい。
0085デフォルトの名無しさん
2007/10/05(金) 18:05:320086デフォルトの名無しさん
2007/10/05(金) 20:09:58OCamlよりも速いお
立ち上がってからの話だけど・・・
ちょっと言ってみたかっただけだお
0087デフォルトの名無しさん
2007/10/05(金) 20:52:17ttp://www.strangelights.com/blog/archive/2007/06/17/1588.aspx
0088デフォルトの名無しさん
2007/10/05(金) 23:21:11C#って速いか?
C#って速いか?
C#って速いか?
C#って速いか?
0089デフォルトの名無しさん
2007/10/05(金) 23:29:390090デフォルトの名無しさん
2007/10/06(土) 01:02:090091デフォルトの名無しさん
2007/10/06(土) 07:23:48速いと思うよ。 >>90 が言うように初回起動時に
JITコンパイラのようなものが働いているみたいで、
確かにデバッグ・実行繰り返しているときに
いらいらすることがある。デバッグコードだから
かもしれないけど。
あと、実際に多用するかどうかはともかくとして、
C#だとどうしても速く書けない部分があっても
DLLの呼び出しが簡単なので、Cやアセンブラで
書いたコードを呼び出せるし。Javaのネイティブ
メソッドよりも簡単に。
0092デフォルトの名無しさん
2007/10/06(土) 09:43:34interopでのDLLやCOMの呼び出しは確かに簡単だが、マーシャリングの
コストが高いので細切れにCの小さなコードを呼ぶような使い方はすべきでない。
そういうことがしたいなら、むしろC++/CLIを使うべきだろう。
0093デフォルトの名無しさん
2007/10/06(土) 11:46:01C#のP/InvokeとC++/CLIの暗黙のP/Invokeのマーシャリングにかかるコストは実は差がない。
違いはC++/CLIではデフォルトでSupressUnmanagedCodeSecurityAttributeが付加され、
C#は付かないということ。
C#のP/Invokeに[SupressUnmanagedCodeSecurity]をつけると途端に速くなるから試してみるといい。
0094デフォルトの名無しさん
2007/10/06(土) 17:26:280095デフォルトの名無しさん
2007/10/06(土) 17:43:08それってセキュリティ的にどうなの?
0096デフォルトの名無しさん
2007/10/06(土) 17:57:10この設定はセキュリティ関連のチェックを事前にできるように
するかどうかというだけの設定じゃなかったっけ?
ドトネトなプログラムは実行時にたとえば「ディスクへの書き込み
はしちゃだめだからね」なんていうセキュリティ上の制約を
つけて実行することができるようだけど、プログラムが全体として
その制約を満たしているかどうかを実行開始前にチェックできるように
するか、実行時に「おいおい、書いちゃダメだってば」って
例外を出すようにするかって違いじゃないの?
F#の話から外れて申し訳ないが。
0097デフォルトの名無しさん
2007/10/17(水) 01:14:32入れてみたよ〜。なんだか面白そうだ。
0098デフォルトの名無しさん
2007/10/18(木) 04:04:22ttp://blogs.msdn.com/dsyme/archive/2007/10/17/s-somasegar-on-taking-f-forward.aspx
うは、Luke HobanがF#チームに異動か。
まあOrcasでの仕事もほぼ終わったところだろうし、いいタイミングなのかも。
0100名無しさん♯
2007/10/18(木) 21:18:06これって、F#を製品化するって話なの?
表現が微妙でそう読み取れないんだけど、反響を見るとそういう扱いになってる・・・。(´・ω・`)
0101デフォルトの名無しさん
2007/10/19(金) 07:33:45Visual Studio で何でもありという感じだなぁ。
その一方で、 Visual Studio 2008 Beta 2 見ると
J# がなくなっている・・・
俺としては継続してほしかった。
さらにライセンス的に無理なんだろうけど
JDK 1.6 にも対応してほしかった。
いまは JDK 1.1.4 相当だから。
スレちがいでごめん。
■ このスレッドは過去ログ倉庫に格納されています