├── .gitignore ├── README.md ├── bench ├── bench_heaps.ml ├── bench_queues.ml ├── bench_sets.ml └── dune ├── dune-project ├── src ├── ch10 │ ├── hash_table.ml │ ├── hash_table.mli │ ├── trie.ml │ ├── trie.mli │ ├── trie_2.ml │ └── trie_2.mli ├── ch2 │ ├── custom_stack.ml │ ├── custom_stack.mli │ ├── unbalanced_finite_map.ml │ ├── unbalanced_finite_map.mli │ ├── unbalanced_set.ml │ └── unbalanced_set.mli ├── ch3 │ ├── binomial_heap.ml │ ├── binomial_heap.mli │ ├── explicit_min.ml │ ├── explicit_min.mli │ ├── leftist_heap.ml │ ├── leftist_heap.mli │ ├── red_black_set.ml │ ├── red_black_set.mli │ ├── red_black_set_2.ml │ ├── red_black_set_2.mli │ ├── weight_biased_leftist_heap.ml │ └── weight_biased_leftist_heap.mli ├── ch4 │ ├── insertion_sort.ml │ ├── stream.ml │ └── stream.mli ├── ch5 │ ├── batched_queue.ml │ ├── batched_queue.mli │ ├── dequeue.ml │ ├── dequeue.mli │ ├── pairing_heap.ml │ └── pairing_heap.mli ├── common │ ├── dequeue_intf.ml │ ├── finite_map_intf.ml │ ├── heap_intf.ml │ ├── ordered_intf.ml │ ├── queue_intf.ml │ └── set_intf.ml └── dune └── test ├── ch10 ├── assoc_list.ml ├── assoc_list.mli ├── hash_table_test.ml ├── test_trie.ml └── test_trie_2.ml ├── ch2 ├── test_custom_stack.ml ├── test_unbalanced_finite_map.ml └── test_unbalanced_set.ml ├── ch3 ├── test_binomial_heap.ml ├── test_explicit_min.ml ├── test_leftist_heap.ml ├── test_red_black_set.ml └── test_weight_biased_leftist_heap.ml ├── ch4 ├── test_insertion_sort.ml └── test_stream.ml ├── ch5 ├── test_batched_queue.ml ├── test_dequeue.ml └── test_pairing_heap.ml └── dune /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea 3 | *.log 4 | tmp/ 5 | 6 | _build 7 | .merlin 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/README.md -------------------------------------------------------------------------------- /bench/bench_heaps.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/bench/bench_heaps.ml -------------------------------------------------------------------------------- /bench/bench_queues.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/bench/bench_queues.ml -------------------------------------------------------------------------------- /bench/bench_sets.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/bench/bench_sets.ml -------------------------------------------------------------------------------- /bench/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/bench/dune -------------------------------------------------------------------------------- /dune-project: -------------------------------------------------------------------------------- 1 | (lang dune 2.7) 2 | -------------------------------------------------------------------------------- /src/ch10/hash_table.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch10/hash_table.ml -------------------------------------------------------------------------------- /src/ch10/hash_table.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch10/hash_table.mli -------------------------------------------------------------------------------- /src/ch10/trie.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch10/trie.ml -------------------------------------------------------------------------------- /src/ch10/trie.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch10/trie.mli -------------------------------------------------------------------------------- /src/ch10/trie_2.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch10/trie_2.ml -------------------------------------------------------------------------------- /src/ch10/trie_2.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch10/trie_2.mli -------------------------------------------------------------------------------- /src/ch2/custom_stack.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch2/custom_stack.ml -------------------------------------------------------------------------------- /src/ch2/custom_stack.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch2/custom_stack.mli -------------------------------------------------------------------------------- /src/ch2/unbalanced_finite_map.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch2/unbalanced_finite_map.ml -------------------------------------------------------------------------------- /src/ch2/unbalanced_finite_map.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch2/unbalanced_finite_map.mli -------------------------------------------------------------------------------- /src/ch2/unbalanced_set.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch2/unbalanced_set.ml -------------------------------------------------------------------------------- /src/ch2/unbalanced_set.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch2/unbalanced_set.mli -------------------------------------------------------------------------------- /src/ch3/binomial_heap.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch3/binomial_heap.ml -------------------------------------------------------------------------------- /src/ch3/binomial_heap.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch3/binomial_heap.mli -------------------------------------------------------------------------------- /src/ch3/explicit_min.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch3/explicit_min.ml -------------------------------------------------------------------------------- /src/ch3/explicit_min.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch3/explicit_min.mli -------------------------------------------------------------------------------- /src/ch3/leftist_heap.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch3/leftist_heap.ml -------------------------------------------------------------------------------- /src/ch3/leftist_heap.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch3/leftist_heap.mli -------------------------------------------------------------------------------- /src/ch3/red_black_set.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch3/red_black_set.ml -------------------------------------------------------------------------------- /src/ch3/red_black_set.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch3/red_black_set.mli -------------------------------------------------------------------------------- /src/ch3/red_black_set_2.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch3/red_black_set_2.ml -------------------------------------------------------------------------------- /src/ch3/red_black_set_2.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch3/red_black_set_2.mli -------------------------------------------------------------------------------- /src/ch3/weight_biased_leftist_heap.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch3/weight_biased_leftist_heap.ml -------------------------------------------------------------------------------- /src/ch3/weight_biased_leftist_heap.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch3/weight_biased_leftist_heap.mli -------------------------------------------------------------------------------- /src/ch4/insertion_sort.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch4/insertion_sort.ml -------------------------------------------------------------------------------- /src/ch4/stream.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch4/stream.ml -------------------------------------------------------------------------------- /src/ch4/stream.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch4/stream.mli -------------------------------------------------------------------------------- /src/ch5/batched_queue.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch5/batched_queue.ml -------------------------------------------------------------------------------- /src/ch5/batched_queue.mli: -------------------------------------------------------------------------------- 1 | include Queue_intf.S 2 | -------------------------------------------------------------------------------- /src/ch5/dequeue.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch5/dequeue.ml -------------------------------------------------------------------------------- /src/ch5/dequeue.mli: -------------------------------------------------------------------------------- 1 | include Dequeue_intf.S 2 | -------------------------------------------------------------------------------- /src/ch5/pairing_heap.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch5/pairing_heap.ml -------------------------------------------------------------------------------- /src/ch5/pairing_heap.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/ch5/pairing_heap.mli -------------------------------------------------------------------------------- /src/common/dequeue_intf.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/common/dequeue_intf.ml -------------------------------------------------------------------------------- /src/common/finite_map_intf.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/common/finite_map_intf.ml -------------------------------------------------------------------------------- /src/common/heap_intf.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/common/heap_intf.ml -------------------------------------------------------------------------------- /src/common/ordered_intf.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/common/ordered_intf.ml -------------------------------------------------------------------------------- /src/common/queue_intf.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/common/queue_intf.ml -------------------------------------------------------------------------------- /src/common/set_intf.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/common/set_intf.ml -------------------------------------------------------------------------------- /src/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/src/dune -------------------------------------------------------------------------------- /test/ch10/assoc_list.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch10/assoc_list.ml -------------------------------------------------------------------------------- /test/ch10/assoc_list.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch10/assoc_list.mli -------------------------------------------------------------------------------- /test/ch10/hash_table_test.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch10/hash_table_test.ml -------------------------------------------------------------------------------- /test/ch10/test_trie.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch10/test_trie.ml -------------------------------------------------------------------------------- /test/ch10/test_trie_2.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch10/test_trie_2.ml -------------------------------------------------------------------------------- /test/ch2/test_custom_stack.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch2/test_custom_stack.ml -------------------------------------------------------------------------------- /test/ch2/test_unbalanced_finite_map.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch2/test_unbalanced_finite_map.ml -------------------------------------------------------------------------------- /test/ch2/test_unbalanced_set.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch2/test_unbalanced_set.ml -------------------------------------------------------------------------------- /test/ch3/test_binomial_heap.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch3/test_binomial_heap.ml -------------------------------------------------------------------------------- /test/ch3/test_explicit_min.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch3/test_explicit_min.ml -------------------------------------------------------------------------------- /test/ch3/test_leftist_heap.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch3/test_leftist_heap.ml -------------------------------------------------------------------------------- /test/ch3/test_red_black_set.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch3/test_red_black_set.ml -------------------------------------------------------------------------------- /test/ch3/test_weight_biased_leftist_heap.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch3/test_weight_biased_leftist_heap.ml -------------------------------------------------------------------------------- /test/ch4/test_insertion_sort.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch4/test_insertion_sort.ml -------------------------------------------------------------------------------- /test/ch4/test_stream.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch4/test_stream.ml -------------------------------------------------------------------------------- /test/ch5/test_batched_queue.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch5/test_batched_queue.ml -------------------------------------------------------------------------------- /test/ch5/test_dequeue.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch5/test_dequeue.ml -------------------------------------------------------------------------------- /test/ch5/test_pairing_heap.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/ch5/test_pairing_heap.ml -------------------------------------------------------------------------------- /test/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linoscope/okasaki-book-ocaml/HEAD/test/dune --------------------------------------------------------------------------------