タグ

ブックマーク / freak-da.hatenablog.com (3)

  • Clojure記事紹介<百日修行>(5):「よりわかりやすいClojureを書く」 - 本当は怖いHPC

    Clojure記事紹介<百日修行>では、英文で書かれたClojureの記事を要約してひたすら紹介していきます。モットーは「質より量」です。 紹介記事 Writing Friendlier Clojure 他の言語と同様、Clojureにおいても、気づいたらわかりにくいプログラムを書いてしまうことはよくあります。特に、REPL上で試行錯誤しながら少しずつ書き進めたコードだと、そうなりがちです。そこでこの記事では、とあるClojureのコードを取りあげ、それをリファクタリングする過程を通して、わかりやすいClojureコードを書くコツが紹介されています。 例題となるコード この記事で取りあげられているコードは、redditのClojureスレから持ってきたそうです。 (defn markov-data [text] (let [maps (for [line (clojure.string/s

    Clojure記事紹介<百日修行>(5):「よりわかりやすいClojureを書く」 - 本当は怖いHPC
  • Clojureにおけるデータ構造の抽象化を理解して独自のデータ構造を実装する Part 1: Collectionとは何か - 本当は怖いHPC

    この記事シリーズでは、プログラマもしくはライブラリ作者が独自のデータ構造を作成する際、それをClojureの組み込みデータ構造と同等に振る舞わせる方法について説明する。このPart 1では、Clojureの組み込みデータ構造がどのような抽象化とデザインの上に構築されているかを見てみよう。最後に、vector型と同じように振る舞うデータ型を定義してみる。 Part 0: 導入 Part 1: Collectionとは何か(ここ) Part 2: Sequenceとは何か Part 3: 独自Vector作成をマクロ化してみる おことわり: この記事は入門では無く、ClojureとJavaの知識をある程度仮定している。 末尾に示した参考文献を大いに参考にさせていただいた。 伝統的なLispにおけるデータ構造 伝統的なLispでは、基となるデータ構造はListである。そもそもLispという名前

    Clojureにおけるデータ構造の抽象化を理解して独自のデータ構造を実装する Part 1: Collectionとは何か - 本当は怖いHPC
  • 【派閥別】Gitのコミットを間違えたときの対処法まとめ - 本当は怖いHPC

    追記:たくさんブクマしていただいて驚いております。ブクマコメントだと、やはり git push -f は反則だろという意見がサイレントマジョリティのようですが、そこはそれ、自 己 責 任 追記2(2011/11/07):commit messageをミスった場合について訂正しました。 git rebase -i で直近のコミットを "edit" にして修正すると、 「--amend使えや」と言われるようです。 gitのコミットをしくじった時の対処法について、一覧性の高いまとめがなかったので作りました。正確さは保証できないので、コマンド名ヒントに自分でググって下さい ほかのやり方があるよ、間違ってるよ等のご指摘歓迎です。 派閥別 gitでコミットミスった時のまとめ | ├─ 一人で使ってるよ |   | |   ├─ 手元に変更を取り戻したいよ(1)(そうだね、add忘れだね派) |   |

    【派閥別】Gitのコミットを間違えたときの対処法まとめ - 本当は怖いHPC
  • 1