2012-02-01から1ヶ月間の記事一覧
少し久々になっちゃったけど勉強。 Programming Haskellの第6章の演習問題。 https://github.com/a-hisame/FunctionalPractice/blob/prac6/prac6.hs んー。さすがにこのあたりの基本はプログラミングの基礎と合わせて普通にできるようになってきた感。 常時…
お仕事を始めて、だいぶ多くの人のソースコードを見るようになりましたが、首をかしげたくなるコードに出会うことが多かったです。 そこで、主観的にココさえ守ればせめて読みやすい、といった点を書き出してみることにします。 とりあえず公開しますが、殴…
プログラミングHaskell 5.5のシーザー暗号をHaskellで解いてみた。 https://github.com/a-hisame/FunctionalPractice/blob/prac5/prokell5.5.hs および、5章の練習問題を解いてみた。 https://github.com/a-hisame/FunctionalPractice/blob/prac5/prac5.hs …
プログラミングHaskell 5.5 シーザー暗号をOCamlで解いてみた。 OCamlの文字列周りはライブラリを見るとsetとかがあるので、mutableな実装として提供されてるのかな? しかしながら、string -> char listや、その逆関数ぐらいはあってもよさそうなものだけど…
隣の人からラムダ式の定義とかモロモロについて語ってもらった。 内容のまとめなので、間違い多々ある気がする。 ラムダ式(参考:Wikipedia) 記号の加算無限集合identifier*1を定義する。 この時、次のラムダ式eは次のように定義される。 1. e∈identifier な…
Haskellのλ式 add :: (Num a) => a -> a -> a add = (\ x y -> x + y) 型クラスを用いる場合は、 関数名 :: (型クラス[, 型クラス...]) => (関数の型)という宣言の仕方になる。 型クラスのところがJavaのみたいなもの (Thanks rf0444). Ocamlでは無名関数はf…
Ctrl + D -> terminalを落とす。screenの時とか。 git: git checkout -b [branch name] ブランチを作って移動する。 現在のworking状況(addやcommitしていないファイル)を引き継いでブランチを移動。 単相性限定っていうものがあるらしい。 なんかこわいらし…
サモンナイト風タイトルの忘備録。 map (+) ってどんなの返ってくるの? ...というのをつらつらと書き連ねていたことからスタート。 今回は分かんなかったので、これは後々の課題。ここでは話を簡単にするために(+)はOCamlの(+)int->int">*1のみとして考えて…