[過去ログ] 関数型プログラミング言語Haskell Part33 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
3: 2020/02/10(月)18:18:27.57 ID:L6eYQqyh(3/5) AAS
関連サイト
(英語)
Haskell - Wikibooks, open books for an open world (ページ内に内容をまとめたPDFあり)
外部リンク:en.wikibooks.org
Learn You a Haskell for Great Good! (『すごいHaskellたのしく学ぼう!』の無料オンライン版)
外部リンク:learnyouahaskell.com
Real World Haskell (同名書籍の無料オンライン版)
外部リンク:book.realworldhaskell.org
(以下、日本語)
Haskell入門 5ステップ - HaskellWiki (公式サイト内、日本語入門セクション)
外部リンク:wiki.haskell.org
Haskell - Wikibooks (上記Wikibooksの同タイトル日本語版。多くの項目が未編集)
外部リンク:ja.wikibooks.org
A Gentle Introduction to Haskell, Version 98
外部リンク:www.sampou.org
Haskell のお勉強
外部リンク:www.shido.info
お気楽 Haskell プログラミング入門
外部リンク[html]:www.nct9.ne.jp
本物のプログラマはHaskellを使う
外部リンク:itpro.nikkeibp.co.jp
[入門]関数プログラミング―質の高いコードをすばやく直感的に書ける!
外部リンク:gihyo.jp
38: 2020/02/15(土)23:05:59.57 ID:zVmjMtcZ(1) AAS
>>24
「読みにくい」ではなくて「詠みにくい」かw
77: 2020/03/27(金)12:07:06.57 ID:gM1jKcLP(2/6) AAS
>>76
もう少し詳しくたのむ
評価順序を考えたらどうして命令列になんの?
525: 2020/10/31(土)12:34:33.57 ID:fxcwqRC2(1) AAS
この木なんの木きのこる木
553: 2020/11/02(月)23:56:16.57 ID:Zq9JUsOb(1) AAS
>>552
元は別スレに出てた問題で
「与えられた文字列の中で“trickと"treat”どっちが先に出てくるか判定せよ」
なんです
とりあえずparserを与える関数として
makeP = mconcat . map ( manyTill anyChar . char )
でできました
コレを例えば"abc"にapplyするとmtl = manyTill、ac=anyCharとして
(mtl ac $ char 'a') <> (mtl ac $ char 'b') <> (mtl ac $ char 'c'>
というparserになりコレにhiajklbcnという文字列をparseするとhijklとabcが出現するするまでに読み飛ばした文字列を返してくれます
それでお題の答えとしてparseの結果を
lastInd x s = case ( runParser ( makeP x ) () "" s ) of
Left _ -> ( [ 2, 0 ] , x )
Right y -> ( [ 0, length $ x ++ y ], x )
のようにしてlengthで数えたんです
しかしちょっと冗長なかんじがします
そもそも読み飛ばした文字列なんか欲しいわけではなく読み飛ばした文字数が欲しいだけだからほんとは
Parser String 型ではなく例えば
length <$> ( manyTill anyChar ( char 'x')
とかのParser Intで十分です
問題はコレをどうやって繋げて総和を返すコンビネータを作ろうかというところなんです
Parser Stringはmonoid型を持ってるのでmconcat一発で繋げられるんですがParser IntはNum持ってないのでsum一発で繋げるというわけにはいかないんです
なんとかできないかと探してみるとなんか「Numをderivingする」という記事を見つけて、お、コレでいけないかと色々やってみたんですがやはりParser Intにderiving一髪でNum入れる方法見つからなくてなんとかならんもんかと
571: 2020/11/12(木)23:16:18.57 ID:G64JuFLE(1) AAS
⊥になるものでいいじゃん
576: 2020/11/21(土)23:31:14.57 ID:ak7brOTq(1) AAS
Haskellはライブラリの中身を覗くと
Template Haskellを駆使した
グッチャグチャの実質別言語みたいなコードがザラなのがなぁ・・・
水面下の白鳥状態じゃねーか
577: 2020/11/22(日)16:59:26.57 ID:gt3QNmmg(1) AAS
ゴミライブラリ使うのやめて良いやつ作って公開してくれ
676: 2021/01/22(金)02:27:11.57 ID:XLcorGPG(1) AAS
欲しかったHaskell
・型を最大限に活用、バグが無いことを保証しつつ自然にC言語並みの性能も出る
745(1): 2021/02/17(水)14:02:08.57 ID:YPZ4jTJ4(1) AAS
map f [1,1,1,2]のように重複の多いリストがあったら
fの実装を変える勢力とリストの構造を変える勢力の争いをどうやって解決できるか気になる
779: 768 2021/03/20(土)12:05:15.57 ID:WUxvQvbt(1) AAS
>>778
ありがとうございます
こちらこそ、たびたびすみません
マンガのセリフのことを「ネーム」というらしいので、書いた字面をいうのかなと考えたり
name を和英・英英辞典で調べても、結局しっくりきませんでした
スレ汚しすみませんでした
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.045s