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

1デフォルトの名無しさん
垢版 |
2019/09/08(日) 19:16:25.58ID:8+6E4mCC
このへん
https://fsharp.org/
97デフォルトの名無しさん
垢版 |
2021/04/15(木) 17:27:52.85ID:ZJJpe5u8
追加されたものはリフレクションなりぶん回せば取れるだろうけど、中身は自分で実装しなきゃだろうし。
Fosrynとか使って中身も持ってくるかソース直接見るか
98デフォルトの名無しさん
垢版 |
2021/09/24(金) 05:39:01.80ID:Zy9h69w8
Cにとってのトライトーン
極めて不協和音である
99デフォルトの名無しさん
垢版 |
2021/09/26(日) 10:00:16.57ID:oW0BMi/Z
RustよりもF#のほうが高速らしいね。
100デフォルトの名無しさん
垢版 |
2021/09/26(日) 11:01:27.10ID:YikVAXY0
いや流石にそれはないだろw
原理的に無理では
イミュータブルでものによっては早くなるパターンがあるとかならまだわかるけど
2021/11/16(火) 08:32:41.06ID:OAnBbSI0
またまけた

意外と知らない「国民1人あたりのCO2排出量」 1位はサウジ、5位は韓国、日本は何位?
https://news.yahoo.co.jp/articles/7bb34c2df73df99608a785882a612ff49ede5ec1
2021/11/16(火) 08:33:03.57ID:OAnBbSI0
誤爆 スマホ
2022/01/25(火) 11:52:31.80ID:GfuWsBWm
まだ実用的なもの作ってないが
MSとは思えない程のエレガンス、ML系の正統な後継者だわ
2022/03/17(木) 01:30:45.63ID:MVQpL6JJ
兄弟国 といえば どこ?

しかし似てんな やることも言うことも

ロシア語表記の袋入り注射器、山形の海岸にも漂着…砂浜数百メートルに散在
https://www.yomiuri.co.jp/national/20220315-OYT1T50098/#:~:text=数百メートルに散在,-2022/03/16&text=山形県庄内総合支庁,いるが、県内では初めて。
2022/05/02(月) 21:07:24.60ID:SiE8sOFg
き・も・ち・わ・る
2022/05/11(水) 19:00:03.29ID:421S2oIL
ocamlをWindowsで使うのが辛いので、ありがたい。
107デフォルトの名無しさん
垢版 |
2022/05/11(水) 20:00:16.28ID:2rkQGcHe
vNextってもう来たんだっけ?
2022/08/28(日) 08:35:00.65ID:uKar1hpM
勉強してアプリ一つ作ってみたけど結局C#でいいやってのが感想だった
109デフォルトの名無しさん
垢版 |
2022/08/28(日) 20:37:37.60ID:IC5bQQys
まあそう思うならそれでいいんじゃね?
ワイは使えるならF#のほうが遥かにマシだけど
2022/08/28(日) 20:48:23.49ID:DhGNghcs
そう思わない人が多いからこういう状況なわけで
111デフォルトの名無しさん
垢版 |
2022/08/28(日) 21:44:52.14ID:IC5bQQys
まあF#らしい使い方しなければその恩恵は得られないんだから仕方はないだろ
テンプレの整備とかもアレだし
2022/08/28(日) 22:13:04.30ID:iJSRjwGP
F#らしい使い方をした上でC#の圧勝だった
113デフォルトの名無しさん
垢版 |
2022/08/29(月) 08:34:52.52ID:XHdEZJlH
デフォルトイミュータブルにならないしパターンマッチもよく分からん記法だし末尾最適化もないしunionがやっと来るのか来ないのかだし、何をもって圧勝と言ってるのか分からん

マジでなんで圧勝なの?
2022/08/29(月) 09:02:07.01ID:5dAad4gs
生産性
115デフォルトの名無しさん
垢版 |
2022/08/29(月) 10:28:31.35ID:z6rvOrCE
ワイはF#の方が良い(イミュータブル、REPL、簡潔な構文・型定義など)けど、まあお前が思うならそうなんだろうとしか
2022/08/29(月) 10:56:58.78ID:VGGQRoto
F#の方が良いと思う人が多ければこんな状況にはなってないよねとしか
俺はF#が良いと聞いたから勉強してアプリ1つ作り上げてやっぱC#だわと思った両方使える人なんだわ
2022/08/29(月) 10:59:51.89ID:VGGQRoto
C#でもイミュータブルやREPLは使えるしC#の方が簡潔に書けることも多いのでお前F#しか知らんだろとしか思わん
118デフォルトの名無しさん
垢版 |
2022/08/29(月) 16:51:29.00ID:Pfprq7BC
とりあえず言語の良し悪しと主流になるかは一致しねーよ
js知らねーのかアホ

部分的にC#の方が簡潔にできるところはあるが全体通してコード量が短くなる事はねーよ
とりあえずお前がろくにF#知らない低脳チンカスってのはわかったからもういいよ
119デフォルトの名無しさん
垢版 |
2022/08/29(月) 16:59:08.54ID:Pfprq7BC
まあ最近はC#触るんでもUnityがメインなんで新しいバージョンの記法は追ってないからその辺で進化してたならすまんけど

コンストラクタで渡したものメンバーに代入とかしないで使えるようにとかもうなった?union来た?
2022/08/29(月) 17:30:14.60ID:P78cDJnu
何も知らなくて草
2022/09/04(日) 08:32:04.49ID:gz8Ny9ff
F#は進化の速度が遅いしメインストリームから取り残されてるのが難点
結局C#に乗り換えなきゃいけなくなる未来が予測できるのがいや

未来というか現在のBlazorどうすんのよ
Boleroじゃ代わりになんねんだよ
2022/09/04(日) 08:35:39.92ID:gz8Ny9ff
>>119
コンストラクタに渡したものをコーディング無しでプロパティに代入したいならrecordやDIがあるから特に不便はないかな
unitは欲しいね
2022/09/04(日) 08:36:22.42ID:gz8Ny9ff
予測変換でunitになったけどunionのことね
124デフォルトの名無しさん
垢版 |
2022/09/04(日) 09:53:55.58ID:W7eXpTBn
>>121
まあそこは分かる
ライブラリーとして使う分には使えなくなる事はないのかなとは思うけれど.NET Nativeみたいにビルドから対応してないみたいのが出てくるとあれ

そこはCILとして対応し続けてほしい所だがの
125デフォルトの名無しさん
垢版 |
2022/09/04(日) 10:16:03.59ID:RQxkFcRF
正直 D より F# が永息するとは思わなかった
2022/09/07(水) 11:36:01.66ID:AY0Q59m9
>>124
F#のアセンブリは.NETと完全な互換性はないからそのうち使えなくなることはあり得る
127デフォルトの名無しさん
垢版 |
2022/09/07(水) 12:07:12.13ID:TVqoBGD1
完全互換じゃないってどういう話?
CILから外れてたらそも動かんやろ?
2022/09/07(水) 12:14:01.18ID:AY0Q59m9
>>127
F#の関数はC#から使えないこともあるって知らないか?
129デフォルトの名無しさん
垢版 |
2022/09/07(水) 15:52:29.80ID:fPcvQ9Ha
それはC#がCILを満たしていてもなんでも呼べるわけではないって話じゃないの?
C#からのF#の呼び出し、やったの前だし呼びやすい形に調整してたから全部がどうとかは知らん。
130デフォルトの名無しさん
垢版 |
2022/09/07(水) 15:53:05.62ID:fPcvQ9Ha
とりあえず具体的にこの辺の項目とか上げてくれ。完全性求められても知らん
2022/09/07(水) 15:54:26.49ID:nM+jMFuw
>>129
VBからも呼べないんだわ
2022/09/07(水) 15:55:02.49ID:nM+jMFuw
当然IronPythonからもな
2022/09/07(水) 15:57:55.34ID:nM+jMFuw
CILがどうとかじゃなくF#の関数はF#が消えたら呼べなくなるからdllだけ残っても何の役にも立たんよってこと
134デフォルトの名無しさん
垢版 |
2022/09/07(水) 17:41:01.64ID:iZdF3GMM
internalじゃないやつは静的クラスのメソッドとして呼べるだろ?
135デフォルトの名無しさん
垢版 |
2022/09/07(水) 17:44:23.79ID:iZdF3GMM
その辺のF#だけからしか呼べない形態、どれがあったのか忘れた(というかあまり問題にしてなかった)けど、他から呼べるように公開したいものはそう出来て、それはCILにのっとってるんだから>>126はちょと違うんじゃ?と思った次第
2022/09/09(金) 09:23:25.38ID:v5NOhSMN
流行らないなあ、キレイなML+標準ライブライブ超充実の、歪なようで噛み合う組み合わせがめっちゃ面白いんだけど

コミュニティには参加してないけど、むしろ面白さを重んじる俺みたいなアマチュア好みだからプロに疎まれてる感とかあるのかなって
137デフォルトの名無しさん
垢版 |
2022/09/09(金) 09:42:35.61ID:JNXuk8tN
海外とかでメイン言語として採用してる会社とかもあるしプロだから、とかは別にないでしょ

ただやはりいつまであるのかってのは客からも上がってくるからそういうのを忌避したいとことか別にC#でいいんじゃ?って思うところはあえて採用しようとはしない、って感じじゃ

自分は生産性上がっていいと思うけどね
2022/09/09(金) 12:00:31.47ID:UNSkh5ZW
vbがどうなったか覚えてるだろ?
あのマイクロソフトの代名詞にもなったvbが切られるんだからな
C#で十分な生産性が確保できる以上、五十歩百歩のメリットしか出せない割にデメリットのでかい別言語は要らんのよ
ほとんどスタッフの趣味で続いてるようなもん
139デフォルトの名無しさん
垢版 |
2022/09/09(金) 13:05:55.11ID:JNXuk8tN
うんだから、お前がロクなメリットを引き出せてない話はわかったからそれはどうでもいいです
2022/09/09(金) 13:31:54.27ID:UNSkh5ZW
引き出すも何もunionくらいだろ
些細なことよ
2022/09/10(土) 18:54:08.21ID:Qyx+mFnV
C#のUnionはC#10に実装の話も出てたけど11にも間に合わなかったな
型制約とenumで似たようなことができるとは言えあればあったで便利だと思うんだが
2022/09/11(日) 01:28:49.63ID:bYqWwakP
QiitaのF#を知ってほしい人もlinuxだし
M.Hiroi氏もWSLのUbuntuでF#入門やってた
windowsのVisualStudioじゃなくて
わざわざ仮想マシンやWSLのlinuxでやるのが主流なのかね
2022/09/11(日) 13:02:27.33ID:ouHf9wOU
C#から呼び出せるとか.netライブラリ使い放題とかは正直微妙に終わったと思う
その代わりUnix系言語の1つとして認められるようになった
この板はwindows系の言語は無視される傾向にあるのでそれはよいことだ
俺みたいにwindowsのCUIでしか使ってないごく少数派からみれば微妙ではあるが

dotnetになってからコマンドラインだけでやるのはもうしんどいというか無理があるね
設定をxmlで書かないといかんし調べてもよくわからんかった
fscとfciでがんばり続けるほどのレガシーもないからいいけど
144デフォルトの名無しさん
垢版 |
2022/10/16(日) 18:17:06.10ID:ey6gZIQ/
Fableやろうとしたけど環境構築で死んだわ
もうちょっと情報が充実してくれると助かるんだけどねえ
2022/10/19(水) 08:16:23.60ID:14kChQ3G
>>142
winget install dotnetなんとかsdkのコマンド一発で環境構築終わらなかったっけ

wslは知らないけど、pc向けlinuxならwingetの代わりにaptとか別のパッケマネで挿げ替えれば通った記憶があるので、linux/macOSなど若干アウェーな環境でも特に障壁はないはず

好みの問題かと
2022/10/19(水) 09:37:27.61ID:qMrE132j
>>144
Fableで何をしようとしているかにもよるけど、SAFE stackとかは?
147デフォルトの名無しさん
垢版 |
2022/10/23(日) 07:42:55.15ID:Ok80kDIa
>>146
フロントエンドだけで使う想定だったんで、SAFEだとちょっと大掛かりかなと思ってた

ちなみに原因はFableじゃなくnode.jsの依存関係にあった
npm installした後にnpm audit fixコマンドで脆弱性潰せみたいなメッセージが出るけど、
このコマンドを実行したせいで依存関係がめちゃくちゃになったらしい
無視したら普通にnpm startでコンパイル成功した
2022/10/24(月) 00:50:34.52ID:8Lz7V8Tn
>>147
なるほど。まぁ解決してるようなので良かったです。

Fableは日本語の情報が少ないので苦労するよね。

最近は個人的にFable.Litがお気に入り。
149デフォルトの名無しさん
垢版 |
2022/10/24(月) 10:05:32.79ID:aCYxRFeC
Fableも最近はElmぽくしてるやつが主流?
2022/10/24(月) 13:17:16.08ID:CSVgb4N8
YouTube で有名な雑食系エンジニア・KENTA の動画がある

EC2はもうオワコンです
www.youtube.com/watch?v=G_ILES8fmf8

もう、Windows の実行環境がない。
もう、OS, AWS EC2 も使わない。管理・構築しない

すべてコンテナ・Docker へ移行した。
使うのは、AWS Lambda, Fargate, Kubernetes

DockerはLinuxだけの技術で、他のOSでは使えない。
Microsoft も、Linux財団に加入して開発している
2022/10/24(月) 17:59:04.00ID:8Lz7V8Tn
>>149
Elmishも有れば、Felizスタイルっていう素のReactっぽい書き方も有ります。

この辺は好みで選べる感じみたい。

自分はElmishに慣れてしまったのでFelizスタイルはよく知らないっす。
152デフォルトの名無しさん
垢版 |
2022/10/24(月) 18:04:04.32ID:aCYxRFeC
Felizは初めて聞いた。フロント絶対触らないぞ、と頑張ってきたけどぼちぼちやらないといけなくなってきたからちょっと見てみるわー

jsでやるよりやっぱり楽かなー
2022/11/02(水) 07:52:27.54ID:lcK3s+C7
F#についてはまったくの初心者です
fortran pythonをうごかしていました
質問ですがf#でコマンドラインで実行ファイル作成法がわかりません
c#ですとコンソールで
csc file.cs と打って
実行すれば実行ファイルを作成できます
F#にもfsc.というコマンドがありますがエラーになります
dotnetをつけてもだめでした
visual studioでbuildをすればいいのかもしれませんが
visual studio不慣れで使いたくありません

f#ではコマンドラインで実行ファイルをつくることはできないのでしょうか
できないならf#はあきらめc#を勉強しようと思います

ご教示よろしくお願いします
2022/11/02(水) 10:18:21.97ID:VBEVpYP2
fsiでスクリプト実行じゃなくてコンパイルしたいなら、面倒だけどdotnet new --lang指定でプロジェクト作ってdotnet build
2022/11/02(水) 11:13:56.52ID:lcK3s+C7
>>154
ありがとうございます
以下を実行しました
program.fsを作成
dotnet new console -lang F# -o program -f net6.0
cd program
dotnet build
cd bin/bpc/debug/net6.0
program.exe

実行ファイルはできましたが
ソースひとつごとにプロジェクトを作成して
実行ファイルはソースと別のディレクトリにできる
ということになりますね

fsiを動かすにしても1ソース1プロジェクトのようですし
これで作業は効率的なんでしょうか
visual studioを使えっていうことでしょうかね

これまで
editorでrソース作って コンパイルして実行という手順に慣れている者にとっては面倒ですね

fsc.exeはいつ使うんでしょうかね
やはり C#かな
2022/11/02(水) 13:49:39.71ID:gl9lvyny
build時のデバッグ情報にfscの呼び出しあるだろ?真似ればいいんじゃね
自動で適切な引数渡してくれるのに、わざわざ自分でコンパイラオプションや必要なアセンブリ集める方がよっぽど面倒だと思うが
2022/11/02(水) 14:01:10.82ID:gl9lvyny
そもそも初心者が実行時コンパイルの僅かなオーバーヘッドを気にするべきじゃないと思うんだが
fsiスクリプトはほとんどの言語より高速だし、fscを触るのは本当にパフォーマンスに困ってからでいいかと
2022/11/02(水) 15:04:42.18ID:VBEVpYP2
コンパイラの仕組みに興味があるなら
https://github.com/dotnet/fsharp/blob/main/docs/overview.md

コマンドラインのオプション解析、parsing/lexing、参照解決、型チェック、最適化、バイナリ生成etc
全てfsharpで書かれてるので勉強にもなるし、ぶっちゃけマニュアル読むより速い
2022/11/02(水) 16:40:26.11ID:RxFRhVgo
>>158
MSの長い識別子と、頑強なんだろうけどベタ書きコーディングスタイルだとC#に見えてくる

yacc/lex風のDSLで文法定義してるのはF#らしいし眺める価値ある
160デフォルトの名無しさん
垢版 |
2022/11/02(水) 17:11:58.19ID:Cz0q4/YM
>>155
こいつみたいに勘違いして文句つける奴ほんまうざい
2022/11/02(水) 17:25:00.04ID:lcK3s+C7
>>158
ありがとうございます。
fsc.exeもfsharp(?)で書かれたテキストファイルなんですね
fsc.fsを155と同じ手順でコンパイルしてみました
fsc.exeはできましたが、
fsc program.fsを動かしてもprogram.exeはできません
結果を表示しますのでfsiになっているようです

ソースを書き換えればいいのでしょうが、私には無理です
fsharp 勉強してみます
2022/11/02(水) 18:58:19.36ID:lcK3s+C7
>>161
すこし動かしてみました 
表示はどうやってもHello from F#
になります。
ソースを読み直してみます
2022/11/02(水) 19:28:08.88ID:lcK3s+C7
>>163
buildしなおしましたら エラー100個でました
2022/11/02(水) 20:03:48.67ID:lcK3s+C7
どうでもいい話でおさわがせしています。
原因わかりました 対処法わかりませんが
dotnet new console -lang F# -o program -f net6.0
でプロジェクトをつくると
program.fsは hello worldを表示するfsをつくります
ソースをかえてbuildしたつもりでしたが、
常にprogram.fsをbuildしていました
ですので何をしてもhello wolrdを表示していました。

おさわがせしましてもうしわけありません。
155の流れのバッチファイルをつくればいいのかと考えています
2022/11/02(水) 21:08:41.81ID:VBEVpYP2
>>161
ごめんよくわからない、>>158のfscコンパイラのソースをコンパイルしたの?
fsc(.exe, dll etc)がそれだから持ってるなら必要ないよ
引数に何を与えるべきかドキュメント読んで分からないなら、>>158のコードは参考になるけど

dotnetのプロジェクト管理が嫌なだけなら、>>156の出力をコピペ&好きに改竄して、ps1でもbatでもshでもnmakeでもmakeでも好きな方法で呼べばいい
dotnet build -v d (-verbosity detaildの略)ね

ホスト、ターゲット、動的/静的リンク諸々全て環境依存だけど
dotnet path/to/fsc.dll -o:path/to/fsharp.dll \
-g --debug:portable --noframework \
--define:TRACE -define:NET6_0 \
...
-optimize- --tailcalls-
-r:path/to/dlls \
...
--target:exe --nocopyfsharpcore ... Program.fs
みたいなコマンドを発行してはず
2022/11/02(水) 21:15:42.03ID:VBEVpYP2
というかこんな些末な事を気にする前に、とにかくfsiを立ち上げて公式チュートリアルでもこなせば
2022/11/02(水) 21:24:08.66ID:ahOvjMWx
環境構築が趣味なんだろ
2022/11/02(水) 22:18:02.52ID:Dj/Cqb/4
ビルドできてREPLも使えてるのに何が問題なんだ?
自分好みのビルドスクリプトを書きたいようだけど、使ってない言語のコンパイラオプションを適切に選べるとでも思ってるのか

そんなに俺々ビルドスクリプトを書きたければ、F#で書けばいいのに
batなんかよりずっと楽に書けるぞ
2022/11/03(木) 07:54:33.74ID:diaW/wXZ
もう一度 fsc.exeを探しましたら 見つかりました
おそらく visual studioをインストールしたときにできたものと思います
場所は
c:\program file (x86)\Microsoft Sdks\F#\4.0\Framework\v4.0
コマンドプロンプト画面で
fsc program.fsxと打つと
program.exeができました
fsi program.fsx
でhello world
も表示できました

editor+コンソールでの作業に慣れていますので
これで心置きなくF#を勉強できます

おさわがせしましてもうしわけありませんでした
170デフォルトの名無しさん
垢版 |
2022/11/03(木) 07:59:03.87ID:sWIbv+Sc
何でわざわざexeにしてるのか意味わからん
評価したいとこ選択して評価すればいいだろ
2022/11/03(木) 08:26:48.53ID:diaW/wXZ
FSI.exeが動きますので
評価はfsiでもできます
ソース作ってfsiを動かすだけですので
私的にはテストを楽にできます

複数の機器でテストしたいこともありexeファイルも必要となっています。
2022/11/03(木) 15:14:32.39ID:diaW/wXZ
visual studioをインストールしなくとも
Visual F# Tools 4.0 RTM
https://www.microsoft.com/en-us/download/details.aspx?id=48179
をダウンロード、インストールすれば
f#のコンパイル環境をつくれました。
VS2022はwindows32ビットに対応していなかったのですが、これでF#をテストできます
(dotnetを使えば動くようですが)
2022/11/07(月) 10:48:53.78ID:tRej1mOW
vscodeで動かそうとしましたがデバッグの環境をうまく設定できず
コマンドラインでうごかしています
バージョンが古いせいかときどきエラーでとまります
たとえば
printfn "%s %s %s %s" names.[0] names[1] names[2] names[3]

Successive arguments should be separated by spaces or tupled, and arguments involving function or method applications should be parenthesized

printfn "%s, %s, %s, %s" names.[0] names[1] names[2] names[3]
にして動きました

また、小文字、大文字を区別しているんですね しばらくエラーがでて考えてしまいました

関数型とは なんでも名前をつけるということなんでしうか
例えば  a+bはadd とか
途中で数式を使わないということでいいんでしょうか

面白いですが
数値解析+画像表示に使えるかどうか
2022/11/07(月) 16:58:29.61ID:tRej1mOW
letで関数作るとき
改行するとpythonのように文字下げしなければならないんだね
わかるまで1日かかった
2022/11/08(火) 11:41:00.43ID:TUBjjFuN
ライブラリ FSharp.PowerPackを入れて複素数を計算してみようとしていますが出力方法がわかりません
わかりましたら教えてください 
単純化しています 

#r "FSharp.PowerPack.dll"
let x = complex -1.0 0.0
printf  (を出力)
2022/11/08(火) 14:01:13.27ID:TUBjjFuN
>>175
わかりました
printf "%e,%e" x.RealPart x.ImaginaryPart

また1日かかってしまいました
177デフォルトの名無しさん
垢版 |
2022/11/08(火) 15:23:19.55ID:OezK6zca
洋書なら比較的新しい環境構築も含めた入門書あるだろうから先にそれ読んだ方がいいんじゃないの
2022/11/08(火) 18:53:26.48ID:ruqPIjM/
F#の情報は、まあ少ないなあ

プログラミングの一般的な知識や慣習が欠けてるならPowerPackで古い日本語サイトや書籍の多いML(というかOCaml)と大体互換になるので、それも参考に
2022/11/09(水) 18:04:47.14ID:Ye9xlnfW
アマゾンでは評判悪いですが
やさしいF#入門 日向健二著
で勉強しています。2010年出版ですのですこし古いかもしれませんが基本は同じかと
windowsアプリケーションの例題を動かしてみました
オブジェ久トに関しては今から勉強です

それとは別に
microsoft visual F# programming
www.visualfsharp.com/index.htm
でsystem.drawingでのグラフィックを試しています
xplotとかplotlyが必要なのかと思っていましたがどうなんでしょうか
2022/11/10(木) 00:34:16.29ID:zLzbMwRI
>>173
関数型とは何か、なんて言える程偉くないのでとりあえず
処理を連ねて書き(パイプライン、|>)、抽象化できる部分に名前を付けてファクターアウト(関数合成、>>)
というF#の目立つスタイルについてだけ

それ自体は連鎖型言語(forth, postscript等)スタイルを型推論で補強したもの、と見ていい
名前の付け易さ=テキストとしてのコード片に意味を与えられるか

グローバル状態へ(副)作用する演算子の併置のみで記述する連鎖型言語には、プログラムから任意に切り出したコード片も有効なプログラムとなる性質がある
一方でそのコード片の任意な繋ぎ合わせも有効(だけど多分無意味)という問題もある

関数型スタイルは状態を持つ事を避ける真逆の発想でロジックの分離を奨励するけど、柔軟な記法定義を許せば連鎖型風のテキスト上の切り出し性までエミュレートできる
さらに型推論で無意味な貼り合わせの大半を防ぐ、というのが売り
2022/11/10(木) 00:45:12.32ID:zLzbMwRI
関数型を極端に突き詰めれば、引数に一切言及しないポイントフリースタイルに行き着くけど
これは連鎖型スタイルそのもの、唯一のグローバル状態が暗黙の引数なので言及しない

当然どちらの極端も実用的でないので、名前は付けようね
2022/11/10(木) 01:26:51.45ID:OT0JIVh4
純粋なforthプログラムはコンビネータの列と見なせるし、むしろ関数型と呼んで良いのでは
括弧、というかスコープが無いのでラムダ計算との相性が悪すぎるのが難点
lispの対極
2022/11/10(木) 18:27:18.07ID:Z9ZM7zcW
コードをフラットに書ける点に着目するならML系やHaskellの自動カリー化も忘れるな
lispでもやろうと思えばできるけど、()のネストでフラットには読めないし、()を除いたら自慢の一貫性のある意味論が崩壊する
2022/11/11(金) 07:57:58.07ID:9wAD6Zbc
vs、vscodeを使えればわざわざやることもないのですが
これらが使えないので
sublime text3 でF#の実行環境をつくりました
パケージのインストールに手間取りました

これで、エディターだけで実行までできるようになりました
2022/11/11(金) 19:22:08.65ID:9wAD6Zbc
sublimeが動きだしましたので、これまでつくったWEBアプリのサンプルをテストしてみました
ウィンドウを開いて線を表示する例、 sublimeですと動きません
いろいろ試してne for,rm()をnew Form(,Visible=true)にすると動きました
ところが、修正したソースをコマンドラインからfsiで動かす動きません

どうなってるんでしょうかね
186デフォルトの名無しさん
垢版 |
2022/11/11(金) 21:43:50.15ID:bDcA3rjx
別スレ作ってそっちでやれよ
2022/11/12(土) 06:48:22.30ID:Vk5CwTlK
>>185
F#で書いてるんだけど
188デフォルトの名無しさん
垢版 |
2022/11/16(水) 19:40:08.80ID:+z5R74k6
Fabulousで.NET MAUIが使えるようになったらしい
https://twitter.com/Tim_Lariviere/status/1592803782785892353?t=qpmQw2HsID1jAEsuOl9LBw&s=19
https://twitter.com/5chan_nel (5ch newer account)
2022/12/06(火) 21:42:45.15ID:Z/dKkADi
>>182
それでなぜラムダ計算との相性が悪すぎるのか
スコープって見た目の話か
2022/12/06(火) 22:36:21.38ID:QlIMbh6a
>>189
おれはgforthで遊んでるくらいだけど、ラムダ計算っぽく書けないという意味ならスコープのせいだろう
ローカル変数(スタック){: ... :}もANSIに入りはしたけどゴミだから俺独自の{ ... }使えって始末
forth-standard.orgで議論やってるけど、ローカル関連は炎上祭りよ
そもそもの言語哲学に反してるのもある
2022/12/06(火) 22:56:03.79ID:NXqSTiS1
仮引数すら拡張的な位置付けなら、λの入り込む余地なんてないわな
2023/01/09(月) 22:38:07.76ID:P8VzlMvA
最近独学で触り始めて面白いなーと思ってるんだけど
日本でF#の案件ってないのかな
193デフォルトの名無しさん
垢版 |
2023/01/10(火) 12:55:32.80ID:xQ3373Gc
実案件にF#ぶっ込んだけど募集案件としてはたまーに見るくらいやな
194デフォルトの名無しさん
垢版 |
2023/01/23(月) 15:49:01.68ID:vIT0tuiY
人気ないなあこの言語
2023/01/23(月) 17:21:06.97ID:a4EgEm41
>>194
んー。なんでだろうね
196デフォルトの名無しさん
垢版 |
2023/01/25(水) 09:53:51.40ID:RZa9VHBZ
この言語って"知られていない"の一点に尽きる気がする
TypeScriptよりも書いていて気持ちいいと思うんだけどな
197デフォルトの名無しさん
垢版 |
2023/01/25(水) 20:02:30.86ID:2bKf7Laz
MSが力入れてないのでテンプレートがないとかで使いにくいとこはあると思うけどそのほかは今でもC#より優れてるとこ多々あるとは思うよ
Unityで使えるならこっち使いたいわ
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。