gooddays1
-
#Haskell入門 メモ10月18日(月)はp.24~p.33(10ページ)あまり読む時間を取れなかった。ゆっくりでも着実に進んでいこう。
10-19 07:42 -
#Haskell入門 メモ p.32I/Oアクションの説明がよく分からない。→具体例を見ないとピンと来ない?・I/O(副作用)を発生させる→返り値の有無→Unit型(void)は返り値が不要な場合の空の値?・return関数は、何もせず値だけを返すI/Oアクション→副作用がないI/Oアクションは順番の制御が役目?
10-19 08:31 -
#Haskell入門 メモ p.32用語・IOは「モナド」の1つ。・モナドは「モナドアクション」を提供する。・モナドアクションは「>>=」演算子で合成できる。・モナドは「return」という共通のモナドアクションを提供する。→後で具体例を見て理解しよう。
10-19 10:42 #Haskell入門 メモ p.33「ボトム」は式の評価が正しく終わらないこと。・ボトムは任意の型を持てる。・計算の途中でエラーが発生 → undefined、errorという式・無限ループボトムの使いどころ・式の型だけ決めて後で実装する場合。・バグの調査でerrorを埋め込む。ボトムはなるべく使わない。
10-19 11:11#Haskell入門 メモ p.342.3 変数・束縛(binding):変数を宣言して内容を決めること。・immutable:変数の内容を後から変更できないこと。・再代入ができない。・必ず値が入っている。未初期化はない。空の値を束縛できない。・唯一の例外がボトム。正常に値が得られない場合がある。
10-19 11:42#Haskell入門 メモ p.35変数を宣言できる場所・「=」は単体では式じゃないので任意の場所に書けない。書ける場所は、・トップレベル・where・let ~ in ~ 式の3カ所。可読性の良さからlet ~ in ~ 式よりもwhereの方が好まれる。
10-19 13:18#Haskell入門 メモ p.36レイアウトルール:インデントでブロックを表現する記法。・インデントにはスペースを使う。タブは使わない。・スペースの個数は自由。引っ込んでれば何個でもOK。・レイアウトルールを使わない場合は、「{」「}」「;」でブロックと区切りを書く。→ワンライナーとか?
10-19 13:22RT @jaaf_official: #鈴木亜由子 選手(日本郵政グループ)🏃♀️💨スタートまで30分を切りました☀️3選手ともアップを終えています‼️#誇りを胸に世界へ挑む🇯🇵 https://t.co/vIkiuPS3ge
10-19 13:58RT @jaaf_official: #前田穂南 選手(天満屋)の様子です🏃♀️☀️#誇りを胸に世界へ挑む🇯🇵 https://t.co/c7myC2RJwk
10-19 13:58RT @jaaf_official: 【#東京オリンピック】🇯🇵女子マラソン日本代表選手記者会見コメント🇯🇵~前田・鈴木・一山がレースに向けた心境を語る~https://t.co/kNsXTkXaLD#誇りを胸に世界へ挑む#Tokyo2020#がんばれニッポン#…
10-19 14:16
「君のためを思って」の9割思ってない。→一見親切な行動に見えても、内心では何らかの見返りを求めている場合が多いから?(見返り=自分の利益) https://t.co/FXIKyPaMlk
10-19 14:25#Haskell入門 メモ p.38変数の命名則・1文字目は小文字と「_」が使える。・2文字目以降は、加えて、大文字、数字、「'」が使える。・PythonのPEP8のような広く使われる命名則はない。アポストロフィー(')が使えるってのがちょっと変わってるかな?
10-19 14:40#Haskell入門 メモ p.38関数・関数の定義:「関数名 引数 = 式」・関数の適用:「関数名 引数」・複数の引数を持つ場合は、空白区切りで必要な数だけ並べる:「関数名 引数1 引数2 … 引数n」・関数の型は「->」という区切りの記号で表される例 Prelude> :type succsucc :: Enum a => a -> a
10-19 16:53せっかくある余暇をどう使うかで、夢を実現できるか決まる。自分の目標に近付きたいならやるべきことを淡々とこなしていく。自分の目標に近付かなくてもいいなら適当に遊んで終わり。本当に近づきたい目標を設定しているなら、吸い寄せられるように近づくだろう。→本当に近づきたい目標なのか?
10-19 19:08時間を浪費することは、本当にもったいないことだと思う。他のことなら取り返しがきくことでも、時間だけは絶対に無理。過去に戻ってやり直すことはできない。最高に価値ある時間を過ごしたい。別に地味でもいい。自分の夢を実現できることを選ぼう。
10-19 19:10自分が完璧で全知全能じゃない以上、失敗をするのは仕方がない。だけど、同じ失敗を何度も繰り返すのは、やはりアホだと言わざるを得ない。1度目よりも2度目、2度目よりも3度目と、少しずつでも賢くなっていなければ、そこに成長はない。資本主義ならぬ時間主義で価値観を転換しなければならない。
10-19 19:12なぜ、Haskellを学んでいるのか?それは、関数型プログラミングの恩恵を手に入れるため。副作用を明確に分離/管理して、バグを減らしたい。自分が作りたいアプリ/サービスが明確なら、途中をつなぐ青写真も必要だな。スタートからゴールへ向かう経路が明確な方が、迷いがないから。
10-19 19:15今のところ、魔法のような銀の弾丸はない。あったらみんな使っているはず。ベストではないにしても、今ある選択肢の中でモアベターを選びたい。未来に素晴らしい手段が登場しているのなら、その時使えば良いだけの話。今与えられた条件の中で頑張る。ないものねだりはできない。
10-19 19:17#Haskell入門 メモ p.43「**」→べき乗の演算子cf. とほほのHaskell入門 - とほほのWWW入門 https://t.co/nYa5nFiny1expr1 ^ expr2 -- 累乗(expr1もexpr2も整数)expr1 ^^ expr2 -- 累乗(expr1は実数、expr2は整数)expr1 ** expr2 -- 累乗(expr1もexpr2も実数)面倒なので「^」か「**」と覚える
10-19 22:23#Haskell入門 メモ p.44ポイントフリースタイル・関数の定義で、関数合成演算子「.」を使った定義は、変数(ポイント)を使わないので、ポイントフリースタイルと呼ばれている。なんか響きがカッコイイ!?😀
10-19 22:29しかし、ポイントフリースタイルの多用は、コードの可読性を低下させるので、調子に乗って使わない方が無難😅例:z = \x y -> (x + 2) * (y + 3)はポイントフリースタイルでz = (. (3 +)) . (*) . (2 +)と書けるけど、すぐに意味を理解できない。→関数の本体は普通に書こう!
10-19 22:34知っている人だけとSNSをやるなら、SNSじゃなくて直接会って話せばOK?(安全) https://t.co/yk4mPtLEVm
10-19 23:10