[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/09 13:54 / Filesize : 121 KB / Number-of Response : 478
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【.NET】F#について語れ【OCAML】



1 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:03:05 ]
MSResearchから出てきた.NETで使える関数型言語のひとつF#
OCAMLの流れを汲むこの言語、いろいろと面白そうなことができそう。
まだまだ英語の情報しかないこの言語について、幅広く語れ。

research.microsoft.com/fsharp/fsharp.aspx

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

332 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 18:29:51 ]
>>330
ぷっ
理解できないからって・・・w

333 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 21:27:29 ]
>>330
理解できないからぶってぶって・・・w




334 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 18:01:34 ]
>>333
は?

335 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 18:06:01 ]
>>333
は?

336 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 18:14:01 ]
>>333
は?

337 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 00:19:39 ]
俺もぶってほしい(*´∀`*)

338 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 01:30:34 ]
Detailed Release Notes for the F# September 2008 CTP release
blogs.msdn.com/dsyme/archive/2008/08/29/detailed-release-notes-for-the-f-september-2008-ctp-release.aspx

Microsoft F#, September 2008 Community Technology Preview
www.microsoft.com/downloads/details.aspx?familyid=61ad6924-93ad-48dc-8c67-60f7e7803d3c&displaylang=en&tm
F# 1.9.6.2

339 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 13:19:45 ]
ブログネタとかでもだんだん見るようになってきたけど、
OCaml派生として使ってるやつばっかりだな
OCaml知らない俺から見るとなんかぜんぜんF#っぽくないし、
そっち系は面白くならないと思うが。
.NETライブラリ使ってるやつとかあんまいないのかね

340 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:26:38 ]
>>339
windows上の設置が簡単なocamlって扱いだからでないか?
人に渡すにしてもランタイムいらんし。

341 名前:デフォルトの名無しさん [2008/09/11(木) 11:17:55 ]
CTPになって2008しかインストール出来なくなったのはいいけど、
前からあったサンプルプログラムがコンパイルできないよ。

CTP用のサンプルはDirectX関係がコンパイル出来ないし、
スレッド周りとか勉強したいんだけどなぁ。


342 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 15:40:17 ]
.netライブラリなんて他と同じように使えばいいだろ

343 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 23:34:56 ]
こうですか?わかりません
をVB.NET風に書こうと思ったけどめんどくさかったのでやめた





344 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:44:32 ]
#useってデバッグ用途とかでかなり便利だったのにな。
#loadじゃ関数とかアクセスできないし、
再起動してfsi --useも起動の時間がかかりすぎて代わりにならない。
復活してくれんかな。

345 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 13:14:30 ]
.Net使ってるとWin32APIが使いたい場面が多々出てくるが
細かいところでわからんことが多い
C#⇔F#コード対応表みたいなのがほしいわ
フック書きてぇ


346 名前:デフォルトの名無しさん [2008/10/13(月) 09:33:20 ]
F#で学ぶ関数型プログラミング入門
「関数型プログラミングの主な概念とF#での利用例」

codezine.jp/article/detail/3041

347 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 15:13:21 ]
>>345
P/Invoke宣言だけはC#で書いてしまえばいいんでない?

348 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 16:01:48 ]
↓こんなのがC#側で定義出来るってこと?
[<DllImport("user32.dll",EntryPoint="SetWindowsHookEx",SetLastError=true)>] let ...

(たぶんdelegateキーワード使う)HOOKPROCの型がわからないので
実際そこでも詰まってるんだが、それがわかったとしても
SetHookの返り値をIntPtr.Zeroとどうやって比較するのかとか
わからない箇所あって、若干諦めてる

ところでF#にはいわゆるbreakやcontinueはないんですかね
for文の中でreturnするケースは手続き型の既存資産には多いと思うが
F#に移植しようと思ったら再帰等でロジックを考え直す必要があるとすると
作業コストが高い
break,last,return,continueなんかで言語仕様検索しても
それらしいのは見つからんね

349 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 16:12:45 ]
自己レス。残念だけどなさそうだわ
ttp://cs.hubfs.net/forums/thread/7118.aspx

350 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 19:17:02 ]
>>348
移植コストを下げることに意味はない
カエレ

351 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 19:27:22 ]
アローつくれば、順次処理、条件分岐、繰り返しができるお

352 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 19:43:07 ]
>>350 なぜ

353 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 09:33:33 ]
逆に、何でソースコードレベルで移植しようとか思うんだ?
対象環境に言語処理系が無いとかなら分かるけど、.NETだぞ?
普通、DLL作ってFFI経由で呼び出しするだろ。

なんだか、同じ言語で書くことにこだわりすぎてる気がするけど。



354 名前:デフォルトの名無しさん [2008/10/14(火) 22:37:30 ]
>>345 そんな単純な置き換えができるのはVB⇔C#とかだけだろ
F#は関数型言語で全然違うから、考えを変える必要があるかもしれない

むしろC#とF#のコードの一対一対応表がつくれるくらい似てる言語なら、F#いらねーだろ。

355 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 22:44:09 ]
そんなたいそうな理由があるわけじゃなくて、
単に楽したいと思ったんだが、気に障ったならすまない






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<121KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef