1 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:03:05 ] MSResearchから出てきた.NETで使える関数型言語のひとつF# OCAMLの流れを汲むこの言語、いろいろと面白そうなことができそう。 まだまだ英語の情報しかないこの言語について、幅広く語れ。 research.microsoft.com/fsharp/fsharp.aspx
2 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:06:09 ] J#の間違いじゃね?
3 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:08:03 ] F# のスレっていつの間にかに落ちてたのか 需要無いんかね
4 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:14:43 ] おおお!!ついにきた!
5 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:22:09 ] レスの数わずか9で終わったスレ: >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で組むところが多い
6 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:34:03 ] ここは6で終わりか
7 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:35:34 ] 7まではいく
8 名前:デフォルトの名無しさん [2007/08/02(木) 14:40:07 ] 昔あったF#スレは190レス位で落ちた。 他の関数言語スレも過疎ってるし、単独スレはきついだろうな。
9 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:46:43 ] せめて、F#〜J#について語れ、とセットにしてはどうだろう?
10 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:48:04 ] | \ __ / _ (m) _ピコーン |ミ| / .`´ \ ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (・∀・∩< C丼以外の#言語を語れ (つ 丿 \_________ ⊂_ ノ (_)
11 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:48:10 ] >>9 G# H# I# ってどんな言語?
12 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:50:41 ] > H# 目立言語
13 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:59:59 ] んー?こんな言語できてんだ。 そのうちMSはA#からZ#まで26種類の駄言語を作りかねんな
14 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 15:01:47 ] 工エエェェ(´д`)ェェエエ工工
15 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 15:03:32 ] 先にF++を作れよ。 ところでやっぱりドトネト専用言語?
16 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 15:05:10 ] >13 昔、そういう1文字言語のリストをどっかで見た覚えが・・・
17 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 15:26:19 ] OCamlって具体的にどういう分野が得意なの?なんかおもしろいネタある?
18 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 15:39:42 ] F#ってなんだ? 誰か三行で説明してくれ
19 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 15:40:34 ] 前スレ pc8.2ch.net/test/read.cgi/tech/1054523453/
20 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 16:02:16 ] メインフレーム用 JCL# とかどうよ?
21 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 16:15:05 ] F#で仕事ある? ttp://pc11.2ch.net/test/read.cgi/tech/1111656698/l50
22 名前:名無しさん♯ mailto:sage [2007/08/02(木) 18:16:21 ] 新スレ記念にState Monadを作ってみましたよ。( ゚д゚)ノ #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
23 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 22:52:49 ] ja.doukaku.org/28/ これどうやればいいのかわからない。誰かヒント下さい。 リフレクションつーことは research.microsoft.com/fsharp/manual/fslib/Microsoft.FSharp.Reflection.html これを使うんだろうけど・・・正直さっぱりわからん。 ていうか、俺能力無さ杉。 >>22 おお!!使う機会あったら使わせてもらいます。
24 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 23:05:42 ] コールスタック見れば楽勝でしょ
25 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 23:21:28 ] >>24 うーん。そういうのあんましよくわからないんだわ。 でもがんばってみる。ありがとう!
26 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 01:03:23 ] C#のをもろパクってこういうのやってみているんだけど常に _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()
27 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 01:13:53 ] スタックフレームの浅いのはインデックスの大きいところに入ってるでしょ
28 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 02:11:10 ] >>27 インデックスってどのインデックス?(GetMethod ?のところ?) というか、やっぱりStackTraceよくわからない。
29 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 16:16:58 ] F#ってmixinできんの?
30 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 04:22:22 ] F#のFってFortranのF?
31 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 05:20:29 ] function
32 名前:デフォルトの名無しさん [2007/08/05(日) 11:30:39 ] fuck you
33 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:12:51 ] fuck me >>30 違います。弄って見れば分るけどFortranとは別物
34 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:39:10 ] Formula
35 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 21:48:01 ] MS による壮大な fiction
36 名前:名無しさん♯ mailto:sage [2007/08/06(月) 08:16:02 ] 当たり前といったら当たり前だけど、guardがきちんと動いた。 #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
37 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 10:02:31 ] >>36 完全に記法の問題だけど、seqの後の{ }がやっぱキモい
38 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 10:16:25 ] このスレはのびない。
39 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 14:15:14 ] 夢にF#が出てきてびびった
40 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 14:30:57 ] F#チラッといじてるが、これかなりいいんじゃね? でかいアプリ作ったときの安定性がどうだか気になるけれど、使いこなせばC#よりはるかにGenericプログラミングできて生産性があがりそう。 VSでの使いかってもまぁまぁだし。
41 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 14:37:23 ] よく知らないんですが、 40の意見って何てアストロターフィング?
42 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 14:51:56 ] 関数型言語が理解できないのなら黙っとけ
43 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 17:11:39 ] .NETのgenericsって高階型が使えないのが痛い。
44 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 19:04:22 ] IOモナドどうやって作ろう?
45 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 19:25:23 ] >>44 ttp://haskell.g.hatena.ne.jp/nobsun/20060907/monadicIO ttp://haskell.g.hatena.ne.jp/nobsun/20060908/monadicIO 実は>>22 のState Monadほとんどそのままだったりする。
46 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 19:55:21 ] >>45 実装じゃなくて「入出力する」ということはどういう感じにしたら モナドになるんだ?って話。 >>実は>>22 のState Monadほとんどそのままだったりする。 実は別にState Monad使わなくても作れたりするらしい。 もともと抽象的な実装方法というものがあってそれを満たすものがあれば なんでもいい。(一番自然なのはStateMonad使う方法になるんだろうけど)
47 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 19:58:31 ] よく読んだら意味わかんないこと言ってるな。 つまりその実装で一体何を作ったのか?ってこと (副作用出ないが云々は抜きで)
48 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 16:12:03 ] Foundation of F#って良い感じ? 買ってみようかどうか迷ってるのだが。
49 名前:デフォルトの名無しさん [2007/08/09(木) 15:28:45 ] >>48 良いと思うよ
50 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 16:15:36 ] F#と本家Ocamlってやっぱ違う?? ttp://oandrieu.nerim.net/ocaml/ ここにあるものってF#で使えますかね??特にGsl。
51 名前:・∀・)っ-○◎● mailto:sage [2007/08/10(金) 02:03:12 ] 岡村
52 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 08:36:23 ] OCamler
53 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 08:27:50 ] 見事に過疎ったな。
54 名前:デフォルトの名無しさん [2007/08/16(木) 11:06:15 ] (´∀`∩)↑age↑
55 名前:デフォルトの名無しさん [2007/08/16(木) 14:00:58 ] ⊃・ ・〃 |age|
56 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 21:35:20 ] Windows を使っている層と OCaml を使っている層は相容れない感じがするからねえ…
57 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 12:07:05 ] F#perになろうとおもってるんだが、いまやってるC#の仕事が落ち着かん(´;ω;`)…
58 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 21:33:53 ] ていうか、OCamlって実はユーザ少ないのか? Scheme >>> OCaml > Haskell ぐらいかと思っていたけど 実は Scheme >>> Haskell >> Ocaml なんじゃまいか
59 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 21:37:23 ] もしそうなら現在においては OCaml >>>>>> F# なのでOCamlユーザの絶対数が少ないのならF#使いの数は・・・。
60 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 01:51:41 ] nagoyaでやれ
61 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 15:02:24 ] >>58 Schemeをネタに優越感に浸ってる香具師はよく見かけるが そういう香具師が仕事で使ってるのはJavaだったりするし 小物ツールはRubyで書いてたりするのがほとんどな希ガス
62 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 09:12:36 ] Matrix,LinearAlgebraライブラリに固有値計算の関数ってある? 探しても無いからこれはMatlabあたりと連携させる必要があるのかなぁ。
63 名前:デフォルトの名無しさん [2007/09/01(土) 13:43:37 ] あげ
64 名前:デフォルトの名無しさん [2007/09/02(日) 14:01:50 ] LINQをTECPreviewじゃない正式版として使えるのはいつごろでしょうか?
65 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 17:35:21 ] >>64 FLinqサンプルが、May 2006 CTPじゃなくて.NET 3.5 Beta2(以降)に対応しないかってこと? まあ、FLinqはあくまで標準ライブラリじゃなくてサンプルだから、対応の優先度は低いと思う・・・。
66 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 17:46:24 ] >>65 いや、ベータじゃないバージョンでリリースされてるのかということ。 自己責任だとしても製品に使っていいものかどうか。
67 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 23:14:51 ] >>66 LINQ自体(.NET 3.5)はまだベータで、RTMは年末頃だけどそういう話?
68 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 01:15:25 ] >>67 そういう話。さんくす。
69 名前:デフォルトの名無しさん [2007/09/04(火) 14:38:45 ] 全部lazyにしとけば遅延評価として正常に動作するもんどすか? それともHaskelとかと比べて注意しないといけないとこあり?
70 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 00:02:20 ] age
71 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 07:06:18 ] 普段 Visual C++ で業務アプリ書いている俺が 酔狂で関数言語(関数型言語?)をいじってみようと思うんだけど、 ocaml と haskell とどちらがお勧め? 手続きがたべったりの俺には無理?
72 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 08:37:50 ] だから、ドトネッツはクラスベースだって。
73 名前:71 mailto:sage [2007/10/05(金) 09:24:00 ] F# 入れてみた。おもしれぇ。 Visual Haskell も入れてみたけど、とっつきにくかった。 www.haskell.org/visualhaskell/ そういやなんでも IL 上でつくられてね? IronPython とか IronRuby とか。
74 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 09:30:50 ] J#は?
75 名前:デフォルトの名無しさん [2007/10/05(金) 09:32:03 ] JAVAとC#どちらが優れているか教えてください Part2 ttp://pc11.2ch.net/test/read.cgi/prog/1189919634/196 いまのオープンソースの流れから考えてもC#は数年後には今のJ#と同じ道を辿る。 利潤追求の激しい企業が本来ならば仲間にしなければならない開発者までも食い物に していることも分からず、M$マンセーしている奴は頭を齧られ過ぎて考えることも出来ない くらいに脳みそがなくなっているんだろ。可哀想だよ。
76 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 09:52:10 ] >>71 はじめはOCamlで、慣れてきたらHaskellもやってみるのがよろしいかと。 OCamlだけだと遅延評価とか関数合成あたりが学びづらいし、 Haskellだけだと再帰とかモジュールシステムあたりが学びづらい。
77 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 10:01:19 ] ____________________________ (^o^)ノ オワタ 三┌(^o^)┘オワタ /| ノ( ヘヘ 三 ┘> 三 ┌(^o^)┘オワタ | ミ (^o^)ノ オワタ 三 ┌(^o^)┘オワタ ┘>/ | ミ \( ^o^)/ オワタ ノ( ヘヘ (^o^)ノ オワタ 三 ┘> ┌(^o^)┘オワタ / ミ |_/ ノ( ヘヘ 三 ┘> / / | ノ ノ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| / | ミ | / | ヽ(^o^ )ノ オワター ミ \( ^o^)/ オワタ _____________________|/ | \(\ノ ミ |_/ | | ミ ノ ノ | | ミ \( ^o^)/ オワタ ______ ______ | | |_/ ||// .|| ||// || │ | ノ ノ ||/ .|| ||/ || │ | || || ||._____________ ...|| │ | ミ || || ||| (^o^) | || │ | ミ\(^o^)/ オワタ  ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ | | ┘|
78 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 10:02:50 ] Adobe『AIR』は、「MSによるオフィスアプリ支配」を崩すか ttp://wiredvision.jp/news/200709/2007090520.html
79 名前:デフォルトの名無しさん [2007/10/05(金) 10:31:33 ] ttp://journal.mycom.co.jp/articles/2007/10/01/moesuku/menu.html
80 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 10:57:46 ] J#って何のためにあるの? ttp://pc11.2ch.net/test/read.cgi/tech/1179314479/l50
81 名前:71 mailto:sage [2007/10/05(金) 12:58:50 ] >>75 C# はどうなるかわかんないけど、 C++/CLI の出来はいいと思うよ。 Managed C++ でいろいろと改良点が指摘されて それが十分に生かされていると思う。
82 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 13:01:43 ] 基地外にマジレス不要
83 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 17:17:39 ] うほ。 System.Windows.Forms とか見えてる・・・ もしかして俺が C# で書いたフォームを Haskell から呼び出したりできるのか??
84 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 17:18:14 ] Haskell じゃなかった、 F# だた。 両方並行していじってると頭がおかしくなるみたい。
85 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 18:05:32 ] 出来るお(´・ω・`)
86 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 20:09:58 ] F#速いお OCamlよりも速いお 立ち上がってからの話だけど・・・ ちょっと言ってみたかっただけだお
87 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 20:52:17 ] Python並みにコードが短く、C#のように実行が速い ttp://www.strangelights.com/blog/archive/2007/06/17/1588.aspx
88 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 23:21:11 ] C#って速いか? C#って速いか? C#って速いか? C#って速いか? C#って速いか?
89 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 23:29:39 ] 遅いのはGDI+
90 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 01:02:09 ] 初回起動時のコンパイルもかな
91 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 07:23:48 ] >>88 速いと思うよ。 >>90 が言うように初回起動時に JITコンパイラのようなものが働いているみたいで、 確かにデバッグ・実行繰り返しているときに いらいらすることがある。デバッグコードだから かもしれないけど。 あと、実際に多用するかどうかはともかくとして、 C#だとどうしても速く書けない部分があっても DLLの呼び出しが簡単なので、Cやアセンブラで 書いたコードを呼び出せるし。Javaのネイティブ メソッドよりも簡単に。
92 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 09:43:34 ] >>91 interopでのDLLやCOMの呼び出しは確かに簡単だが、マーシャリングの コストが高いので細切れにCの小さなコードを呼ぶような使い方はすべきでない。 そういうことがしたいなら、むしろC++/CLIを使うべきだろう。
93 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 11:46:01 ] >>92 C#のP/InvokeとC++/CLIの暗黙のP/Invokeのマーシャリングにかかるコストは実は差がない。 違いはC++/CLIではデフォルトでSupressUnmanagedCodeSecurityAttributeが付加され、 C#は付かないということ。 C#のP/Invokeに[SupressUnmanagedCodeSecurity]をつけると途端に速くなるから試してみるといい。
94 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 17:26:28 ] UTF-8 で書いておけば日本語もおkなんだね。
95 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 17:43:08 ] >>93 それってセキュリティ的にどうなの?
96 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 17:57:10 ] >>95 セキュリティって文字列に反応しているようだけど、 この設定はセキュリティ関連のチェックを事前にできるように するかどうかというだけの設定じゃなかったっけ? ドトネトなプログラムは実行時にたとえば「ディスクへの書き込み はしちゃだめだからね」なんていうセキュリティ上の制約を つけて実行することができるようだけど、プログラムが全体として その制約を満たしているかどうかを実行開始前にチェックできるように するか、実行時に「おいおい、書いちゃダメだってば」って 例外を出すようにするかって違いじゃないの? F#の話から外れて申し訳ないが。
97 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 01:14:32 ] ほっしゅほっしゅ 入れてみたよ〜。なんだか面白そうだ。
98 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 04:04:22 ] >>97 ttp://blogs.msdn.com/dsyme/archive/2007/10/17/s-somasegar-on-taking-f-forward.aspx うは、Luke HobanがF#チームに異動か。 まあOrcasでの仕事もほぼ終わったところだろうし、いいタイミングなのかも。
99 名前:98 mailto:sage [2007/10/18(木) 04:05:26 ] ごめん、>>97 は関係ない。
100 名前:名無しさん♯ mailto:sage [2007/10/18(木) 21:18:06 ] ttp://blogs.msdn.com/somasegar/archive/2007/10/17/f-a-functional-programming-language.aspx これって、F#を製品化するって話なの? 表現が微妙でそう読み取れないんだけど、反響を見るとそういう扱いになってる・・・。(´・ω・`)
101 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 07:33:45 ] Iron ほげほげといい、F# といい、 Visual Studio で何でもありという感じだなぁ。 その一方で、 Visual Studio 2008 Beta 2 見ると J# がなくなっている・・・ 俺としては継続してほしかった。 さらにライセンス的に無理なんだろうけど JDK 1.6 にも対応してほしかった。 いまは JDK 1.1.4 相当だから。 スレちがいでごめん。