トップページ⇒tech
186コメント41KB

   F#相談室   

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
とりあえずスレ立てとくよ。
0002デフォルトの名無しさんNGNG
COBOL?
0003デフォルトの名無しさんNGNG
let rec loop n =
if n <= 0 then () else begin
print_endline (string_of_int n);
loop (n-1)
end


type mydata = A | B of int * mydata


let rec mydataPrint d =
match d with
A -> print_endline "the end!"
| B (n,d) -> print_endline (string_of_int n); mydataPrint d


let rec mydataMap f d =
match d with
A -> A
| B (n,d) -> B (f n,mydataMap f d)
0004デフォルトの名無しさんNGNG
日本語の情報ある?
0005デフォルトの名無しさんNGNG
ダウンロード先や簡単な参考リンクくらい書こうよ(´д`;)
0006デフォルトの名無しさんNGNG
C#だのF#だのはぐぐると音楽関係のURLがヒットして、禿げしくうざいんですけど。
0007デフォルトの名無しさんNGNG
>>6
ここから検索しる
http://www.google.com/microsoft.html
0008デフォルトの名無しさんNGNG
これって、MLだろ。こっちのスレのほうが良くないか?

関数型プログラミング言語ML
http://pc2.2ch.net/test/read.cgi/tech/1012445015/l50
0009デフォルトの名無しさんNGNG
A#, C#(XC#), F#, J#, P#, S#, X#
0010デフォルトの名無しさんNGNG
>>3
mydataMapのうまい使い方がよく分からん。

# let data = B(1, B(2, B(3, B(4, B(5, A)))));;

# mydataPrint data;;

# let f x =
  let ret = x * x in
  print_endline(string_of_int ret);
  ret;;

# mydataMap f data;;
0011デフォルトの名無しさんNGNG
普通のOCamlスレになってるぞ。
0012デフォルトの名無しさんNGNG
しかし簡潔に書けてしまうものだな。
0013デフォルトの名無しさんNGNG
ユーザーの絶対数少ないし、別にいいと思うぜ!
0014デフォルトの名無しさんNGNG
DX9にF#なんてどうでしょう?
0015リンクNGNG
http://www.strangelights.com/FSharp/
http://research.microsoft.com/projects/ilx/fsharp.htm
http://research.microsoft.com/research/downloads/
0016デフォルトの名無しさんNGNG
>>3
関数に括弧をつかわないところがどうも慣れない
0017デフォルトの名無しさんNGNG
>>14
関数型言語でゲームか!アツイな!!

>>15
thanx!!
0018デフォルトの名無しさんNGNG
>>14
何かメリットは?
0019デフォルトの名無しさんNGNG
F#を使うこと自体がメリットなんで、これ以上は望みません
0020デフォルトの名無しさんNGNG
C#って死滅しちゃうの?
0021デフォルトの名無しさんNGNG
>>19
単なる趣味か
0022デフォルトの名無しさんNGNG
F#の対応するプラットフォームは?
Windows依存?
0023デフォルトの名無しさんNGNG
.NET Framework依存
0024デフォルトの名無しさんNGNG
つまり、Unixでまともに動く保障がないといわけだ。
0025デフォルトの名無しさんNGNG
保障も何も動かせるものなら動かしてみろ、ってレベルだが
0026デフォルトの名無しさんNGNG
Windows専用とは、Unix環境で使えるようにするには
規格が統一されずメンテナンス性が悪化するわけだ。
0027デフォルトの名無しさんNGNG
次のバージョンでコンパイラのソースが公開されるはず。
少なくともSSCLIの動くプラットフォームはサポートされるんじゃない?
0028デフォルトの名無しさんNGNG
>>24
UNIXはわからんがLinuxならいけそうだ
http://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20030527/1/
0029デフォルトの名無しさんNGNG
Linux入れようと思います
0030デフォルトの名無しさんNGNG
とりあえず lib の 〜.ml と 〜.mli を読むべし。
0031デフォルトの名無しさんNGNG
AbsILはどうよ?
0032デフォルトの名無しさんNGNG
F#がないとできないことってあるの?
0033デフォルトの名無しさんNGNG
F#によるプログラミング
0034デフォルトの名無しさんNGNG
>>32
C#とか使うより良いかもしれない。
副作用を極力嫌うスタイルは保守が自然とやりやすくなる。
あと、副作用の依存関係を型と同じ様にコンパイラが把握してるので、
最適化にかなり影響する。
0035デフォルトの名無しさんNGNG
誰か導入記事かいてよ
0036デフォルトの名無しさんNGNG
1. zipを解答
2. インストールバッチを実行
3. 環境変数 FSHARPLIB を lib にセットする
4. パスを bin に通しておく

以上
0037Hello WorldNGNG
let _ =
 print_endline "Hello World!!"
0038Hello World .NETNGNG
open System

let _ =
 Console.WriteLine "Hello World!!"
0039デフォルトの名無しさんNGNG
F#以前にOCamlの入門書/サイトキボン
0040デフォルトの名無しさんNGNG
とりあえず現状ではAbsILが最良のF#の教材のようだ。
0041デフォルトの名無しさんNGNG
>>40
そうか?
0042デフォルトの名無しさんNGNG
入門書より、サンプルが大量にあればなんとかなる
0043デフォルトの名無しさんNGNG
F#知る前からOCaml知ってた人ってどれだけいる?
0044デフォルトの名無しさんNGNG
MLは知ってたけどOCamlは知らんかった
0045デフォルトの名無しさんNGNG
>>39
ここで勉強しる
http://www.sato.kuis.kyoto-u.ac.jp/~igarashi/class/isle4/mltext/ocaml.html
0046デフォルトの名無しさんNGNG
listもarrayも.NET FCLのものとは互換性がないんだね・・・。
.NETのクラスを使ってると旨みが出ないよ。(´・ω・`)
0047デフォルトの名無しさんNGNG
AbsILを使った、アセンブリ内の型を列挙するサンプル

open Il

let rec print_types tdefl =
  match tdefl with
     [] -> ()
    | tdef::rest ->
      print_endline (tdef.tdName);
      print_types rest

let _ =
  let modul = Ilread.read_binary "Hoge.exe" None in
  let tdefs = modul.modulTypeDefs in
  print_types (dest_tdefs tdefs)
0048デフォルトの名無しさんNGNG
>>34
>>47見ると、全然副作用嫌ってるスタイルに見えないんだけど。
いやそれが悪いということじゃないけどね。
0049デフォルトの名無しさんNGNG
>>47のC#ベタ移植

class EnumTypes {

  static void print_types(FS.list tdefl) {
    if (tdefl == FS.list.Nil()) {
      return;
    }
    else {
      Il.type_def tdef = (Il.type_def) tdefl.get_Cons0();
      Pervasives.print_endline(tdef.tdName);
      print_types(tdefl.get_Cons1());
    }
  }

  static void Main() {
    Il.modul modul = Ilread.read_binary("Hoge.exe", FS.option.None());
    Il.types tdefs = modul.modulTypeDefs;
    print_types(Il.dest_tdefs(tdefs));
  }
}
0050デフォルトの名無しさんNGNG
>>48
一度 let で割り当てた値は変更不可能というのがポイント。
C#で例えると、ローカル変数もすべて readonly になるといった感じ。
0051デフォルトの名無しさんNGNG
>>50
(・∀・)イイ!
なるほどどねえ
0052デフォルトの名無しさんNGNG
C#版は変数書き換え放題だもんなあ。
0053デフォルトの名無しさんNGNG
0.6.4が出たよ
0054デフォルトの名無しさんNGNG
AbsILも0.64になってる。
0055デフォルトの名無しさんNGNG
X#とかC#とか、vb.netとかVC++とか、

MSの言語って覚えることが多すぎて面倒だなあ。
0056デフォルトの名無しさんNGNG
> MSの言語
へー(´・ω・`)
0057デフォルトの名無しさんNGNG
.NET APIを使った、F#らしいサンプルきぼん
0058デフォルトの名無しさんNGNG
F#ってさ、MSのプロジェクトとはいっても、ベースがフランスのOCamlだから、
普及はきついかもね。
少なくともアメリカでは。
0059デフォルトの名無しさんNGNG
非常に分かりやすいです。

Learning OCaml, for C, C++, Perl and Java programmers
http://merjis.com/richj/computers/ocaml/tutorial/
0060デフォルトの名無しさんNGNG
これなんか見ると、従来のやり方をOCamlに当てはめる方法が少し見えてくるかも。
http://www.speakeasy.org/~hchomsky/ocaml-win32.html
0061デフォルトの名無しさんNGNG
OCaml使わずにF#わざわざ使うメリットある?
0062デフォルトの名無しさんNGNG
>>61
膨大な.NETライブラリを利用できる。
0063デフォルトの名無しさんNGNG
気がつけば 0.6.4.1
0064デフォルトの名無しさんNGNG
ページもリニューアル。
http://research.microsoft.com/projects/ilx/fsharp.aspx
0065デフォルトの名無しさんNGNG
>>47をもっとOCamlらしく簡潔に。

open Il

let print_type tdef =
  print_endline tdef.tdName

let _ =
  let modul = Ilread.read_binary "Hoge.exe" None in
  List.iter print_type (dest_tdefs modul.modulTypeDefs)
0066デフォルトの名無しさんNGNG
open Il

let _ =
  List.iter (fun tdef -> print_endline tdef.tdName)
    (dest_tdefs (Ilread.read_binary "Test.exe" None).modulTypeDefs)
0067デフォルトの名無しさんNGNG
こっちも負けてませんぜ
http://www.cl.cam.ac.uk/Research/TSG/SMLNET/
0068デフォルトの名無しさんNGNG
F#なんてあんの?
0069デフォルトの名無しさんNGNG
MSでも関数型言語のエキスパートが大活躍だな。
0070デフォルトの名無しさんNGNG
Windowsを関数型言語で書き直せば、
実行時エラーとか一般保護エラーも無くなりますか?
0071デフォルトの名無しさんNGNG
>>70
ドライバを開発できる人間ががくっと減ります。
0072デフォルトの名無しさんNGNG
OCamlがここまで話題になるなんて。
やっぱりMSの影響力は大きいんだな。
0073デフォルトの名無しさんNGNG
MSの研究所にはHaskellの有名人も居たような気がするが
0074デフォルトの名無しさんNGNG
MSのプロジェクトでオープンソースというのも珍しいような。
0075デフォルトの名無しさんNGNG
>>74
どこがオープンソース?
0076デフォルトの名無しさんNGNG
--generic でコンパイルして gyro と一緒に遊ぶのが通。
0077デフォルトの名無しさんNGNG
ちなみに 〜g.dll (ex. fslibg.dll) はすべてgenerics対応版。
0078デフォルトの名無しさんNGNG
>>76
.NET1.2と一緒に(ry
0079デフォルトの名無しさんNGNG
System.FuncをC#系の言語で多用されたら困ったことになるな。

 public delegate T1 Func<T0, T1>(T0 arg0);

で、しかもsealedじゃないから何でもありだし。

型推論に柔軟に対応するためというのはよく分かるんだけど・・・。
0080デフォルトの名無しさんNGNG
>>79
ILX2ILの苦肉の策。
ILXがネイティブ対応されるまでの我慢か。
0081デフォルトの名無しさんNGNG
>>75
今月中に公表するとか書いてあるけど
0082デフォルトの名無しさんNGNG
>>76
--genericありとなしでは全然出力されるコードが違いますね。
ってか、--genericなしだとF#の価値が半減のような。
0083デフォルトの名無しさんNGNG
いまさらながらF#よりOCAML.NETの方が通りが良かったのでは?
0084デフォルトの名無しさんNGNG
C#やF#
この名前は失敗だと思う。
0085デフォルトの名無しさんNGNG
OCamlにはマクロってありますか?
今、common lispを勉強してますが、
MicrosoftのせいでOCamlにも興味がでてきました。
0086デフォルトの名無しさんNGNG
>>85
マクロはないと思う
0087デフォルトの名無しさんNGNG
クラス定義できないの?(´・ω・`)
0088デフォルトの名無しさんNGNG
>>87
できないっす。

http://research.microsoft.com/projects/ilx/fsharp-release.aspx

> 11 Cannot generate subclasses or implement interfaces except
> through helpers. Workaround: Declare a C# class accepting delegates
> as parameters to its constructor and then these delegates in your
> virtual methods.
0089デフォルトの名無しさんNGNG
じゃ、OCAMLのOは何のOなの?
おちんちんおいしいのOですか。
0090デフォルトの名無しさんNGNG
AssholeのOだよ、おぼえとけ
0091デフォルトの名無しさんNGNG
>>8
つまんね。やる気そがれたじゃんか
0092デフォルトの名無しさんNGNG
>>91
意味が分かるような分からないような
0093デフォルトの名無しさんNGNG
すまんかった
x >>8
o >>88
0094デフォルトの名無しさんNGNG
>>86
camlp4 (which stands for pre-processeor and pretty-printer)
F# では使えないけどなー
0095デフォルトの名無しさんNGNG
F#メーリングリスト(って書かないとMLと紛らわしい)が突然活発になったな。
0096デフォルトの名無しさんNGNG
.NETクラスを使う時に限って type.method(arg) ってのが激しく違和感なんだが。
普通に type#method arg って書けないもんかねえ。
0097デフォルトの名無しさんNGNG
落ちない言語MLがついにメジャーデビューか。
0098デフォルトの名無しさんNGNG
.NET版インタラクティブコンソールがホスィ
0099デフォルトの名無しさんNGNG
つーか普通にOCaml使えよ
0100デフォルトの名無しさんNGNG
>>97
MSが目をつけてる理由は関数型だからというよりは型推論なんでしょうな。
スクリプトのように書けて、実は型に厳しい。(パフォーマンスも有利。)
で、型推論の根拠をソース以外に外部のXSDに求めるのが
X#の正体ではないかと勝手に想像してみたり。
0101適当にコード書いてみたNGNG
type tag_value = Empty | Value of string
type tag = { name : string; value : tag_value }
type node = Tag of tag | Node of node * node list

let print_start_tag tag =
  print_string ("<" ^ tag.name ^ ">")

let print_end_tag tag =
  print_string ("</" ^ tag.name ^ ">")

let print_tag tag =
  match tag.value with
   Value v ->
    print_start_tag tag;
    print_string v;
    print_end_tag tag;
    print_newline ()
  | _ ->
    print_endline ("<" ^ tag.name ^ "/>")
0102適当にコード書いてみたNGNG

let rec print_node node =
  let rec get_tag nd =
    match nd with
     Tag t -> t
    | Node (n, l) -> get_tag n
  in
  match node with
   Node (n, l) -> let tag = get_tag n in
    print_start_tag tag; print_newline ();
    List.iter print_node l;
    print_end_tag tag; print_newline ()
  | Tag t ->
    print_tag t

let html = { name = "html"; value = Empty }
let head = { name = "head"; value = Empty }
let title = { name = "title"; value = Value "test HTML" }
let body = { name = "body"; value = Empty }
let p1 = { name = "p"; value = Value "Hello World!!" }
let p2 = { name = "p"; value = Value "This is a pen." }
let document =
  Node (Tag html, [Node (Tag head, [Tag title]); Node (Tag body, [Tag p1; Tag p2])])

let _ =
  print_node document
0103デフォルトの名無しさんNGNG
しかし、ソースに型名を出さないのは本当に生産性が高いのだろうか?
0104デフォルトの名無しさんNGNG
OCamlやHaskellは、なんかのプログラミングの大会で、
生産性が高いことで有名だったぞ。

俺的にはOCamlはソースがごちゃごちゃしてるように感じるが。
ここのInput/Outputとか。
http://www.ps.uni-sb.de/~rossberg/SMLvsOcaml.html
0105デフォルトの名無しさんNGNG
OCamlの場合,対話的な環境で変数名や関数名だけ入力すれば型が表示されし,
ocamldocで出力したドキュメントにも型は表示されるから
型を知るためにソースを見直す必要はあまりないんじゃないかと.
0106デフォルトの名無しさんNGNG
>>105
おー、これは便利だね。> ocamldoc
0107デフォルトの名無しさんNGNG
OCamlよりもSMLの方がごちゃごちゃしてる。
自分で書いてみれば分かる。
0108デフォルトの名無しさんNGNG
>>107
>>104はSMLとOcamlを比較しているのでわなく、
OcamlとHaskellを比較しているのだと思われ。
0109デフォルトの名無しさんNGNG
F#をいろいろ勉強してるうちにふと思った。















マネージド環境として、.NETよりOCamlの方がはるかに優れてないか?
0110デフォルトの名無しさんNGNG
少なくともJavaなんぞとは比較にならないくらい優れてる。
http://www.bagley.org/~doug/shootout/craps.shtml
0111デフォルトの名無しさんNGNG
>>110
恐るべし。
http://www.bagley.org/~doug/shootout/lang/ocaml/
0112デフォルトの名無しさんNGNG
ILXいいねえ。これ早くネイティブサポートしてくれないかな。

.assembly Test {
}

.assembly extern mscorlib {
}

.closure test() {
  .apply (int32) (int32) --> int32 {
    ldarg 2
    ldarg 1
    add
    ret
  }
}

.method public static void main() {
  .locals(
    int32 result,
    (func (int32) --> (func (int32) --> int32)) 'add',
    (func (int32) --> int32) increment
  )
  .entrypoint

// let add = fun x -> fun y -> x + y
  newclo class test
  stloc 'add'
0113デフォルトの名無しさんNGNG

// add 3 5
  ldloc 'add'
  ldc.i4 3
  ldc.i4 5
  callfunc (int32) (int32) --> int32
  stloc result

  ldstr "3 + 5 = "
  call void [mscorlib]System.Console::Write(string)
  ldloc result
  call void [mscorlib]System.Console::WriteLine(int32)

// let increment = add 1
  ldloc 'add'
  ldc.i4 1
  callfunc (int32) --> (func (int32) --> int32)
  stloc increment

// increment 5
  ldloc increment
  ldc.i4 5
  callfunc (int32) --> int32
  stloc result

  ldstr "5++ = "
  call void [mscorlib]System.Console::Write(string)
  ldloc result
  call void [mscorlib]System.Console::WriteLine(int32)

  ret
}
0114デフォルトの名無しさんNGNG
>>110-111
それは単に速度が速いというだけじゃん。
しかも、F#じゃなくて、素のOCamlだし。
まあ行数とか見ても少ない方だけどね。
0115デフォルトの名無しさんNGNG
一行にごちゃごちゃ詰め込んでるから行数が少ないのさ(w
0116デフォルトの名無しさんNGNG
moduleが使えないのは致命的すぎないか?> F#
0117デフォルトの名無しさんNGNG
カレー化をC#で表現するとすごいことになるな・・・。(;´Д`)

using System;

delegate RetType Function<RetType, ArgType>(ArgType arg);

class AddFunction {

  private AddFunction() {
  }

  public static Function<Function<int, int>, int> Create() {
    return new Function<Function<int, int>, int>(n1) {
      return Create(n1);
    };
  }

  private static Function<int, int> Create(int n1) {
    return new Function<int, int>(n2) {
      return Add(n1, n2);
    };
  }

  private static int Add(int n1, int n2) {
    return n1 + n2;
  }
}
0118デフォルトの名無しさんNGNG

class Test {

  static void Main() {
    Function<Function<int, int>, int> add = AddFunction.Create();
    Console.WriteLine("3 + 5 = " + add(3)(5));

    Function<int, int> increment = add(1);
    Console.WriteLine("5++ = " + increment(5));
  }
}
0119デフォルトの名無しさんNGNG
引数3つにするとこんな感じ?

  public static Function<Function<Function<int, int>, int>, int> Create() {
    return new Function<Function<Function<int, int>, int>, int>(n1) {
      return Create(n1);
    };
  }

  private static Function<Function<int, int>, int> Create(int n1) {
    return new Function<Function<int, int>, int>(n2) {
      return Create(n1, n2);
    };
  }

  private static Function<int, int> Create(int n1, int n2) {
    return new Function<int, int>(n3) {
      return Add(n1, n2, n3);
    };
  }

  private static int Add(int n1, int n2, int n3) {
    return n1 + n2 + n3;
  }
0120デフォルトの名無しさんNGNG
匿名メソッドがないとめんどくさいな、こりゃ。
0121デフォルトの名無しさんNGNG
F#とC#2.0は相性良さそうですな。
0122デフォルトの名無しさんNGNG
let form = new Form()
let _ = form.Controls.Add(new Button())
ってやろうとすると、型が合わないと怒られます。
どーすればいいんですか?
0123直リンNGNG
http://homepage.mac.com/maki170001/
0124デフォルトの名無しさんNGNG
>>122
これは致命的だな。

let button : Control = new Button()
let _ = form.Controls.Add(button)

でも駄目だったのでお手上げ。
0125デフォルトの名無しさんNGNG
最近情報系の風俗ネットを見てないので友人から聞いた事だが、
何処の誰が風俗店に出入り禁止をくらったとか、そんな話題で盛り上がってる
人が居るらしい…。
プロでやっている風俗嬢でさえ政治家やタレント等と違い簡単に会えるゆえ個人
情報投稿は重大な人道マナー違反なのに、一個人であるお客の行動を詮索すると
は愚か過ぎる行為ですよね。
なんだか友人が言うにはボクも某有名店で出入り禁止になってるという噂が飛
んでるらしいですが笑止な事です。今現在ボクは何処の店にもそういう事実は
無いからです。(かつて店に誤解を受け、予約禁止になりそうと知ったボクの友
人所属嬢が店への不信で退店を表明し、誤解が解けて店に平謝りして貰ったことは
ある)
店と所属嬢とお客の間で解決する事にネットで関わるなんて馬鹿らしいです
。
0126山崎 渉NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0127デフォルトの名無しさんNGNG
--generic でコンパイルして gyro と一緒に遊ぶのが通。
0128山崎 渉NGNG
(^^)
0129山崎 渉NGNG
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0130デフォルトの名無しさんNGNG
AssholeのOだよ、おぼえとけ
0131デフォルトの名無しさんNGNG
すんません AとBってフォーム作ったんですが
AからBのフォームをモーダルで表示するにはどういうコードかけばいいですか?
Windowsアプリお勉強中です。
0132デフォルトの名無しさんNGNG
ア やっぱいいや^^;ここで自己解決しそう。
http://ukamen.hp.infoseek.co.jp/Programming1/Dialog/index.htm
0133デフォルトの名無しさんNGNG
C#の本はたくさん見かけるのに、F#の本は見たことがありません。
何かイイ参考書ないでつか?
0134デフォルトの名無しさんNGNG
F#ってなに??
0135デフォルトの名無しさんNGNG
すいません、よかったらどなたか、F#の位置付けみたいなんを
教えていただけませんか?
0136デフォルトの名無しさんNGNG
>>135
研究用。ILの関数型言語向け拡張を実装するための実験台。
0137デフォルトの名無しさんNGNG
ほむほむ、ありがとうございました。
0138デフォルトの名無しさんNGNG
関数型言語ML→(OOPL化)→OCaml→(M$が.NET用に改造)→F#
でいいですよね?
0139デフォルトの名無しさんNGNG
進化図みたいなのを書くと「F# の完成度は O'Caml なみ」とか、
「これからは F# がメジャーになる」と勘違いしちゃう人が
出て来そうでまずい。俺的には .NET でも funcitonal できまっせえ
という実証用言語だと受け取っているのだが。

そもそも Caml Special Light => O'Caml を OOPL化 と呼ぶのも
抵抗がある。
0140デフォルトの名無しさんNGNG
.net版 O'Caml ももうできてて bootstrap もしたとの事。
0141デフォルトの名無しさんNGNG
>>135
MSがSimon Peyton Jonesとかえらい人いっぱい雇っちゃったので、
彼等に仕事を与えるためにつくった。
0142デフォルトの名無しさんNGNG
>>141
MSは後悔してゐるであらふか?
0143デフォルトの名無しさんNGNG
×あらふ
○あらう
0144デフォルトの名無しさんNGNG
>>143
コマカイデツネ,チミハ...
しかし、スレ伸びんなぁ。
0145デフォルトの名無しさんNGNG
0.6.4.1からまだバージョンアップされてないの?
0146デフォルトの名無しさんNGNG
Whidbey C#にPolymorphic Typeも匿名delegateの型推論も実装されたし、
もう用済みなんでねーの?
0147デフォルトの名無しさんNGNG
X#プロジェクトもあぼーんされたし、MS内で何かが起きたな。
0148デフォルトの名無しさんNGNG
>>147
こんなのあるよ。

Microsoft Expands .Net With Xen
http://www.extremetech.com/article2/0,3973,1441657,00.asp
0149デフォルトの名無しさんNGNG
Erik Meijer氏が関与してるのか・・・。すげえ。
0150デフォルトの名無しさんNGNG
これか。
ttp://blogs.gotdotnet.com/emeijer/commentview.aspx/f0bdf5c8-ec34-4dbb-b51e-6982a93be2e5
0151デフォルトの名無しさんNGNG
Whidbey CLRでF#使うと起動遅すぎ。駄目だこりゃ。
0152デフォルトの名無しさんNGNG
MSRはMS製造部隊とはなんの関係もないだろ
0153デフォルトの名無しさんNGNG
フォームを使ったGUIアプリでDOS窓が出ないようにするにはどうしたらいいの?
0154デフォルトの名無しさんNGNG
>>153
ILの .subsystem を0x0002に直接変更。
0155デフォルトの名無しさんNGNG
>>122
今頃になって分かった。これで動く。

open System.Windows.Forms

let form = new Form()

let _ = form.Controls.Add(cast (new Button()) : Control);
 Application.Run(form)
0156デフォルトの名無しさんNGNG
>>155
うおぉ。そうだったのか。まじサンキュー
0157デフォルトの名無しさんNGNG
0.6.6.0リリースあげ
0158デフォルトの名無しさんNGNG
.NET向け関数型言語 Nemerle
http://www.nemerle.org/
0159デフォルトの名無しさんNGNG
OCamlもどきの言語が流行なのか?
0160デフォルトの名無しさんNGNG
まあ、CLIを前提にした過去のしがらみのない関数型言語というのもいいかもね。
0161win98NGNG
よ〜し、パパF#で一旗あげちゃうぞ〜

>Compile-time Requirements: You will need to have one of the following installed
> on your system in order to use the F# compiler:

>・The Microsoft .NET Framework SDK ・・・
>・VisualStudio.NET ・・・


0162デフォルトの名無しさんNGNG
Xenの仕様書が更新されてる。
ttp://research.microsoft.com/users/schulte/Papers/UnifyingTablesObjectsAndDocuments(DPCOOL2003).pdf
0163デフォルトの名無しさんNGNG
おー。用語がマイナーチェンジしてたり、仕様がだいぶ煮詰まってきたのかな?
0164名無しさん♯NGNG
関数型の話題がイパーイ。ヽ(´ー`)ノ
ttp://blogs.msdn.com/cyrusn/
0165デフォルトの名無しさんNGNG
そろそろ来るかな?
comp.lang.functional見た感じでは海外のOCamlユーザ
多そうだから日本もこれから盛り上がるかも。
今から勉強して時代を先取りしてみるか。
0166デフォルトの名無しさんNGNG
それならF#よりも本家OCamlやった方がいいと思うよ・・・
0167デフォルトの名無しさんNGNG
Cω
ttp://research.microsoft.com/collaboration/university/europe/Events/AcademicDays/Portugal/2004/Portugal%20Comega.ppt

F#作者のDon Syme氏のプレゼン
ttp://research.microsoft.com/collaboration/university/europe/Events/AcademicDays/Portugal/2004/dsyme-spain-portugal-v5.ppt
0168デフォルトの名無しさんNGNG
age
0169デフォルトの名無しさんNGNG
保守
0170デフォルトの名無しさんNGNG
F#できゃむるとするか
0171デフォルトの名無しさん2005/04/14(木) 21:05:55
F#どっから落とせるんだよママン
0172デフォルトの名無しさん2005/04/14(木) 21:24:56
>>171
ttp://research.microsoft.com/research/downloads/default.aspx
0173デフォルトの名無しさん2005/07/03(日) 23:46:20
これって、O'Camlと比べてどうなの?
ライブラリは.NETのが使えるから問題ないと思うが、言語仕様としてはO'Camlを超えてるのか?
0174デフォルトの名無しさん2005/07/13(水) 20:28:22
誰も使ってないからわかりません
0175名無しさん♯NGNG
F# 1.1出ますた。
ttp://research.microsoft.com/research/downloads/default.aspx
0176名無しさん♯NGNG
fsi激しく(・∀・)イイ!(・∀・)イイ!(・∀・)イイ!

・・・けど、どうやって終了するんだろう。
0177名無しさん♯NGNG
IronPython、MSHに続いて第3の.NETの動的言語ということで。
この方面はかなり化けそうね。
0178デフォルトの名無しさん2005/09/23(金) 21:35:05
F#が本格的にVisualStudioに装備されるのは
いつだろう。
そしたらかなり普及しそうだ。
0179名無しさん♯2005/09/25(日) 19:53:05
F# 1.1.3出ますた。( ゚д゚)ノ
.NET 2.0 RC対応、fsiでようやくgenericsが使えるようになりますた。
0180名無しさん♯2005/09/25(日) 19:55:08
>>178
VS IDE統合はいちおうされてますよ。IntelliSenseもおk。
0181デフォルトの名無しさん2005/11/10(木) 01:35:16
だれかExpress EditionでF#試した?
うちではインストールに失敗する。
英語版Win2000でも落ちる。
0182デフォルトの名無しさん2006/01/08(日) 00:22:03
ソース公開あげ
ttp://nullpo.2log.net/home/lambda/archives/blog/main/2006/01/07_222152.html
0183デフォルトの名無しさん2006/01/08(日) 00:52:52
>>181
自分もインストールしようと思ったけどうまくいかないね。
でもどちらにしてもF#のIDE環境がかなりタコなので、自分
でmakefile書いたほうがいいと思うよ。
0184デフォルトの名無しさん2006/01/08(日) 01:01:16
F#はExpressはサポートしてないよ。
0185デフォルトの名無しさん2006/02/05(日) 05:12:01
F#のCodeDomProviderドコー?
0186デフォルトの名無しさん2006/05/03(水) 13:33:21
ほすほす
■ このスレッドは過去ログ倉庫に格納されています