関数型プログラミング言語Haskell Part34 (692レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
39(1): デフォルトの名無しさん [] 2022/01/03(月) 12:59:34.38 ID:hLrwvjQQ(2/2) AAS
今回の場合1ワード消費するたびにスタック一個消費するから必要なメモリリソースが倍以上になる可能性もあるから意味はあるかな
特にコレは>>3434(3): デフォルトの名無しさん [sage] 2022/01/02(日) 20:44:02.99 ID:OOMiLRw0(1/2) AAS
>>30ちょと改変
wc6 = let
iter n [] = z
iter n (False:True:xs) = let n' = n + 1 in seq n' $ iter n' xs
iter n (x:xs) = iter n xs
in (iter 0) . (False :)
wcc = wc6 . map chkspand2
これのseq n'が効けば+1+1+1+1が積みあがらないはず
の方法だと必要なメモリリソースがデータ保持する分を除けばlogオーダーになるからな
しかも読み込んだデータは順次捨てていけるし(そこまでのカウント結果を保持しないといけないので有限オートマトンでは無理だけど有限オートマトン以上、チューリング完全以下、こういう計算クラスは名前ついてるのかな?)
個人的にはこういうときメモリ線形、時間線形までは許さないと大した事できないことが多いのでそれ以上のこだわりは持たないようにしてる
数学的研究対象とかにするなら別だけど
160: デフォルトの名無しさん [sage] 2022/11/07(月) 12:18:26.38 ID:y2qdzeiV(2/2) AAS
誤操作スマソ
233: デフォルトの名無しさん [] 2023/09/16(土) 21:25:49.38 ID:6682wM15(2/3) AAS
等価判定演算子では順番を問わないが、
記法としては順番によるインデックスアクセスもできる、が便利だと思うのですが
一番基礎的な集合の一つである自然数が順番を重視して扱うように大半の集合は順序を整頓して書かないと実用上不便ではないでしょうか?
342: デフォルトの名無しさん [] 2024/08/29(木) 20:48:46.38 ID:gtm/5H5m(3/4) AAS
>>339独自の(+)を自動で使い分けてもらうにはNum型クラスのインスタンスにする必要があるけど、それでも見分けるには型が違わないといけない。
独自の(+)は、独自の型を受け取りますか?
そうじゃないとPreludeの(+)と判別する術がないけど。
344: デフォルトの名無しさん [] 2024/08/31(土) 21:17:53.38 ID:XbdVGeAf(1) AAS
ワカランドとして .+. と .-. と .*. を定義することにしました。しかし本質的に解決するにはNumクラスのインスタンス宣言するらしいですね。
しかし独自型同士の+と-、Rationalとの*、Rationalとの/はできますが、
独自型同士の*、独自型同士の/は定義不可能です。
従ってNumクラスになることはできませんでした。
結局どうしていいか判らんどからのワカランドで落ち着きました。
415: デフォルトの名無しさん [sage] 2024/10/02(水) 20:53:28.38 ID:4E8lSXKR(1) AAS
出番ですよ >>399399(2): デフォルトの名無しさん [sage] 2024/10/01(火) 23:08:20.75 ID:KbL1rq/V(2/2) AAS
バグを無くすこと自体が目的になりがちなのが数学とプログラムなんだよね
真の目的のため、デバッグを二の次にするやつが正しいと言われても・・・
それって証明とかあるんですか
548: デフォルトの名無しさん [sage] 2024/10/08(火) 23:08:48.38 ID:Fz/Eetv9(1) AAS
こんなんだけど
>通常では,自然数などのデータ型は,効率のためにシステムに組込んであるが,CPLでは定義しなければならない.
>また,定義したとしても,機械本来の足し算,かけ算を使用できず,独自に定義しなければならない.
552: デフォルトの名無しさん [sage] 2024/10/15(火) 05:30:10.38 ID:CzVFQLgH(1) AAS
みんなStackだよ
Cabalの依存関係解決はましになったとはいえプロジェクト構成の記述はStackのほうがよくできてるし
553: デフォルトの名無しさん [] 2024/10/15(火) 22:34:15.38 ID:2I09ehic(1) AAS
詳しい情報サンクス
CabalやめてStackに帰ります
GHCup tuiで選べるCabalやHLSやStackも全部recommendedに落とします
605: デフォルトの名無しさん [sage] 2024/11/16(土) 22:29:43.38 ID:MlIU4R6X(1) AAS
多分加筆してると思うよ
日本の出版社はなぜかページ数制限があることが多いんだけど
海外にそれはないし
670(1): デフォルトの名無しさん [sage] 2025/10/08(水) 13:07:06.38 ID:4LSFWHe4(1) AAS
>>668668(3): デフォルトの名無しさん [] 2025/10/08(水) 08:47:56.03 ID:66xUgFQM(1/2) AAS
int* map(int (*f)(const int), const int* array, const int n){
int* p = malloc(sizeof(int) * n);
for(int i = 0; i < n; i++) p[i] = f(array[i]);
return p;
}
ふむ、メモリ管理が必要な言語が(見かけ上)副作用のない関数を作ろうとしたら配列を返す関数の時点で関数を使った後は必ずメモリの開放が必要になるのか。
開放が必要だから、参照を持つためにポインタへの保存が必須なので、関数の連続適用(関数合成)は絶望的。
これじゃ、GCやRustみたいな仕組みが必要になるわけだ。
30点の理解
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.038s