したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

Haskell勉強スレッド

1ひきぷろ:2017/02/25(土) 12:27:25 ID:W05e4jDU0
Haskellの勉強用スレッド

2(-_-)さん:2017/02/26(日) 09:13:10 ID:???0
・余再帰の例

function [] = []
function (x:xs) = (process x):(function xs)
 where
  process x = 〜

再帰が別の関数の引数(この場合(:))に登場する


・末尾再帰の例

function writer [] = writer
function writer (x:xs) = function (e:writer) xs
 where
  e = 〜

定義が始まりから再帰になっている

3(-_-)さん:2017/02/26(日) 09:25:35 ID:???0
iomonadfunction >>= return . nonmonad



nonmonad <$> iomonadfunction

と書き直せる。(∵ IOモナドはファンクタとしてそのように便宜を図る実装がされている)

cf.Control.Applicative

4(-_-)さん:2017/02/27(月) 05:41:28 ID:???0
そういえばHaskellって名前付けに定番ぽいのあるけどHaskell関連の本で推奨とかされてるのかな?読んだことないけど
リスト系だと末尾にsをつけて x:xs とか
再帰系だと acc というアキュムレータ(?)というやつの名前とか
関数の内側に定義する関数だと loop とか go とかを見かける、メインの関数名の末尾にアポストロフィつけた感じのもあるね

5(-_-)さん:2017/02/27(月) 05:44:43 ID:???0
アポストロフィは正格評価って意味で使われてることもあるんだっけ?
あと関数名末尾にMをつけるとモナドを意味する場合もあるらしいね
命名とかの慣習系はよく分からない

6(-_-)さん:2017/03/02(木) 05:55:32 ID:???0
https://downloads.haskell.org/~ghc/7.8.1/docs/html/users_guide/type-class-extensions.html#overloaded-lists
Overloaded lists
Listみたいな表記方法でMapとか書ける糖衣構文


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板