関数型プログラミング言語 Haskell について語るスレです。
Haskell Language(公式サイト)
https://www.haskell.org/
日本Haskellユーザーグループ - Haskell-jp
https://haskell.jp/
前スレ
関数型プログラミング言語Haskell Part32
https://mevius.5ch.net/test/read.cgi/tech/1548720347/
探検
関数型プログラミング言語Haskell Part33
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/02/10(月) 18:17:36.49ID:L6eYQqyh397デフォルトの名無しさん
2020/08/19(水) 20:35:34.21ID:1ghAy1sC (今は結合性と優先順位は無視していいので)
n + m
は
(+) n m
と同じ意味になる。
つまり(2)は
add = (+)
に変数を明示して右辺の演算子を中置記法に戻しただけ
むしろ変数増やしたのが見にくい原因
n + m
は
(+) n m
と同じ意味になる。
つまり(2)は
add = (+)
に変数を明示して右辺の演算子を中置記法に戻しただけ
むしろ変数増やしたのが見にくい原因
398デフォルトの名無しさん
2020/08/20(木) 07:58:20.18ID:mQjEXV61 >>392
(1) の展開は中途半端で、ちゃんと書くならこう
(0)
add :: Int -> Int -> Int
add = \n -> \m -> n + m
これを(1)や(2) のように書いてもよいというのはHaskellの決め事
慣れないうちは常にこう書いていてもよいが
書くのも読むのも段々面倒になってくると思う
慣れればあまり意識せずに読み替えられるので
ついでに言うと
真の2変数関数が必要ならタプルを用いてこう書く
add'' :: (Int, Int) -> Int
add'' (n, m) = n + m
これらは確かに厳密には区別しなくてはいけないが、
ゆるく同一視しておくほうが便利なことも多いので
Haskellでは(2)のような書き方が許されている、と自分は理解している
(1) の展開は中途半端で、ちゃんと書くならこう
(0)
add :: Int -> Int -> Int
add = \n -> \m -> n + m
これを(1)や(2) のように書いてもよいというのはHaskellの決め事
慣れないうちは常にこう書いていてもよいが
書くのも読むのも段々面倒になってくると思う
慣れればあまり意識せずに読み替えられるので
ついでに言うと
真の2変数関数が必要ならタプルを用いてこう書く
add'' :: (Int, Int) -> Int
add'' (n, m) = n + m
これらは確かに厳密には区別しなくてはいけないが、
ゆるく同一視しておくほうが便利なことも多いので
Haskellでは(2)のような書き方が許されている、と自分は理解している
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 【サッカー】日本代表、FIFAランキング“4位”の強豪イングランドとの対戦が正式決定! 来年3月に聖地ウェンブリーで激突へ [久太郎★]
- 日本、G7への中国招待を懸念 議長国フランスに慎重な対応要請 [どどん★]
- 三石琴乃ちゃんとかいう若手美人声優
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- ひまだねー
- ハートチップルの袋の柄のパンツとかカーテン
- 『エアジョーダンのゲン』にありがちなこと
- 腹減ったからすき家のローストビーフ丼食べに行ってくる
