タグ

clojureに関するeagletmtのブックマーク (3)

  • clojureでのref実装について(中編) - marblejediary

    全後半で分けようかと思ったのですが、想像していたより複雑な内容なので、tokyoclj3では整理しきれませんでした。ということで、refの内部構造とトランザクションのアボートを考慮しないref-setでのrefのオブジェクトツリーの状態遷移を整理してみます。 次回tokyoclj4あたりで、もう一歩踏み込んでコードを読んでみようかと思います。ポイントを使用した平行性制御についてはまだ完全に整理できていないので、一部説明が逃げ腰です。また、間違いがあればご指摘ください。 僕は構造からつかみにいくタイプなので、関連を整理してクラス図を書いてみました。 ソースにコメントがないので責務を推測します(余談ですが、java.util.concurrent下のコードはコメントが詳しく書いてあったり、実装根拠の論文へのリンクがあったりするので、面白いです)。 ◆ Ref STMのトランザクション内で変更可

    clojureでのref実装について(中編) - marblejediary
  • Clojure のエレガントなところ - hozumiの日記

    リスト、ハッシュマップ、ベクタ、集合のリテラルがある ;リスト (1 2 3 4) ;ハッシュマップ {:a 1, :b 2, :c 3} ;ベクタ [1 2 3 4] ;集合 #{1 2 3 4} よく使う基データ型のリテラルがあるというのはソースコードに図が入ってるみたいで考えるよりも早く理解できる。しかもいじりやすい。他の多くの言語でもこれらの基データ型のリテラルは用意されているが、Clojure ではこれらはとてもよく使う重要なビルディングブロック。 リスト、ハッシュマップ、ベクタ、集合、文字列 をシーケンスとして抽象化 (take 2 '(a b c d)) ;リスト ;=> (a b) (take 2 {:a 1 :b 2 :c 3 :d 4}) ;ハッシュマップ ;=> ([:a 1] [:b 2]) (take 2 [:a :b :c :d]) ;ベクタ ;=> (:a

    Clojure のエレガントなところ - hozumiの日記
  • http://sicpinclojure.com/

    http://sicpinclojure.com/
  • 1