タグ

2012年8月25日のブックマーク (5件)

  • http://www.codecommit.com/blog/scala/implementing-persistent-vectors-in-scala

    wasabiz
    wasabiz 2012/08/25
    "I finally broke down and created a line-for-line port from Clojure’s Java implementation of PersistentVector into a Scala class."
  • Scala 2.8 コレクション API -- ベクトル

    リストはアルゴリズムが慎重にリストの先頭要素 (head) のみを処理する場合、非常に効率的だ。 head の読み込み、追加、および削除は一定数時間で行われるのに対して、リストの後続の要素に対する読み込みや変更は、その要素の深さに依存した線形時間で実行される。 ベクトル (Vector) は、ランダムアクセス時の非効率性を解決するために Scala 2.8 から導入された新しいコレクション型だ。ベクトルはどの要素の読み込みも「事実上」定数時間で行う。リストの head の読み込みや配列の要素読み込みに比べると大きい定数だが、定数であることには変りない。この結果、ベクトルを使ったアルゴリズムは列の head のみを読み込むことに神経質にならなくていい。任意の場所の要素を読み込んだり、変更したりできるため、コードを書くのに便利だ。 ベクトルは、他の列と同じように作成され、変更される。

    wasabiz
    wasabiz 2012/08/25
    scalaのpure functionalなベクトル
  • t.dvi

    Purely Functional Data Structures Chris Okasaki September 1996 CMU-CS-96-177 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy. Thesis Committee: Peter Lee, Chair Robert Harper Daniel Sleator Robert Tarjan, Princeton University Copyright c 1996 Chris Okasaki This research was sponso

    wasabiz
    wasabiz 2012/08/25
    無料でpdfが読めるの知らなかった…
  • GNU Emacs Manual - Lists

    Go to the first, previous, next, last section, table of contents. リストとS式 リストを扱うEmacsのキーは通常,Control-Metaに割り当てるのが習慣 です.それらは対応するControl-やMeta-のキーの機能に似た働き をします.これらのコマンドは,プログラム言語で使われる式を扱うように作ら れていますが,他の言語(英語でも)かっこが使われているなら,やはり便利に使 用できます. コマンドは2つに分類されます.1つはリスト(かっこでまとめられたグループ) だけを扱います.それらは,かっこ類`()',`[]',`{}'(使っ ている言語でこれらはつねに対でなければなりません),及びかっこそのものを 表すのに使うエスケープ文字以外の文字は考慮しません. もう1つのコマンドは式やS式を扱います.S式とは Symbo

    wasabiz
    wasabiz 2012/08/25
    リストとS式
  • ParEdit チュートリアル

    ParEdit1は、あなたのGNU Emacsを擬似的な 構造化Lispコードエディタ に変身させるマイナーモードだ。 通常は、Emacs LispやScheme、Common LispなどのLispコードを書くときの各メジャーモードにフックして利用する。 また、M-x paredit-mode とキー入力することで、いつでも有効・無効を切り替えられる。 最初のうちは、「右丸括弧 ) を自動補完する」といった入力支援機能に目が行くかもしれないが、これはParEditにとってさほど重要な要素ではない。 ParEdit質は、 リスト表記の丸括弧 () のバランスを維持する 点にある。 たとえば、 リスト内部で M-s を押すと、そのリストの丸括弧 () を左右とも削除し、内容を上位リストに接合する。 リスト内部で C-k を押すと、ポイントから(同じ行内にある)そのリストの右丸括弧 ) の

    wasabiz
    wasabiz 2012/08/25