関数型プログラミング言語Haskell Part34 (677レス)
関数型プログラミング言語Haskell Part34 http://mevius.5ch.net/test/read.cgi/tech/1639713446/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
26: デフォルトの名無しさん [sage] 2021/12/31(金) 02:20:27.03 ID:aP8qPSMg シンプルなワードカウント書いたけど関数合成でワードカウントが組めません " ab ccc dd "を[0,1,1,0,1,1,1,0,1,1,0]みたいなリストに変換して ワードの数は3みたいな 以下普通に書いたワードカウント spwc4 :: [Char] -> Int spwc4 s = wc4 s 0 0 where wc4 :: [Char] -> Int -> Int -> Int wc4 [] l c = (c + (if l == 0 then 0 else 1)) wc4 (x:xs) l c | x == ' ' || x == '\t' || x == '\n' || x == '\r' = if l == 0 then wc4 xs 0 c else wc4 xs 0 (c+1) | otherwise = wc4 xs (l+1) c 文字列を chkspand :: Char -> Int chkspand c = if c == ' ' || c == '\t' || c == '\n' || c == '\r' then 0 else 1 に与えて[0,1,1,0,0,1]みたいなリストに変換 これを関数合成でカウントすると内部状態を保持する必要で困惑中 wordcount . map chkspand $ " asas df df" みたいな書き方がしたい http://mevius.5ch.net/test/read.cgi/tech/1639713446/26
197: デフォルトの名無しさん [sage] 2023/01/19(木) 20:45:58.03 ID:LuniV29G 間違ってさえいない文章 真偽以前に中身がない http://mevius.5ch.net/test/read.cgi/tech/1639713446/197
198: デフォルトの名無しさん [sage] 2023/01/19(木) 20:49:17.03 ID:LuniV29G それっぽいだけで少し読めば大したことすら書かれてないのがわかる http://mevius.5ch.net/test/read.cgi/tech/1639713446/198
246: デフォルトの名無しさん [sage] 2023/09/20(水) 08:38:40.03 ID:I55f6i4N for i in * ; do touch anotherdir/$i ; done http://mevius.5ch.net/test/read.cgi/tech/1639713446/246
356: デフォルトの名無しさん [] 2024/09/07(土) 19:33:25.03 ID:9PXNQc4Q 長大な処理となる関数を実行途中にRAM使用量が嵩んでいくとします 中には解放できる部分もある場合について、 このままガベコレせずに進んでいったらいずれOSが『君にはもうRAM貸せないよ』と言ってくるでしょうが、ランタイムシステムは ?その時になってようやく解放できる場所がないか探し出す ?-i 今必要な最低限の確保ができたら即そこに記録して終わり ?-ii 強制的にminorGCを発動して、即そこに記録して終わり ?-iii 強制的にMajorGCを発動して、即そこに記録して終わり ?-iv 強制的にBlockingMajorGCを発動して、即そこに記録して終わり ?-v もはや解放できる場所は見つからないと判断したら例外終了 ?何もせず例外終了する ?その他 どれですか? http://mevius.5ch.net/test/read.cgi/tech/1639713446/356
391: デフォルトの名無しさん [sage] 2024/10/01(火) 20:52:10.03 ID:u1x9FxNe 雪田修一の「圏論入門 Haskellで計算する 具体例から」ってどうなん? http://mevius.5ch.net/test/read.cgi/tech/1639713446/391
417: デフォルトの名無しさん [sage] 2024/10/02(水) 21:18:36.03 ID:JUMm5MLB 数学の研究には有用かも知れないが プログラミングで 直接役に立つようなことはまず無い http://mevius.5ch.net/test/read.cgi/tech/1639713446/417
512: デフォルトの名無しさん [sage] 2024/10/04(金) 23:22:52.03 ID:WSIC8Xt5 >>511 お前が言い出したんだろ http://mevius.5ch.net/test/read.cgi/tech/1639713446/512
587: デフォルトの名無しさん [sage] 2024/11/03(日) 17:33:41.03 ID:4RaSizfZ その手のはかなり昔からの話だしその頃pythonはそんな一般的ではない http://mevius.5ch.net/test/read.cgi/tech/1639713446/587
668: デフォルトの名無しさん [] 2025/10/08(水) 08:47:56.03 ID:66xUgFQM 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みたいな仕組みが必要になるわけだ。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/668
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.141s*