1 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:03:05 ] MSResearchから出てきた.NETで使える関数型言語のひとつF# OCAMLの流れを汲むこの言語、いろいろと面白そうなことができそう。 まだまだ英語の情報しかないこの言語について、幅広く語れ。 research.microsoft.com/fsharp/fsharp.aspx
231 名前:名無しさん♯ mailto:sage [2008/01/06(日) 21:44:12 ] fsi --quiet --exec hoge.fs hoge.fsを実行してそのまま終了。 今までこのオプションを知らんかった・・・。orz そうなると、DLRの使い道が一気に減ってしまうがな。(´・ω・`)
232 名前:デフォルトの名無しさん [2008/01/19(土) 17:56:27 ] F# 1.9.3.14あげ
233 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 08:32:45 ] ttp://www.iunknown.com/2008/02/langnet-wrap-up.html IronRubyの中の人による、Lang.NETのまとめ へじたんのお言葉 I think that the taxonomies of programming languages are breaking down. I think that languages are fast becoming amalgam. ... I think that in 10 years, there won't be any way to categorize languages as dynamic, static, procedural, object, and so on. だそうで。 F#の学習はいい先行投資かもしれないねぇ。まぁ楽しいからやってるんですし、皆さんそうなんでしょうけど。
234 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 00:18:28 ] どうせ次のC#までまた2年ぐらいあるんだろうしなぁ・・・ F#製品に使うことにするノシ
235 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:13:36 ] OCamlとか知らんでいきなり#lightでやるの危険だな letに宣言と式があるなんて知らんかったし、do,doneとかもかなり混乱する Web上だとそういう初歩の情報ないし。 OCaml入門は読むべしだ。互換性とか適当だけど。 Expert F#は割とわかりやすかった
236 名前:デフォルトの名無しさん mailto:age [2008/02/08(金) 00:45:43 ] ひゃー
237 名前:デフォルトの名無しさん [2008/02/08(金) 00:49:55 ] F#の日本語本うp
238 名前:名無しさん♯ mailto:sage [2008/02/24(日) 01:19:50 ] F#でMapReduceもどきを作ってみますた。(「もどき」なのは、sequentialにしか動かないから。w) C# LINQに比べると、やっぱり圧倒的に記述しやすいわ。 #light open System open Seq let ap_snd f (a, b) = (a, f b) // MapReduce let map_reduce m r = map_concat m >> groupBy fst >> orderBy fst >> map (ap_snd (map snd) >> r)
239 名前:名無しさん♯ mailto:sage [2008/02/24(日) 01:20:36 ] // word count demo let mapper (_, v : string) = v.Split [| ' '; ','; '.'; '!' |] |> filter (not << String.IsNullOrEmpty) |> map (fun s -> (s.ToLower(), 1)) let reducer = ap_snd (fold1 (+)) let data = [ "This is a pen."; "Hello, World!"; "All your base are belong to us."; "My name is nanashi." ] let _ = mapi (fun i s -> (i, s)) data |> map_reduce mapper reducer |> iter (fun (k, v) -> Console.WriteLine("{0}\t{1}", k, v))
240 名前:名無しさん♯ mailto:sage [2008/02/24(日) 12:44:20 ] C#版も置いておきまつ。クエリーの部分だけはきれいなんですが・・・。(´・ω・`) using System; using System.Collections.Generic; using System.Linq; // MapReduce public interface IMapper<K1, V1, K2, V2> { IEnumerable<KeyValuePair<K2, V2>> Map(KeyValuePair<K1, V1> p); } public interface IReducer<K2, V2, K3, V3> { KeyValuePair<K3, V3> Reduce(KeyValuePair<K2, IEnumerable<V2>> p); } public class MapReduceJob<K1, V1, K2, V2, K3, V3> { Func<KeyValuePair<K1, V1>, IEnumerable<KeyValuePair<K2, V2>>> mapper; Func<KeyValuePair<K2, IEnumerable<V2>>, KeyValuePair<K3, V3>> reducer; public MapReduceJob(IMapper<K1, V1, K2, V2> mapper, IReducer<K2, V2, K3, V3> reducer) { this.mapper = mapper.Map; this.reducer = reducer.Reduce; }
241 名前:名無しさん♯ mailto:sage [2008/02/24(日) 12:55:01 ] あれ?数分間書き込めなかった・・・。(´・ω・`) public IEnumerable<KeyValuePair<K3, V3>> Execute(IEnumerable<KeyValuePair<K1, V1>> data) { return from d in data from p in mapper(d) group p.Value by p.Key into g orderby g.Key select reducer(new KeyValuePair<K2, IEnumerable<V2>>(g.Key, g)); } } // word count class WCMapper : IMapper<int, string, string, int> { public IEnumerable<KeyValuePair<string, int>> Map(KeyValuePair<int, string> p) { return from s in p.Value.Split(' ', ',', '.', '!') where !String.IsNullOrEmpty(s) select new KeyValuePair<string, int>(s.ToLower(), 1); } } class WCReducer : IReducer<string, int, string, int> { public KeyValuePair<string, int> Reduce(KeyValuePair<string, IEnumerable<int>> p) { return new KeyValuePair<string, int>(p.Key, p.Value.Sum()); } }
242 名前:名無しさん♯ mailto:sage [2008/02/24(日) 12:55:35 ] static class Test { static string[] data = { "This is a pen.", "Hello, World!", "All your base are belong to us.", "My name is nanashi." }; static void Main() { var d = data.Select((s, i) => new KeyValuePair<int, string>(i, s)); var job = new MapReduceJob<int, string, string, int, string, int>(new WCMapper(), new WCReducer()); foreach (var p in job.Execute(d)) { Console.WriteLine("{0}\t{1}", p.Key, p.Value); } } }
243 名前:名無しさん♯ mailto:sage [2008/02/24(日) 13:37:52 ] Map/Reduce = Select/Aggregate だと今まで勘違いしてたけど、 Map -> SelectじゃなくてSelectMany(generator的な操作) Reduce -> 確かにAggregateの操作だけど、厳密にはSelectの中で(selectorとして)実行されるAggregate だったのね。実際に書いてみないとなかなか気づけんわ。(´・ω・`)
244 名前:名無しさん♯ mailto:sage [2008/02/24(日) 13:48:26 ] ついでにネタ振り。 末尾再帰のスタイルはどちらがお好み? #light // val sum : int list -> int let sum1 l = let rec sum' l v = match l with | [] -> v | h::t -> sum' t (v + h) sum' l 0 let sum2 = let rec sum' v = function | [] -> v | h::t -> sum' (v + h) t sum' 0 要は、sum' の引数の順番の問題なのですが・・・。
245 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 14:32:14 ] 僕は末尾再帰用の追加の引数は最後に置くなぁ もともと引数は「入力、出力」の順で書いてたので。 末尾再帰は局所定義にすることがほとんどで 部分適用をしないから、それでもいいかなと。
246 名前:名無しさん♯ mailto:sage [2008/02/24(日) 16:11:10 ] おお、即日レスがつくとは・・・。(つД`) >>245 > もともと引数は「入力、出力」の順で書いてたので。 確かにそうですね・・・。 sum2の方は一見ムダがないですけど、意味的にはちょっと無理やりなのかもしれませんね・・・。(´・ω・`)
247 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 19:26:50 ] F#がNTPに対応すれば問題なし。
248 名前:名無しさん♯ mailto:sage [2008/02/25(月) 14:49:13 ] Haskellにも移植してみますた。 import Data.Char import Data.List hiding (groupBy) -- MapReduce mapReduce :: (Ord k) => (a -> [(k, v)]) -> ((k, [v]) -> b) -> [a] -> [b] mapReduce m r = map r . orderBy fst . groupBy fst snd . concatMap m -- word count mapper :: (Int, String) -> [(String, Int)] mapper (_, v) = map (\s -> (map toLower s, 1)) . filter (not . null) $ split " ,.!?" v reducer :: (String, [Int]) -> (String, Int) reducer (k, v) = (k, sum v) -- test data_ = [ "What is this?", "This is a pen.", "Hello, World!", "All your base are belong to us" ] main = mapM_ p $ mapReduce mapper reducer $ zip (iterate (+1) 0) data_ where p (k, v) = putStrLn $ show k ++ "\t" ++ show v
249 名前:名無しさん♯ mailto:sage [2008/02/25(月) 14:50:11 ] -- utils orderBy :: (Ord k) => (a -> k) -> [a] -> [a] orderBy fk = sortBy (\x y -> fk x `compare` fk y) groupBy :: (Eq k) => (a -> k) -> (a -> v) -> [a] -> [(k, [v])] groupBy _ _ [] = [] groupBy fk fv l = let key = fk $ head l in let (g, rest) = partition (\x -> fk x == key) l in (key, map fv g) : groupBy fk fv rest split :: [Char] -> String -> [String] split sep s = case break (\c -> any (==c) sep) s of (v, []) -> [v] (v, h:t) -> v : split sep t
250 名前:名無しさん♯ mailto:sage [2008/02/25(月) 14:52:45 ] こうやって見ると、F#は.NETの資産を使える分、すごく楽だなあ・・・。(´・ω・`)
251 名前:名無しさん♯ mailto:sage [2008/02/25(月) 20:37:46 ] こだわる人はこだわる修正でつ。(´・ω・`) mapper :: (Int, String) -> [(String, Int)] mapper = map (\s -> (map toLower s, 1)) . filter (not . null) . split " ,.!?" . snd
252 名前:デフォルトの名無しさん mailto:age [2008/02/26(火) 20:27:17 ] やはは
253 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 07:36:31 ] >>247 NTP対応って何よ? これか >米国国家毒性プログラム(べいこくこっかどくせいプログラム、英: National Toxicology Program 、略称: NTP ) とはアメリカ保健社会福祉省が実施している化学物質の毒性研究をまとめ、発がん性物質の分類、試験を行う計画である。
254 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 08:01:10 ] 面白いと思って書き込んでるのがすごいよな
255 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 12:12:17 ] named template(?) parameter
256 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 14:34:54 ] むしろ名古屋トヨペット
257 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 09:58:07 ] 時間同期のプロトコルにきまっとるだろう
258 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 09:33:17 ] 自分のプログラムの中にF#のインタープリタを組み込みたいんですが可能ですか? 今のプログラムはC#で書いていて、その挙動の一部をカスタマイズできるように したいのですが、せっかく覚え始めたF#で書ければいいなぁと思っています。
259 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 18:53:39 ] キーワードはCodeDOM。 あとは自分で調べろ>>258
260 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 15:38:29 ] Visual Studio持ってないとF#って使えないの? 一応インストールはできたんだけど、コマンド打ってくだけ。
261 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 17:43:18 ] VSShellがあれば使える。 あと、SharpDevelop 3.0で使えるようになる予定。Beta1で載った。
262 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 18:12:16 ] VSShellをDLしようと思って、Visual Studio 2008 SDK 1.0をDLしたんだけど Visual Studioがインストールされてないとだめみたいだ。VSShell単体って どこにあるの?てか、あるの?
263 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 18:13:53 ] あったわ。
264 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 19:12:55 ] ハローワールドできたわ。 で、いい本ないの?
265 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 19:15:17 ] www.amazon.com/Foundations-F-Experts-Voice-Net/dp/1590597575/ref=pd_bbs_sr_2?ie=UTF8&s=books&qid=1206698720&sr=1-2 Foundations of F# ネイティブが分かりにくいと酷評してるんだが、読んだ人どう?
266 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 19:40:56 ] 全部読んでないが、Expert F#のほうが分かりやすい。 内容も別にExpert向けというわけでもないし。高度な話題も載ってるが。
267 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 19:56:18 ] >>266 そうなんだ。 星の数のとおりか。 でも高いな。。
268 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 10:36:13 ] すみません、WinAPI呼び出しわかる方いますか?やりたいこと→PeekMessage呼び出し [<DllImport("user32.dll", EntryPoint="PeekMessage" ,SetLastError=true,CallingConvention=CallingConvention.StdCall)>] let PeekMessage( (lpMsg : ref MSG),(hwnd : Int32),(wMsgFilterMin : Int32),(wMsgFilterMax : Int32),(wRemoveMsg : PeekMsgOption)):bool = failwith "extern";; エラーメッセージ The type 'MSG' is not defined. The type 'PeekMsgOption' is not defined. MSG構造体については 自分の環境(Win2k,VS2005,.Net framework 2.0.50727.42)ではwindowsbase.dllがないようなので これはXPかVistaを使えってことでしょうかね,.. msdn2.microsoft.com/ja-jp/library/system.windows.interop.msg.aspx また、PeekMsgOptionはオンラインのMSDNではほとんど情報がないようです そもそも、VS2005のF#プロジェクトでは「参照の追加」はできないのでしょうか?
269 名前:268 mailto:sage [2008/04/21(月) 00:39:32 ] ↓XPと.net framework3.0入れたらコンパイル通ったので、何かの参考までに。 open System.Runtime.InteropServices;; open System.Windows.Interop;; [<System.Flags>] type PeekMsgOption = | PM_NOREMOVE = 0 | PM_REMOVE = 1;; [<DllImport("user32.dll", EntryPoint="PeekMessage" ,SetLastError=true,CallingConvention=CallingConvention.StdCall)>] let PeekMessage( (lpMsg : (ref <System.Windows.Interop.MSG>)),(hwnd : Int32),(wMsgFilterMin : Int32),(wMsgFilterMax : Int32),(wRemoveMsg : PeekMsgOption)):bool = failwith "extern";;
270 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 18:42:16 ] そりゃそうだ。 System.Windows以下(Forms除く)は.NET Framework 3.0からのWPF。 そこのURLの先にもはっきりとこうかいてあるはずだ。 バージョン情報 .NET Framework サポート対象 : 3.5、3.0 SP1、3.0 System.Windows.Forms.Messageなら2.0でも使える。 PeekMsgOptionについてさっぱり見つからないのは、 単にその2つの定数を宣言するためだけに即興で作ったからではないか? もともとはただの符号無整数型だし。 msdn2.microsoft.com/en-us/library/ms644943 (VS.85).aspx
271 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 01:51:43 ] MSGとかの構造体を自力で実装しなくていいってことか? まじ.netとかそうなってるの? そもそも実行できたのかあやしいんだが
272 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 19:14:11 ] さらに追記 (lpMsg : (ref <System.Windows.Interop.MSG>)の箇所は (lpMsg :System.Windows.Interop.MSG)にしないと実行時にマーシャリング系のエラーが出る。 しかしどちらにせよ、デバッグモードで動かすと構造体のサイズ違うっていわれるから 自分でMSG構造体定義した。 ..けれど結局、やりたかったことは、Win32API使わなくてもできたよotz
273 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 08:32:37 ] 1.9.4.15 リリース
274 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:26:43 ] >>171 OCaml, Haskell, Lispなどの関数型言語はラムダ計算という理論が骨組みにあって、 特別な構文を使わずに、柔軟なプログラミングをすることができる。 関数を抽象化するためのdelegateや、多相型を表現するためのgenericsなども、 特別な構文無しにプログラムできる。 しかも、キャストや、nullを使う言語よりも、実行時の安全性が高い。 関数型言語を知っている学生は、プログラミングの質に対する意識が非常に高いのが多い。 OCamlができる優秀な学生を雇って、F#のプロジェクトをやれば、いいんじゃね。
275 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 17:14:41 ] FizzBuzz 2.0 ですね。わかります。
276 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 17:35:07 ] >>274 学生 プッ
277 名前:デフォルトの名無しさん [2008/05/05(月) 01:32:22 ] こんにちは。 F#の開発環境って何があるんでしょうか? ・VS.NET拡張 ・エディタとコンパイラ 以外にはありませんか?
278 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 07:15:19 ] つ インタプリタ(fsi.exe)
279 名前:デフォルトの名無しさん [2008/05/05(月) 07:43:21 ] Expert F#のPDFを買ったお Expertというわりにぜんぜん入門から対応しているから、いいね。 しかし、600ページ以上あって読み応えありすぎだw
280 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 07:44:25 ] >>278 good! 補間や履歴も聞いていいですな。 しかしC-Aで行頭、C-Eで行末移動がほしかったな
281 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 08:06:22 ] ebook版ってあったのか。英語はわかりやすくてよいよね ただ、分厚いから俺は辞書的に使ってる >>280 つ fsi用のEmacsモード作ろうぜってスレッド。俺は試したことないけども参考までに ttp://cs.hubfs.net/forums/thread/4004.aspx
282 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 14:23:56 ] >>277 ttp://www.infoq.com/jp/news/2008/03/sharpdev-3-beta
283 名前:デフォルトの名無しさん [2008/05/11(日) 03:09:37 ] F#のライセンスについて、市販製品に使うときの注意事項を3行でplz
284 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 09:07:12 ] 知 ら ん
285 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:42:58 ] fslexってまだ日本語対応してないのな・・ ttp://www.strangelights.com/fsharp/wiki/default.aspx/FSharpWiki/fslex.html { open Microsoft.FSharp.Text.Printf;; } rule strtest = parse | _ { printf "%c" (Lexing.lexeme_char lexbuf 0); strtest lexbuf } | eof { raise End_of_file } { //こっから実行コード let test s = strtest (Lexing.from_string s);; try test "aiueo" with _ -> printf "\n--end--\n";; try test "あいうえお" with _ -> printf "\n--end--\n";; printf "あいうえお";; } 実行結果 aiueo --end-- ????? --end-- あいうえお
286 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 07:30:42 ] ふとおもったんだがLispの.NETなやつってある?
287 名前:デフォルトの名無しさん [2008/05/17(土) 09:49:01 ] >>286 List of CLI Languages - Wikipedia, the free encyclopedia en.wikipedia.org/wiki/List_of_CLI_Languages IronLisp, L#, DotLisp NemerleもLispを参考にしてるらしいな
288 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 10:33:20 ] 英語のwikiは凄いな P#とかA#とかあるw
289 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 11:03:43 ] これみてP#やってみたくなったw
290 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 11:54:21 ] ううむ,原理的には JVM でもいろいろできるんだろうけど, MSIL (っていうのか?)上での方がバリエーションが多いなぁ. これって一応MS的にはドッキリ大成功みたいな感じなのかね?
291 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 13:37:21 ] >>290 MSは.NET 1.0のSDKにLISPのコンパイラを付けてたくらいだから 最初から狙って取りに行ってたんだと思うよ。
292 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 20:56:32 ] MSはCOMでも多言語に凝っていたな。
293 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 22:29:12 ] >>245 そもそもこの例ではfold_leftを使って、 let sum = fold_left (+) 0 のようにできるのでは。(やぼですかそうですか) 末尾再帰のスタイルとしてはsum2の方がよい気がします。 >もともと引数は「入力、出力」の順で書いてたので。 関数型言語では、部分適用などができるから、この考え方はやめた方が。
294 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 02:19:35 ] 列挙型の扱いってよくわからないんですが誰か助けてください 今Visioのオートメーションのプログラム作ってて、以下の定数と msdn.microsoft.com/ja-jp/library/cc376719.aspx 以下のオブジェクトのTypeの値を比較する文が書きたいが msdn.microsoft.com/ja-jp/library/cc377211.aspx 型があわないと文句言われます 今の俺の認識 deprecated1:Idiomを使う deprecated2:Enum.combineを使う 今後:|||や&&&などのBitwise andやorを使う。最新版にコンパイラ変えたら、これつかえと警告でた 以下思いつく限り試してみたもの。全滅 if (obj.Type = Visio.VisShapeTypes.visTypeGuide) then ... if ((obj.Type &&& Visio.VisShapeTypes.visTypeGuide) <> 0) then ... if (obj.Type = (Visio.VisShapeTypes.visTypeGuide : int16)) then ... if (obj.Type = (Visio.VisShapeTypes.visTypeGuide :> int16)) then ... if (obj.Type = (Visio.VisShapeTypes.visTypeGuide :?> int16)) then ... if ((obj.Type:>int) = (Visio.VisShapeTypes.visTypeGuide :> int)) then ... msg (Microsoft.FSharp.Compatibility.OCaml.Obj.magic (s.Type.ToString())); (* これは数値5 *) msg (Microsoft.FSharp.Compatibility.OCaml.Obj.magic (Visio.VisShapeTypes.visTypeGuide.ToString())); (* これは文字列が出る *) (obj.magic ごにゃごにゃ).ToString()はエラーになります
295 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 08:25:16 ] OCamler な俺には 294 ってキモすぎてしょうがないんだが。 F# プログラムってこうなの?
296 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 09:33:50 ] パターンマッチングつかえってことかい?
297 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 10:31:35 ] いや、Obj.magic とか、キモい
298 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 13:13:10 ] 名前空間深すぎて読み辛すぎるな
299 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 01:17:34 ] Ocamlerってなんて読むの?おかむらー?
300 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 08:25:13 ] MinCamler? SML#ist?
301 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 10:44:49 ] >>299 オブジェクティブラクダ
302 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 14:26:15 ] OCaml 使いは 岡村 なのか・・・
303 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 17:59:55 ] だからOでオブジェクティブなんだよw Camlはフランス語でラクダ(キャメル)の意。 オブジェクティブキャメラー。
304 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 20:17:58 ] ラクダー
305 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 05:50:15 ] >Camlはフランス語でラクダ(キャメル)の意。 大嘘こいてんじゃねーよ
306 名前:デフォルトの名無しさん [2008/06/16(月) 08:30:41 ] C: Categorical A: Abstract M: Machine L: Language
307 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 14:44:39 ] >>305 低脳w
308 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:21:27 ] camlなんてフランス語ないよね 仮に camelのつもりだとしてもない
309 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:41:05 ] >>308 camlはフランス語にあるよw
310 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:35:11 ] つまらん
311 名前:デフォルトの名無しさん [2008/06/16(月) 23:53:02 ] >>309 ない
312 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:28:22 ] >>311 学習用の辞書に載ってないからってw
313 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:46:38 ] CAML = Cargo Aircraft Minelayer
314 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:13:44 ] そいうや随分前にも全角wで書き込む阿呆がいたな 日本もそういう季節になったの?
315 名前:デフォルトの名無しさん [2008/06/17(火) 05:12:02 ] フォントをメイリオにしてから全角、半角の区別がつかない
316 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:48:41 ] それだけMSゴシックが不メイリオだったってことか。
317 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 09:50:45 ] これってバグかな?マニュアルでは見つからない場合Not_found例外とあるが IndexOutOfBounds例外が出る 初心者なので判断がつかず・・ let msg s = System.Windows.Forms.MessageBox.Show s |> ignore in try let h = List.find ((<)100) [1..10] in printf "%A\r\n" h with e -> msg (e.ToString());;
318 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 23:13:30 ] F#のことは知らんOCamlの人だけど、printfでこけてんじゃないの?
319 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 07:12:14 ] んー、以下のコードでも試してみたけど、やはりIndexOutOfBounds例外でます ライブラリよりは俺のコードがバグってると思うんで どっかしょぼい所でミスってるんじゃないかと思うが・・ let msg s = System.Windows.Forms.MessageBox.Show s |> ignore in try List.find ((<)100) [1..10] |> ignore with e -> msg (e.ToString());;
320 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 07:56:45 ] 手元のF# Version 1.9.4.17だと、>>317 で Not_found(System.Collections.Generic.KeyNotFoundException)例外が出るので コードに問題はないはず この例外は、.NET Framework version 2.0で追加されたものなので、 Microsoft .NET Framework Version 2.0 Redistributable Package を入れれば直るんじゃない?
321 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 11:18:47 ] 検証ありがとうございます。 私の環境の問題のようですね F#のバージョンも1.9.3.14と少し古いので あわせてバージョンアップしてみますわ
322 名前:デフォルトの名無しさん [2008/06/29(日) 01:37:08 ] ちょwwまずはバージョン確認せいやw
323 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 21:03:36 ] >>317 Detailed Release Notes for F# 1.9.4 ttp://blogs.msdn.com/dsyme/archive/2008/05/02/full-release-notes-for-f-1-9-4.aspx > Not_found now maps to KeyNotFoundException not IndexOutOfRangeException.
324 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 20:09:07 ] F#はLinux上でも動きますか? コンパイルだけでもしたいのですが。。。
325 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 20:38:01 ] >>324 zipを展開すると install-mono.sh が入っているからこれで動くんじゃないのかね。
326 名前:デフォルトの名無しさん [2008/07/10(木) 01:28:11 ] InfoQ: F#の土台を越えて - 非同期ワークフロー www.infoq.com/jp/articles/pickering-fsharp-async
327 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 12:14:54 ] ttp://blogs.msdn.com/dsyme/archive/2008/07/14/1-9-4-19-release.aspx 1.9.4.19 release
328 名前:デフォルトの名無しさん [2008/08/30(土) 07:27:00 ] Microsoft F#, September 2008 Community Technology Preview ttp://www.microsoft.com/downloads/details.aspx?FamilyID=61ad6924-93ad-48dc-8c67-60f7e7803d3c&DisplayLang=en 言語仕様からライブラリ構成まで、だいぶ変わったな
329 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 11:05:27 ] 非同期ワークフローとか、ParallelExtention,Scopeとかがどうかぶってどう統合されるのかがよくわからん(´・ω・`)
330 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 12:49:52 ] 知ってる言葉を並べてるだけだろ
331 名前:デフォルトの名無しさん [2008/08/30(土) 14:29:36 ] >>330 ぷっ 理解できないからって・・・w