Week03と、Week04のテストを終えた
Week03の評価を行なった結果、自分の答えは大体サンプルと同じようになりつつあって個人的に満足だった。人のコードも見ることが出来るのはとても勉強になる。
自分の課題で精一杯だから、人のコードをこうでもしないと見ないと思う。だけど人のコードをみるのは、本当に本当に大切だと思った。こんな書き方があるんだなあ!と感服することばかり。まれに自分よりできない人のを見ると「がんばれ!あきらめるな!」と思う。
さて、Week04は中間テストで課題は出てない。しかしながらテストの練習と、本番テストと2つあって、レクチャーを見ないと後半のモジュール(structureとsignature)絡みのテストはさっぱりであるので、なんだかんだで結構やっかいである。ひっかけもあったし満点はとれなかった。、、、仮にひっかけがなかったとしても100点(というか104点満点)は当然ながら取れなかっただろう。
結果として関数プログラミングにさらに慣れることができて大変よかった。次はRacketという聞きなれない言語をやることになる。Lispそっくりらしい。
SML編の締めくくりとして学んだことをまとめてみよう
- 変数束縛
- REPLの使い方
- 再定義による変数の隠蔽
- 関数
- タプル
- リスト
- リストを関数で扱う
- let文
- 関数のネスト、
- NONEとSOME
- ブーリアン
- レコード
- datatype、
- case文
- パターンマッチング
- datatypeによる多態、
- 型推論
- パターンのネスト
- 関数パターン
- 末尾再帰
- 関数を引数とする
- 無名関数
- mapとfilter
- レキシカルスコープ、クロージャ
- fold
- 関数合成
- カリー化
- 部分適用
- 型推論
- 相互再帰(トランポリン再帰)
- モジュール
- シグネチャーによる隠蔽
- 同一性
一部は今ひとつな理解だが、まあいいや。