エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Arrowを写経 - 趣味的にっき
新しい概念を覚えるには、とりあえず写経して使ってみよう。ということでやってみました。 大体何ができ... 新しい概念を覚えるには、とりあえず写経して使ってみよう。ということでやってみました。 大体何ができるのかわかったような気がしますが、これがピタっとハマる適用例って何でしょう? 便利で使えそうだとは、何となくもやもや思うのですが、どこで使うべきなのかいまひとつピンときません。うーむ。。。 module Main (main) where import Control.Arrow f :: Arrow a => a Int Int f = arr (+ 1) g :: Arrow a => a Int Int g = arr (+ 2) main :: IO () main = do print $ f 100 -- => 101 print $ g 100 -- => 102 -- 関数fとgを直列に繋ぐ。100 + 1 + 2。 print $ (f >>> g) 100 -- => 10