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

1デフォルトの名無しさん2011/05/01(日) 02:46:49.52
MSResearchから出てきた.NETで使える関数型言語のひとつF#
OCAMLの流れを汲むこの言語、いろいろと面白そうなことができそう。
そろそろ日本語の情報が充実してきそうなこの言語について、幅広く語れ。

http://www.fsharp.net/

前スレ
【.NET】F#について語れ【OCAML】
http://hibari.2ch.net/test/read.cgi/tech/1186030985/

関連スレなどは >>2-

835デフォルトの名無しさん2017/05/16(火) 15:06:44.92ID:063aFbk0
トップクラスは仕事で何やってんのかとF#で型クラスを導入するには今のCLR上のどこに問題があるのか教えてくれ。

836デフォルトの名無しさん2017/05/22(月) 23:51:01.26ID:Th0NDHVw
UWPまだなん?

837デフォルトの名無しさん2017/05/23(火) 03:59:59.51ID:l7rPL62D
自分も心待ちにしてる。
なんか遠く無いうちに8.1ストアアプリとかディスコンになりそうだしその前に使えるようにしてくれないと困るわ

838デフォルトの名無しさん2017/05/25(木) 01:38:45.30ID:rKV7x64q
Console.ReadLine() |> intを何度も書くのが面倒で、

let CRI () =
Console.ReadLine() |> int

let m = CRI
let n = m + 1

としても、mがintではなくunit->intになってしまって上手くいきません。どうしたらいいんでしょうか。

839デフォルトの名無しさん2017/05/25(木) 02:11:45.60ID:V+ZR7ZsZ
>>838
CRIの型はunit->int
つまり () をうけとってint型を返す関数

let m = CRI () ってすればいい

let m = CRI とするとmがCRIって関数のコピーになるから
let n = m () + 1 としてもいい

840デフォルトの名無しさん2017/05/25(木) 12:41:52.55ID:rKV7x64q
let CRI () = の()は、引数を取らない関数という意味じゃなくて、()を引数として
取る関数という意味だったんですね。
mが関数のコピーになってしまっていることは何となくわかっていましたが、
どうしたらいいかわかりませんでした。

色々まとめて関数化する入口になりました。ありがとうございます。

841デフォルトの名無しさん2017/05/30(火) 17:43:28.11ID:MdPNaTW3
C#でwinフォームのフォント変えてた時には意識してなかったけど
F#におこられてMSDN見たら
public Font(
FontFamily family,
float emSize
)
あれfloatだったんかw

842デフォルトの名無しさん2017/05/30(火) 23:33:10.49ID:N9IuBPHb
>>841
0.5pt刻みとか普通じゃないかね

843デフォルトの名無しさん2017/06/01(木) 01:32:04.81ID:/og4bwsZ
最初のエラーメッセージ一つつぶしてはリコンパイルしてまた怒られる繰り返しで
エラーも警告も全部潰し終わればだいたい思った通り動くものができてて
ある意味楽だよね

844デフォルトの名無しさん2017/06/01(木) 12:14:48.83ID:o/dQD8LP
何と比べたんだ

845デフォルトの名無しさん2017/06/01(木) 14:06:13.61ID:55CngytM
C#とかだろ
まあ自分もコンパイル通ったら思い通りに動いたってのは何度も経験した

846デフォルトの名無しさん2017/06/01(木) 22:41:41.77ID:+IsXJy5u
コンパイル通ったら思い通りに動いたって経験ないので設計力が俺にない

847デフォルトの名無しさん2017/06/03(土) 18:00:27.61ID:X9cB+hGR
まー漏れはGUIデバッグ用おまじないとして
let msgbox s = MessageBox.Show( s ) |> ignore
なんてのを毎回コピペしてるんだけどねw

848デフォルトの名無しさん2017/06/04(日) 01:15:20.63ID:cMzio+d2
「ゆるふわ」な展開だよな
oO(だってデバッグでコンパイル警告増やしてる場合じゃないもん
  ということで>>847をそっとクリップボードに入れたとかは言えない)

849デフォルトの名無しさん2017/06/04(日) 17:19:25.85ID:schaDAVw
ビルドツール2015が落とせなくなってると思ったら
最新のビルドツール(現在は2017)だけ無償提供するけど
過去のはMSDNサブスクリプション限定になったんかよ

850デフォルトの名無しさん2017/06/04(日) 20:22:54.65ID:Gh2GPGm+
なんでそんなめんどくさいことしてんの

851デフォルトの名無しさん2017/06/06(火) 02:33:04.78ID:sboLfrRP
環境作っちゃったからwそれに趣味だし
もし他人から環境作り聞かれることがあったらVSすすめるけど(質問攻めやだし)

852デフォルトの名無しさん2017/07/23(日) 00:57:49.83ID:M/QiPu/m
ファイルにクラスとかコレクションの値を書き込んだ後に、それを読み込むのに、
一般的な方法ってありませんか?

type Point = {mutable x : int; mutable y : int}
こういう定義があって、今はアドホックでこんな感じに書いてます。
0,0;0,1;0,2;0,3;0,4;0,5;
0,1;1,1;2,1;3,1;4,1;5,1;
これをSplitでString[]にして、
static member fromCSV(s:string) =
match s.Split[|','|] with
| [|a;b|] -> {x = int a; y = int b}
で読んでます。ダサいです。

このtype自体にはこだわりがないので、
[|[|0;1|];[|0;2|];[|0;3|];[|0;4|];[|0;5|]|]
[|[|1;0|];[|2;0|];[|3;0|];[|4;0|];[|5;0|]|]
みたいにデータ構造をそのままぱぱっと書き出して、ぱぱっと読める
みたいな方法はありませんでしょうか。

853デフォルトの名無しさん2017/07/26(水) 12:12:26.43ID:3m31p4un
BinaryFormatter使えばいいんでない?
テキストではなくなるけど

854デフォルトの名無しさん2017/07/26(水) 14:16:56.19ID:1pDXQGYB
調べてみます。
ありがとうございます。

855デフォルトの名無しさん2017/09/02(土) 22:37:34.57ID:RddLJ47T
F#人気にシット

856デフォルトの名無しさん2017/09/03(日) 01:52:15.83ID:JGQnBQPD
どこでそんなにんきなんだよ

857デフォルトの名無しさん2017/09/03(日) 16:58:23.14ID:skndupQG
当社比

858デフォルトの名無しさん2017/09/16(土) 06:54:46.85ID:AcW1bn43
びっくりするほどF#の話題ないね

言語人気ランキングだと関数型の中では
Scalaについで上位なんだけど

859デフォルトの名無しさん2017/09/16(土) 12:50:44.18ID:ZCzFTInQ
無冠の帝王

860デフォルトの名無しさん2017/09/16(土) 17:42:17.40ID:1hHCSG56
言語のバージョンアップも大してないしな
まあ自分はコンピュテーション式の組み立てとかも適当にしかできないので猿でもわかるコンプ式とか誰か上げてくれ

861デフォルトの名無しさん2017/09/20(水) 19:05:13.20ID:OSLHfjgE
完成度がたかいともいう

862デフォルトの名無しさん2017/09/24(日) 11:05:49.20ID:ByZ250WW
>>858
Scalaも大して話題ないし
あとはjavaと.netの差

863デフォルトの名無しさん2017/09/24(日) 16:06:41.16ID:vDIeG6fi
Scalaは言語として色々とんがってるから言語マニアを引きつけるのと、比較対象となるJAVAがアレなところが。
C#も色々アレなとこはあるけどモダンな言語機能も取り込んでるしJavaよりは遥かにマシだからな

864デフォルトの名無しさん2017/09/24(日) 17:59:58.12ID:ZoycLPfe
ScalaはJavaの後継を目指しているけど
F#はC#を補完する存在だから
Scalaほど話題にならないっていうのはあるかも

865デフォルトの名無しさん2017/09/25(月) 03:00:36.68ID:gDN5ioLV
F#の言語仕様にそんな大きな不満はないんだけど
やっぱScalaはJava陣営ってのが大きいだろうな
Androidがデファクトだから将来性がある

866デフォルトの名無しさん2017/09/27(水) 15:29:47.44ID:8/GL2nRX
ふっ ついにF#の時代が来たな

Microsoft、量子コンピュータ向けプログラミング言語を年内プレビュー公開へ
http://www.itmedia.co.jp/news/articles/1709/26/news064.html

867デフォルトの名無しさん2017/09/28(木) 10:26:23.30ID:PJxaABWy

868デフォルトの名無しさん2017/10/05(木) 23:26:00.15ID:Ij0Gwxx3
OCamlに無いから採用してないんだろうけど、implicitな型変換は正直ほしい

869デフォルトの名無しさん2017/10/06(金) 09:20:34.16ID:mKx5GyI5
それは設計思想的にないだろうし、自分はない方がいいかな
まあ気持ちはわかる

870デフォルトの名無しさん2017/10/21(土) 14:48:51.44ID:x6jw+qXc
VS2015でF#4.1にしたいんだがF#だけ更新するやり方わからん
VS2017にするのが一番速いのかね?

871デフォルトの名無しさん2017/10/22(日) 23:28:29.96ID:gTHr4PQg
バージョンアップしようが話題にならんって相当だな

872デフォルトの名無しさん2017/10/23(月) 00:01:20.66ID:6heI0Z3K
まあ最近のバージョンアップ小粒ですし…

873デフォルトの名無しさん2017/10/23(月) 00:03:30.90ID:1HzbJqCQ
G#にバージョンアップする必要があるな

874デフォルトの名無しさん2017/10/24(火) 22:47:21.59ID:pt5mooPj
>>872
三笑亭可楽の名前の由来は
山椒は小粒でもピリリと辛い からきてるんだよ 豆な
ちなみに可楽は落語の始祖みたいな人

875デフォルトの名無しさん2017/10/26(木) 21:35:56.69ID:oDCnt1ox
>>870

Use F# on Windows | The F# Software Foundation
http://fsharp.org/use/windows/

Option 4: Install the free F# compiler and tools alone
のとこの
.Install the free F# 4.1 Compiler SDK from Microsoft
これ?

876デフォルトの名無しさん2017/12/20(水) 11:18:33.39ID:Ay7mvacQ

877デフォルトの名無しさん2017/12/22(金) 18:07:18.10ID:bOdX3AhV
どこにってそこにある
それほど減ってない
pythonが食ってるのはphperなんだろううけど
それだけじゃこんなに増えないから全体のπも大きくなってるんか

878デフォルトの名無しさん2018/01/03(水) 11:03:42.83ID:+3UF4y6J
勉強するのに適当なサンプルコードあるとこ知らない?
例えば↓みたいなのが見たい

・関数型の参考になる
・副作用のコード
  ファイルIO
  フォーム
・クラス

879デフォルトの名無しさん2018/01/03(水) 12:53:42.85ID:0CrAnLpT
>>2にある通りだがF# Snippetsもいいと思うよ
関数型で副作用とかモナド信者が飛んできそうだが、そこはF#だから問題ないさ

880デフォルトの名無しさん2018/01/03(水) 13:24:47.91ID:+3UF4y6J
>>870
Thx F# Snippets見てみる

8818802018/01/03(水) 13:25:59.15ID:+3UF4y6J
間違えた 本当は>>879です

882デフォルトの名無しさん2018/01/08(月) 10:44:39.24ID:szpKYJOz
そもそもここの奴らどのバージョン使ってるかもわからん
普通に最新版使ってんの?

883デフォルトの名無しさん2018/01/08(月) 10:46:43.90ID:szpKYJOz
モナド信者が筋斗雲のように飛んで来るように
F#ってそんなに注目されてるのかね

884デフォルトの名無しさん2018/01/08(月) 10:47:19.58ID:szpKYJOz
男ならF#2.0だろとかいい出す頭おかしいやついそう

885デフォルトの名無しさん2018/01/08(月) 13:24:55.92ID:OHUoS88C
>>882
諸事情で3。3.3.0.1あたりかな。

新着レスの表示
レスを投稿する