├── tiny-maze ├── src │ └── tiny_maze │ │ └── solver.clj ├── doc │ └── intro.md ├── .gitignore ├── deps.edn ├── test │ └── tiny_maze │ │ └── solver_test.clj ├── README.md └── LICENSE ├── images ├── alicedoor.gif ├── alicetiny.gif ├── madhatter.gif ├── cardspainting.gif ├── caterpillar.gif ├── storytelling.gif ├── whiterabbit.gif └── fishfrogletter.gif ├── doublets ├── doc │ └── intro.md ├── .gitignore ├── src │ └── doublets │ │ └── solver.clj ├── deps.edn ├── test │ └── doublets │ │ └── solver_test.clj ├── resources │ └── words.edn ├── README.md └── LICENSE ├── magic-square ├── doc │ └── intro.md ├── .gitignore ├── src │ └── magic_square │ │ └── puzzle.clj ├── deps.edn ├── test │ └── magic_square │ │ └── puzzle_test.clj ├── README.md └── LICENSE ├── alphabet-cipher ├── doc │ └── intro.md ├── .gitignore ├── src │ └── alphabet_cipher │ │ └── coder.clj ├── deps.edn ├── test │ └── alphabet_cipher │ │ └── coder_test.clj ├── README.md └── LICENSE ├── card-game-war ├── doc │ └── intro.md ├── .gitignore ├── deps.edn ├── src │ └── card_game_war │ │ └── game.clj ├── sample_scenario.md ├── test │ └── card_game_war │ │ └── game_test.clj ├── README.md └── LICENSE ├── wonderland-number ├── src │ └── wonderland_number │ │ └── finder.clj ├── .gitignore ├── doc │ └── intro.md ├── deps.edn ├── test │ └── wonderland_number │ │ └── finder_test.clj ├── README.md └── LICENSE ├── fox-goose-bag-of-corn ├── .gitignore ├── doc │ └── intro.md ├── src │ └── fox_goose_bag_of_corn │ │ └── puzzle.clj ├── deps.edn ├── test │ └── fox_goose_bag_of_corn │ │ └── puzzle_test.clj ├── README.md └── LICENSE ├── .gitignore ├── README.md └── LICENSE /tiny-maze/src/tiny_maze/solver.clj: -------------------------------------------------------------------------------- 1 | (ns tiny-maze.solver) 2 | 3 | (defn solve-maze [maze]) 4 | -------------------------------------------------------------------------------- /images/alicedoor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gigasquid/wonderland-clojure-katas/HEAD/images/alicedoor.gif -------------------------------------------------------------------------------- /images/alicetiny.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gigasquid/wonderland-clojure-katas/HEAD/images/alicetiny.gif -------------------------------------------------------------------------------- /images/madhatter.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gigasquid/wonderland-clojure-katas/HEAD/images/madhatter.gif -------------------------------------------------------------------------------- /images/cardspainting.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gigasquid/wonderland-clojure-katas/HEAD/images/cardspainting.gif -------------------------------------------------------------------------------- /images/caterpillar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gigasquid/wonderland-clojure-katas/HEAD/images/caterpillar.gif -------------------------------------------------------------------------------- /images/storytelling.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gigasquid/wonderland-clojure-katas/HEAD/images/storytelling.gif -------------------------------------------------------------------------------- /images/whiterabbit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gigasquid/wonderland-clojure-katas/HEAD/images/whiterabbit.gif -------------------------------------------------------------------------------- /images/fishfrogletter.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gigasquid/wonderland-clojure-katas/HEAD/images/fishfrogletter.gif -------------------------------------------------------------------------------- /doublets/doc/intro.md: -------------------------------------------------------------------------------- 1 | # Introduction to doublets 2 | 3 | TODO: write [great documentation](http://jacobian.org/writing/what-to-write/) 4 | -------------------------------------------------------------------------------- /tiny-maze/doc/intro.md: -------------------------------------------------------------------------------- 1 | # Introduction to tiny-maze 2 | 3 | TODO: write [great documentation](http://jacobian.org/writing/what-to-write/) 4 | -------------------------------------------------------------------------------- /magic-square/doc/intro.md: -------------------------------------------------------------------------------- 1 | # Introduction to magic-square 2 | 3 | TODO: write [great documentation](http://jacobian.org/writing/what-to-write/) 4 | -------------------------------------------------------------------------------- /alphabet-cipher/doc/intro.md: -------------------------------------------------------------------------------- 1 | # Introduction to alphabet-cipher 2 | 3 | TODO: write [great documentation](http://jacobian.org/writing/what-to-write/) 4 | -------------------------------------------------------------------------------- /card-game-war/doc/intro.md: -------------------------------------------------------------------------------- 1 | # Introduction to card-game-war 2 | 3 | TODO: write [great documentation](http://jacobian.org/writing/what-to-write/) 4 | -------------------------------------------------------------------------------- /doublets/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /classes 3 | /checkouts 4 | pom.xml 5 | pom.xml.asc 6 | *.jar 7 | *.class 8 | /.lein-* 9 | /.nrepl-port 10 | -------------------------------------------------------------------------------- /magic-square/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /classes 3 | /checkouts 4 | pom.xml 5 | pom.xml.asc 6 | *.jar 7 | *.class 8 | /.lein-* 9 | /.nrepl-port 10 | -------------------------------------------------------------------------------- /tiny-maze/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /classes 3 | /checkouts 4 | pom.xml 5 | pom.xml.asc 6 | *.jar 7 | *.class 8 | /.lein-* 9 | /.nrepl-port 10 | -------------------------------------------------------------------------------- /wonderland-number/src/wonderland_number/finder.clj: -------------------------------------------------------------------------------- 1 | (ns wonderland-number.finder) 2 | 3 | (defn wonderland-number [] 4 | ;; calculate me 5 | 42) 6 | -------------------------------------------------------------------------------- /alphabet-cipher/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /classes 3 | /checkouts 4 | pom.xml 5 | pom.xml.asc 6 | *.jar 7 | *.class 8 | /.lein-* 9 | /.nrepl-port 10 | -------------------------------------------------------------------------------- /card-game-war/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /classes 3 | /checkouts 4 | pom.xml 5 | pom.xml.asc 6 | *.jar 7 | *.class 8 | /.lein-* 9 | /.nrepl-port 10 | -------------------------------------------------------------------------------- /wonderland-number/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /classes 3 | /checkouts 4 | pom.xml 5 | pom.xml.asc 6 | *.jar 7 | *.class 8 | /.lein-* 9 | /.nrepl-port 10 | -------------------------------------------------------------------------------- /wonderland-number/doc/intro.md: -------------------------------------------------------------------------------- 1 | # Introduction to wonderland-number 2 | 3 | TODO: write [great documentation](http://jacobian.org/writing/what-to-write/) 4 | -------------------------------------------------------------------------------- /fox-goose-bag-of-corn/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /classes 3 | /checkouts 4 | pom.xml 5 | pom.xml.asc 6 | *.jar 7 | *.class 8 | /.lein-* 9 | /.nrepl-port 10 | -------------------------------------------------------------------------------- /fox-goose-bag-of-corn/doc/intro.md: -------------------------------------------------------------------------------- 1 | # Introduction to fox-goose-bag-of-corn 2 | 3 | TODO: write [great documentation](http://jacobian.org/writing/what-to-write/) 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /classes 3 | /checkouts 4 | pom.xml 5 | pom.xml.asc 6 | *.jar 7 | *.class 8 | /.lein-* 9 | /.nrepl-port 10 | .clj-kondo/ 11 | .cpcache/ 12 | .lsp/ 13 | -------------------------------------------------------------------------------- /fox-goose-bag-of-corn/src/fox_goose_bag_of_corn/puzzle.clj: -------------------------------------------------------------------------------- 1 | (ns fox-goose-bag-of-corn.puzzle) 2 | 3 | (def start-pos [[[:fox :goose :corn :you] [:boat] []]]) 4 | 5 | (defn river-crossing-plan [] 6 | start-pos) 7 | -------------------------------------------------------------------------------- /magic-square/src/magic_square/puzzle.clj: -------------------------------------------------------------------------------- 1 | (ns magic-square.puzzle) 2 | 3 | (def values [1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0]) 4 | 5 | (defn magic-square [values] 6 | [[1.0 1.5 2.0] 7 | [2.5 3.0 3.5] 8 | [4.0 4.5 5.0]]) 9 | -------------------------------------------------------------------------------- /alphabet-cipher/src/alphabet_cipher/coder.clj: -------------------------------------------------------------------------------- 1 | (ns alphabet-cipher.coder) 2 | 3 | (defn encode [keyword message] 4 | "encodeme") 5 | 6 | (defn decode [keyword message] 7 | "decodeme") 8 | 9 | (defn decipher [cipher message] 10 | "decypherme") 11 | 12 | -------------------------------------------------------------------------------- /doublets/src/doublets/solver.clj: -------------------------------------------------------------------------------- 1 | (ns doublets.solver 2 | (:require [clojure.java.io :as io] 3 | [clojure.edn :as edn])) 4 | 5 | (def words (-> "words.edn" 6 | (io/resource) 7 | (slurp) 8 | (read-string))) 9 | 10 | (defn doublets [word1 word2] 11 | "make me work") 12 | -------------------------------------------------------------------------------- /doublets/deps.edn: -------------------------------------------------------------------------------- 1 | { 2 | :paths ["src"] 3 | :deps {org.clojure/clojure {:mvn/version "1.10.3"}} 4 | :aliases {:test {:extra-paths ["test"] 5 | :extra-deps {io.github.cognitect-labs/test-runner 6 | {:git/tag "v0.5.0" :git/sha "b3fd0d2"}} 7 | :main-opts ["-m" "cognitect.test-runner"] 8 | :exec-fn cognitect.test-runner.api/test}} 9 | } 10 | -------------------------------------------------------------------------------- /tiny-maze/deps.edn: -------------------------------------------------------------------------------- 1 | { 2 | :paths ["src"] 3 | :deps {org.clojure/clojure {:mvn/version "1.10.3"}} 4 | :aliases {:test {:extra-paths ["test"] 5 | :extra-deps {io.github.cognitect-labs/test-runner 6 | {:git/tag "v0.5.0" :git/sha "b3fd0d2"}} 7 | :main-opts ["-m" "cognitect.test-runner"] 8 | :exec-fn cognitect.test-runner.api/test}} 9 | } 10 | -------------------------------------------------------------------------------- /card-game-war/deps.edn: -------------------------------------------------------------------------------- 1 | { 2 | :paths ["src"] 3 | :deps {org.clojure/clojure {:mvn/version "1.10.3"}} 4 | :aliases {:test {:extra-paths ["test"] 5 | :extra-deps {io.github.cognitect-labs/test-runner 6 | {:git/tag "v0.5.0" :git/sha "b3fd0d2"}} 7 | :main-opts ["-m" "cognitect.test-runner"] 8 | :exec-fn cognitect.test-runner.api/test}} 9 | } 10 | -------------------------------------------------------------------------------- /magic-square/deps.edn: -------------------------------------------------------------------------------- 1 | { 2 | :paths ["src"] 3 | :deps {org.clojure/clojure {:mvn/version "1.10.3"}} 4 | :aliases {:test {:extra-paths ["test"] 5 | :extra-deps {io.github.cognitect-labs/test-runner 6 | {:git/tag "v0.5.0" :git/sha "b3fd0d2"}} 7 | :main-opts ["-m" "cognitect.test-runner"] 8 | :exec-fn cognitect.test-runner.api/test}} 9 | } 10 | -------------------------------------------------------------------------------- /alphabet-cipher/deps.edn: -------------------------------------------------------------------------------- 1 | { 2 | :paths ["src"] 3 | :deps {org.clojure/clojure {:mvn/version "1.10.3"}} 4 | :aliases {:test {:extra-paths ["test"] 5 | :extra-deps {io.github.cognitect-labs/test-runner 6 | {:git/tag "v0.5.0" :git/sha "b3fd0d2"}} 7 | :main-opts ["-m" "cognitect.test-runner"] 8 | :exec-fn cognitect.test-runner.api/test}} 9 | } 10 | -------------------------------------------------------------------------------- /wonderland-number/deps.edn: -------------------------------------------------------------------------------- 1 | { 2 | :paths ["src"] 3 | :deps {org.clojure/clojure {:mvn/version "1.10.3"}} 4 | :aliases {:test {:extra-paths ["test"] 5 | :extra-deps {io.github.cognitect-labs/test-runner 6 | {:git/tag "v0.5.0" :git/sha "b3fd0d2"}} 7 | :main-opts ["-m" "cognitect.test-runner"] 8 | :exec-fn cognitect.test-runner.api/test}} 9 | } 10 | -------------------------------------------------------------------------------- /fox-goose-bag-of-corn/deps.edn: -------------------------------------------------------------------------------- 1 | { 2 | :paths ["src"] 3 | :deps {org.clojure/clojure {:mvn/version "1.10.3"}} 4 | :aliases {:test {:extra-paths ["test"] 5 | :extra-deps {io.github.cognitect-labs/test-runner 6 | {:git/tag "v0.5.0" :git/sha "b3fd0d2"}} 7 | :main-opts ["-m" "cognitect.test-runner"] 8 | :exec-fn cognitect.test-runner.api/test}} 9 | } 10 | -------------------------------------------------------------------------------- /card-game-war/src/card_game_war/game.clj: -------------------------------------------------------------------------------- 1 | (ns card-game-war.game) 2 | 3 | ;; feel free to use these cards or use your own data structure 4 | (def suits [:spade :club :diamond :heart]) 5 | (def ranks [2 3 4 5 6 7 8 9 10 :jack :queen :king :ace]) 6 | (def cards 7 | (for [suit suits 8 | rank ranks] 9 | [suit rank])) 10 | 11 | (defn play-round [player1-card player2-card]) 12 | 13 | (defn play-game [player1-cards player2-cards]) 14 | -------------------------------------------------------------------------------- /card-game-war/sample_scenario.md: -------------------------------------------------------------------------------- 1 | ## Sample 2 | 3 | * Tom & Mary are playing war 4 | * Turn 1 5 | * Tom plays a 4♣ Mary Plays a 8♠ 6 | * Mary get both cards, they go to the bottom of their pile 7 | * Turn 2 8 | * Tom plays a A♠ Mary Plays a K♠ 9 | * Tom get both cards, they go to the bottom of their pile 10 | * Turn 3 11 | * Tom plays a 6♠ Mary Plays a 6♢ 12 | * Both players add the next 3 cards to the war 13 | * Tom plays a 8♢ Mary PLay a 9♡ 14 | * Mary get all 10 cards, they go to the bottom of their pile 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /card-game-war/test/card_game_war/game_test.clj: -------------------------------------------------------------------------------- 1 | (ns card-game-war.game-test 2 | (:require [clojure.test :refer :all] 3 | [card-game-war.game :refer :all])) 4 | 5 | 6 | ;; fill in tests for your game 7 | (deftest test-play-round 8 | (testing "the highest rank wins the cards in the round" 9 | (is (= 0 1))) 10 | (testing "queens are higher rank than jacks") 11 | (testing "kings are higher rank than queens") 12 | (testing "aces are higher rank than kings")) 13 | 14 | (deftest test-play-game 15 | (testing "the player loses when they run out of cards")) 16 | 17 | -------------------------------------------------------------------------------- /doublets/test/doublets/solver_test.clj: -------------------------------------------------------------------------------- 1 | (ns doublets.solver-test 2 | (:require [clojure.test :refer :all] 3 | [doublets.solver :refer :all])) 4 | 5 | (deftest solver-test 6 | (testing "with word links found" 7 | (is (= ["head" "heal" "teal" "tell" "tall" "tail"] 8 | (doublets "head" "tail"))) 9 | 10 | (is (= ["door" "boor" "book" "look" "lock"] 11 | (doublets "door" "lock"))) 12 | 13 | (is (= ["bank" "bonk" "book" "look" "loon" "loan"] 14 | (doublets "bank" "loan"))) 15 | 16 | (is (= ["wheat" "cheat" "cheap" "cheep" "creep" "creed" "breed" "bread"] 17 | (doublets "wheat" "bread")))) 18 | 19 | (testing "with no word links found" 20 | (is (= [] 21 | (doublets "ye" "freezer"))))) 22 | -------------------------------------------------------------------------------- /tiny-maze/test/tiny_maze/solver_test.clj: -------------------------------------------------------------------------------- 1 | (ns tiny-maze.solver-test 2 | (:require [clojure.test :refer :all] 3 | [tiny-maze.solver :refer :all])) 4 | 5 | (deftest test-solve-maze 6 | (testing "can find way to exit with 3x3 maze" 7 | (let [maze [[:S 0 1] 8 | [1 0 1] 9 | [1 0 :E]] 10 | sol [[:x :x 1] 11 | [1 :x 1] 12 | [1 :x :x]]] 13 | (is (= sol (solve-maze maze))))) 14 | 15 | (testing "can find way to exit with 4x4 maze" 16 | (let [maze [[:S 0 0 1] 17 | [1 1 0 0] 18 | [1 0 0 1] 19 | [1 1 0 :E]] 20 | sol [[:x :x :x 1] 21 | [1 1 :x 0] 22 | [1 0 :x 1] 23 | [1 1 :x :x]]] 24 | (is (= sol (solve-maze maze)))))) 25 | -------------------------------------------------------------------------------- /wonderland-number/test/wonderland_number/finder_test.clj: -------------------------------------------------------------------------------- 1 | (ns wonderland-number.finder-test 2 | (:require [clojure.test :refer :all] 3 | [wonderland-number.finder :refer :all])) 4 | 5 | (defn hasAllTheSameDigits? [n1 n2] 6 | (let [s1 (set (str n1)) 7 | s2 (set (str n2))] 8 | (= s1 s2))) 9 | 10 | (deftest test-wonderland-number 11 | (testing "A wonderland number must have the following things true about it" 12 | (let [wondernum (wonderland-number)] 13 | (is (= 6 (count (str wondernum)))) 14 | (is (hasAllTheSameDigits? wondernum (* 2 wondernum))) 15 | (is (hasAllTheSameDigits? wondernum (* 3 wondernum))) 16 | (is (hasAllTheSameDigits? wondernum (* 4 wondernum))) 17 | (is (hasAllTheSameDigits? wondernum (* 5 wondernum))) 18 | (is (hasAllTheSameDigits? wondernum (* 6 wondernum)))))) 19 | -------------------------------------------------------------------------------- /magic-square/test/magic_square/puzzle_test.clj: -------------------------------------------------------------------------------- 1 | (ns magic-square.puzzle-test 2 | (:require [clojure.test :refer :all] 3 | [magic-square.puzzle :refer :all])) 4 | 5 | (defn sum-rows [m] 6 | (map #(reduce + %) m)) 7 | 8 | (defn sum-cols [m] 9 | [(reduce + (map first m)) 10 | (reduce + (map second m)) 11 | (reduce + (map last m))]) 12 | 13 | (defn sum-diagonals [m] 14 | [(+ (get-in m [0 0]) (get-in m [1 1]) (get-in m [2 2])) 15 | (+ (get-in m [2 0]) (get-in m [1 1]) (get-in m [0 2]))]) 16 | 17 | (deftest test-magic-square 18 | (testing "all the rows, columns, and diagonal add to the same number" 19 | (is (= (set (sum-rows (magic-square values))) 20 | (set (sum-cols (magic-square values))) 21 | (set (sum-diagonals (magic-square values))))) 22 | 23 | (is (= 1 24 | (count (set (sum-rows (magic-square values)))) 25 | (count (set (sum-cols (magic-square values)))) 26 | (count (set (sum-diagonals (magic-square values)))))))) 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # wonderland-clojure-katas 2 | 3 | These are a collection of Clojure 4 | [katas](http://en.wikipedia.org/wiki/Kata_%28programming%29) inspired by 5 | [Lewis Carroll](http://en.wikipedia.org/wiki/Lewis_Carroll) and _Alice 6 | in Wonderland_. 7 | 8 | ![Alice and the tiny door](./images/alicedoor.gif) 9 | 10 | >“Curiouser and curiouser!” 11 | >-- ― Lewis Carroll, Alice in Wonderland 12 | 13 | ## How to Do the Katas 14 | 15 | First, clone or fork this repo. Each of the katas are in their own 16 | directory and are self contained Clojure projects. You `cd` 17 | into the project and run `clj -X:test` to show the failing tests, then 18 | complete the code to make the tests pass. Each project has the 19 | instructions in its own _README.md_ file. 20 | 21 | For example, to get started on the _alphabet-cipher_ kata first. 22 | 23 | 1. Clone or Fork this repo 24 | 2. cd `alphabet-cipher` 25 | 3. run `clj -X:test` 26 | 4. Check out the alphabet cipher instructions in the _README.md_. 27 | 5. Add the code in the source files to make the tests pass. 28 | 29 | 30 | ## License 31 | 32 | Copyright © 2014 Carin Meier 33 | 34 | Distributed under the Eclipse Public License either version 1.0 or (at 35 | your option) any later version. 36 | -------------------------------------------------------------------------------- /alphabet-cipher/test/alphabet_cipher/coder_test.clj: -------------------------------------------------------------------------------- 1 | (ns alphabet-cipher.coder-test 2 | (:require [clojure.test :refer :all] 3 | [alphabet-cipher.coder :refer :all])) 4 | 5 | (deftest test-encode 6 | (testing "can encode a message with a secret keyword" 7 | (is (= "hmkbxebpxpmyllyrxiiqtoltfgzzv" 8 | (encode "vigilance" "meetmeontuesdayeveningatseven"))) 9 | (is (= "egsgqwtahuiljgs" 10 | (encode "scones" "meetmebythetree"))))) 11 | 12 | (deftest test-decode 13 | (testing "can decode a message given an encoded message and a secret keyword" 14 | (is (= "meetmeontuesdayeveningatseven" 15 | (decode "vigilance" "hmkbxebpxpmyllyrxiiqtoltfgzzv"))) 16 | (is (= "meetmebythetree" 17 | (decode "scones" "egsgqwtahuiljgs"))))) 18 | 19 | (deftest test-decipher 20 | (testing "can extract the secret keyword given an encrypted message and the original message" 21 | (is (= "vigilance" 22 | (decipher "opkyfipmfmwcvqoklyhxywgeecpvhelzg" "thequickbrownfoxjumpsoveralazydog"))) 23 | (is (= "scones" 24 | (decipher "hcqxqqtqljmlzhwiivgbsapaiwcenmyu" "packmyboxwithfivedozenliquorjugs"))) 25 | (is (= "abcabcx" 26 | (decipher "hfnlphoontutufa" "hellofromrussia"))))) 27 | -------------------------------------------------------------------------------- /fox-goose-bag-of-corn/test/fox_goose_bag_of_corn/puzzle_test.clj: -------------------------------------------------------------------------------- 1 | (ns fox-goose-bag-of-corn.puzzle-test 2 | (:require [clojure.test :refer :all] 3 | [fox-goose-bag-of-corn.puzzle :refer :all] 4 | [clojure.set])) 5 | 6 | (defn validate-move [step1 step2] 7 | (testing "only you and another thing can move" 8 | (let [diff1 (clojure.set/difference step1 step2) 9 | diff2 (clojure.set/difference step2 step1) 10 | diffs (concat diff1 diff2) 11 | diff-num (count diffs)] 12 | (is (> 3 diff-num)) 13 | (when (pos? diff-num) 14 | (is (contains? (set diffs) :you))) 15 | step2))) 16 | 17 | (deftest test-river-crossing-plan 18 | (let [crossing-plan (map (partial map set) (river-crossing-plan))] 19 | (testing "you begin with the fox, goose and corn on one side of the river" 20 | (is (= [#{:you :fox :goose :corn} #{:boat} #{}] 21 | (first crossing-plan)))) 22 | (testing "you end with the fox, goose and corn on one side of the river" 23 | (is (= [#{} #{:boat} #{:you :fox :goose :corn}] 24 | (last crossing-plan)))) 25 | (testing "things are safe" 26 | (let [left-bank (map first crossing-plan) 27 | right-bank (map last crossing-plan)] 28 | (testing "the fox and the goose should never be left alone together" 29 | (is (empty? 30 | (filter #(= % #{:fox :goose}) (concat left-bank right-bank))))) 31 | (testing "the goose and the corn should never be left alone together" 32 | (is (empty? 33 | (filter #(= % #{:goose :corn}) (concat left-bank right-bank))))))) 34 | (testing "The boat can carry only you plus one other" 35 | (let [boat-positions (map second crossing-plan)] 36 | (is (empty? 37 | (filter #(> (count %) 3) boat-positions))))) 38 | (testing "moves are valid" 39 | (let [left-moves (map first crossing-plan) 40 | middle-moves (map second crossing-plan) 41 | right-moves (map last crossing-plan)] 42 | (reduce validate-move left-moves) 43 | (reduce validate-move middle-moves) 44 | (reduce validate-move right-moves ))))) 45 | 46 | -------------------------------------------------------------------------------- /doublets/resources/words.edn: -------------------------------------------------------------------------------- 1 | [ "concentricity" 2 | "sharewort" 3 | "tunnland" 4 | "emphysema" 5 | "Pliohippus" 6 | "tomatillo" 7 | "trewsman" 8 | "mulattoism" 9 | "muta" 10 | "begohm" 11 | "leisured" 12 | "scalenohedral" 13 | "devotionist" 14 | "allanitic" 15 | "appentice" 16 | "therapeutical" 17 | "dechemicalize" 18 | "agamic" 19 | "layship" 20 | "caroome" 21 | "vanjarrah" 22 | "frizziness" 23 | "guidebookish" 24 | "expedite" 25 | "strolld" 26 | "clubfisted" 27 | "task" 28 | "sanctiloquent" 29 | "rapturous" 30 | "ye" 31 | "genear" 32 | "wartweed" 33 | "outwind" 34 | "collyba" 35 | "doghead" 36 | "rotascope" 37 | "isogonally" 38 | "cankeredness" 39 | "staringly" 40 | "nemophilist" 41 | "bootyless" 42 | "postflexion" 43 | "xenogenous" 44 | "whereafter" 45 | "freezer" 46 | "atreptic" 47 | "nonavoidance" 48 | "quat" 49 | "indiscriminateness" 50 | "hacksilber" 51 | "countersnarl" 52 | "canonist" 53 | "bromohydrate" 54 | "amplectant" 55 | "impressibleness" 56 | "muckle" 57 | "tricoccous" 58 | "dogwood" 59 | "facetious" 60 | "bushveld" 61 | "liken" 62 | "hugeously" 63 | "Schizaeaceae" 64 | "melodiousness" 65 | "kipperer" 66 | "chantress" 67 | "prudentialness" 68 | "cacoepistic" 69 | "projective" 70 | "cumidin" 71 | "preferableness" 72 | "pseudomorphose" 73 | "halurgist" 74 | "impassiveness" 75 | "kitthoge" 76 | "impar" 77 | "townet" 78 | "ancistrocladaceous" 79 | "nationalness" 80 | "wardmaid" 81 | "jubilist" 82 | "misally" 83 | "unsinkable" 84 | "artichoke" 85 | "assumingness" 86 | "yawner" 87 | "surmount" 88 | "untie" 89 | "Mpondo" 90 | "mesoarial" 91 | "miscurvature" 92 | "urethylan" 93 | "weakfish" 94 | "playwork" 95 | "unfulminated" 96 | "Rosminianism" 97 | "groundneedle" 98 | "beachless" 99 | "bimillenary" 100 | "predictiveness" 101 | "head" 102 | "heal" 103 | "teal" 104 | "tell" 105 | "tall" 106 | "tail" 107 | "door" 108 | "boor" 109 | "book" 110 | "look" 111 | "lock" 112 | "bank" 113 | "bonk" 114 | "loon" 115 | "loan" 116 | "wheat" 117 | "cheat" 118 | "cheap" 119 | "cheep" 120 | "creep" 121 | "creed" 122 | "breed" 123 | "bread" 124 | ] 125 | -------------------------------------------------------------------------------- /tiny-maze/README.md: -------------------------------------------------------------------------------- 1 | # tiny-maze 2 | 3 | Alice found herself very tiny and wandering around Wonderland. Even 4 | the grass around her seemed like a maze. 5 | 6 | ![alice tiny](../images/alicetiny.gif) 7 | 8 | This is a tiny maze solver. 9 | 10 | A maze is represented by a matrix 11 | 12 | ```clojure 13 | [[:S 0 1] 14 | [1 0 1] 15 | [1 0 :E]] 16 | ``` 17 | 18 | - _S_ : start of the maze 19 | - _E_ : end of the maze 20 | - _1_ : This is a wall that you cannot pass through 21 | - _0_ : A free space that you can move through. 22 | 23 | The goal is the get to the end of the maze. A solved maze will have a 24 | _:x_ in the start, the path, and the end of the maze, like this. 25 | 26 | ```clojure 27 | [[:x :x 1] 28 | [1 :x 1] 29 | [1 :x :x]] 30 | ``` 31 | 32 | 33 | ## Instructions 34 | 35 | - Clone or fork this repo 36 | - `cd tiny-maze` 37 | - Run the tests with `clj -X:test` 38 | - Make the tests pass! 39 | 40 | ## Solutions 41 | 42 | Once you have your kata solution, you are welcome to submit a link to your repo to share here in this section with others. 43 | 44 | * https://github.com/vincentjames501/wonderland-clojure-katas/tree/master/tiny-maze 45 | * https://github.com/julianjelfs/wonderland-clojure-katas/tree/master/tiny-maze 46 | * https://github.com/werand/wonderland-clojure-katas/tree/master/tiny-maze 47 | * https://github.com/priort/wonderland-clojure-katas/tree/master/tiny-maze 48 | * https://github.com/bradlucas/wonderland-clojure-katas/tree/tiny-maze/tiny-maze 49 | * https://github.com/davidpham87/wonderland-clojure-katas/tree/my-training/tiny-maze 50 | * https://github.com/ultrakapy/wonderland-clojure-katas/tree/master/tiny-maze 51 | * https://github.com/emmagordon/wonderland-clojure-katas/tree/master/tiny-maze 52 | * https://github.com/ivern/wonderland-clojure-katas/tree/master/tiny-maze 53 | * https://github.com/RokLenarcic/wonderland-clojure-katas/tree/master/tiny-maze 54 | * https://github.com/kimsnj/wonderland-clojure-katas/tree/master/tiny-maze 55 | * https://github.com/whiteotter/wonderland-clojure-katas/tree/master/tiny-maze 56 | * https://github.com/zelark/wonderland-clojure-katas/tree/solution/tiny-maze 57 | * https://github.com/Average-user/wonderland-clojure-katas/tree/master/tiny-maze 58 | * https://github.com/m1kal/wonderland-clojure-katas/tree/master/tiny-maze 59 | * https://github.com/raydel95/wonderland-clojure-katas/tree/master/tiny-maze 60 | * https://github.com/manuel-colmenero/wonderland-clojure-katas/tree/master/tiny-maze 61 | * https://github.com/kuchichan/wonderland-clojure-katas/tree/master/tiny-maze 62 | 63 | If you haven't solved your kata yet - Don't Peek! 64 | 65 | ## License 66 | 67 | Copyright © 2014 Carin Meier 68 | 69 | Distributed under the Eclipse Public License either version 1.0 or (at 70 | your option) any later version. 71 | -------------------------------------------------------------------------------- /magic-square/README.md: -------------------------------------------------------------------------------- 1 | # magic-square 2 | 3 | This puzzle comes from Lewis Carroll. The magic part is when the 4 | values on a square are arranged so that adding them up in any direction results in 5 | a constant sum. 6 | 7 | ![caterpillar](../images/caterpillar.gif) 8 | 9 | You have the following values: 10 | 11 | ``` 12 | 1.0 13 | 1.5 14 | 2.0 15 | 2.5 16 | 3.0 17 | 3.5 18 | 4.0 19 | 4.5 20 | 5.0 21 | ``` 22 | 23 | You need to arrange them in a 3 x 3 matrix so that: 24 | 25 | 1. The sums of numbers in each row = magic number 26 | 2. The sums of numbers in each column = magic number 27 | 3. The sums of numbers in each diagonal = magic number 28 | 29 | 30 | ## Instructions 31 | 32 | - Clone or fork this repo 33 | - `cd magic-square` 34 | - Run the tests with `clj -X:test` 35 | - Make the tests pass! 36 | 37 | ## Solutions 38 | 39 | Once you have your kata solution, you are welcome to submit a link to your repo to share here in this section with others. 40 | 41 | * https://github.com/meiji163/wonderland-clojure-katas/tree/master/magic-square 42 | * https://github.com/vincentjames501/wonderland-clojure-katas/tree/master/magic-square 43 | * https://github.com/miner/wonderland-clojure-katas/tree/magic/magic-square 44 | * https://github.com/julianjelfs/wonderland-clojure-katas/tree/master/magic-square 45 | * https://github.com/werand/wonderland-clojure-katas/tree/master/magic-square 46 | * https://github.com/priort/wonderland-clojure-katas/tree/master/magic-square 47 | * https://github.com/ivern/wonderland-clojure-katas/tree/master/magic-square 48 | * https://github.com/bradlucas/wonderland-clojure-katas/tree/magic-square/magic-square 49 | * https://github.com/davidpham87/wonderland-clojure-katas/tree/my-training/magic-square 50 | * https://github.com/ultrakapy/wonderland-clojure-katas/tree/master/magic-square 51 | * https://github.com/JustinSpedding/wonderland-clojure-katas/tree/master/magic-square 52 | * https://github.com/RokLenarcic/wonderland-clojure-katas/tree/master/magic-square 53 | * https://github.com/metamorph/wonderland-clojure-katas/tree/magic-square/magic-square 54 | * https://github.com/aquaraga/wonderland-clojure-katas/tree/master/magic-square 55 | * https://github.com/zelark/wonderland-clojure-katas/tree/solution/magic-square 56 | * https://github.com/Average-user/wonderland-clojure-katas/tree/master/magic-square 57 | * https://github.com/raydel95/wonderland-clojure-katas/tree/master/magic-square 58 | * https://github.com/manuel-colmenero/wonderland-clojure-katas/tree/master/magic-square 59 | * https://github.com/kuchichan/wonderland-clojure-katas/tree/master/magic-square 60 | * https://github.com/adql/wonderland-clojure-katas/tree/solutions/magic-square 61 | 62 | If you haven't solved your kata yet - Don't Peek! 63 | 64 | ## License 65 | 66 | Copyright © 2014 Carin Meier 67 | 68 | Distributed under the Eclipse Public License either version 1.0 or (at 69 | your option) any later version. 70 | -------------------------------------------------------------------------------- /wonderland-number/README.md: -------------------------------------------------------------------------------- 1 | # wonderland-number 2 | 3 | Wonderland is a strange place. There is a wonderland number that is 4 | also quite strange. 5 | 6 | ![White Rabbit](../images/whiterabbit.gif) 7 | 8 | 9 | You must find a way to generate this wonderland number. 10 | 11 | - It has six digits 12 | - If you multiply it by 2,3,4,5, or 6, the resulting number has all 13 | the same digits in at as the original number. The only difference 14 | is the position that they are in. 15 | 16 | 17 | 18 | ## Instructions 19 | 20 | - Clone or fork this repo 21 | - `cd wonderland-number` 22 | - Run the tests with `clj -X:test` 23 | - Make the tests pass! 24 | 25 | ## Solutions 26 | 27 | Once you have your kata solution, you are welcome to submit a link to your repo to share here in this section with others. 28 | 29 | * https://github.com/meiji163/wonderland-clojure-katas/tree/master/wonderland-number 30 | * https://github.com/mwfogleman/wonderland-clojure-katas/tree/wonderlandnumber 31 | * https://github.com/vincentjames501/wonderland-clojure-katas/tree/master/wonderland-number 32 | * https://github.com/julianjelfs/wonderland-clojure-katas/tree/master/wonderland-number 33 | * https://github.com/werand/wonderland-clojure-katas/tree/master/wonderland-number 34 | * https://github.com/priort/wonderland-clojure-katas/tree/master/wonderland-number 35 | * https://github.com/bradlucas/wonderland-clojure-katas/tree/wonderland/wonderland-number 36 | * https://github.com/ivern/wonderland-clojure-katas/tree/master/wonderland-number 37 | * https://github.com/ilyabe/wonderland-clojure-katas/tree/master/wonderland-number 38 | * https://github.com/davidpham87/wonderland-clojure-katas/tree/my-training/wonderland-number 39 | * https://github.com/ultrakapy/wonderland-clojure-katas/tree/master/wonderland-number 40 | * https://github.com/metamorph/wonderland-clojure-katas/tree/wonderland-number/wonderland-number 41 | * https://github.com/JustinSpedding/wonderland-clojure-katas/tree/master/wonderland-number 42 | * https://github.com/RokLenarcic/wonderland-clojure-katas/tree/master/wonderland-number 43 | * https://github.com/kimsnj/wonderland-clojure-katas/tree/master/wonderland-number 44 | * https://github.com/madhat2r/wonderland-clojure-katas/tree/master/wonderland-number 45 | * https://github.com/aquaraga/wonderland-clojure-katas/tree/master/wonderland-number 46 | * https://github.com/zelark/wonderland-clojure-katas/tree/solution/wonderland-number 47 | * https://github.com/Average-user/wonderland-clojure-katas/tree/master/wonderland-number 48 | * https://github.com/raydel95/wonderland-clojure-katas/tree/master/wonderland-number 49 | * https://github.com/manuel-colmenero/wonderland-clojure-katas/tree/master/wonderland-number 50 | * https://github.com/kuchichan/wonderland-clojure-katas/tree/master/wonderland-number 51 | 52 | If you haven't solved your kata yet - Don't Peek! 53 | 54 | ## License 55 | 56 | Copyright © 2014 Carin Meier 57 | 58 | Distributed under the Eclipse Public License either version 1.0 or (at 59 | your option) any later version. 60 | -------------------------------------------------------------------------------- /card-game-war/README.md: -------------------------------------------------------------------------------- 1 | # card-game-war 2 | 3 | This kata is a version of the classic card game [War](http://en.wikipedia.org/wiki/War_%28card_game%29). 4 | 5 | ![Cards Painting](../images/cardspainting.gif) 6 | 7 | 8 | The rules of this card game are quite simple. 9 | 10 | - There are two players. 11 | - The cards are all dealt equally to each player. 12 | - Each round, player 1 lays a card down face up at the same time that 13 | player 2 lays a card down face up. Whoever has the highest value 14 | card, wins both round and takes both cards. 15 | - The winning cards are added to the bottom of the winners deck. 16 | - Aces are high. 17 | - If both cards are of equal value - three cards are dealt from each hand face down and then 1 more face up to war again. the winner takes all the cards. If this ties repeat the process again. 18 | - The player that runs out of cards loses. 19 | 20 | If you are stuck, you might want to sneak a peak at this [sample scenario](sample_scenario.md) 21 | 22 | ## Instructions 23 | 24 | - Clone or fork this repo 25 | - `cd card-game-war` 26 | - Run the tests with `clj -X:test` 27 | - In this kata, you will be prompted to fill in your own tests. 28 | - Make the tests pass! 29 | 30 | ## Solutions 31 | 32 | Once you have your kata solution, you are welcome to submit a link to your repo to share here in this section with others. 33 | 34 | * https://github.com/aaronj1335/wonderland-clojure-katas/tree/master/card-game-war 35 | * https://github.com/gensym/wonderland-clojure-katas/tree/card-game-war-solution/card-game-war 36 | * https://github.com/vincentjames501/wonderland-clojure-katas/tree/master/card-game-war 37 | * https://github.com/werand/wonderland-clojure-katas/tree/master/card-game-war 38 | * https://github.com/yzernik/wonderland-clojure-katas/tree/master/card-game-war 39 | * https://github.com/priort/wonderland-clojure-katas/tree/master/card-game-war 40 | * https://github.com/bradlucas/wonderland-clojure-katas/tree/card-game/card-game-war 41 | * https://github.com/harshita/wonderland-clojure-katas/tree/master/card-game-war 42 | * https://github.com/davidpham87/wonderland-clojure-katas/tree/my-training/card-game-war 43 | * https://github.com/ultrakapy/wonderland-clojure-katas/tree/master/card-game-war 44 | * https://github.com/metamorph/wonderland-clojure-katas/tree/card-game-war/card-game-war 45 | * https://github.com/JustinSpedding/wonderland-clojure-katas/tree/master/card-game-war 46 | * https://github.com/RokLenarcic/wonderland-clojure-katas/tree/master/card-game-war 47 | * https://github.com/kimsnj/wonderland-clojure-katas/tree/master/card-game-war 48 | * https://github.com/whiteotter/wonderland-clojure-katas/tree/card-game-war/card-game-war 49 | * https://github.com/saicheong/wonderland-clojure-katas/tree/master/card-game-war 50 | * https://github.com/fachammer/wonderland-clojure-katas/tree/master/card-game-war 51 | * https://github.com/darrell-pittman/wonderland-clojure-katas/tree/master/card-game-war 52 | * https://github.com/aquaraga/wonderland-clojure-katas/tree/master/card-game-war 53 | * https://github.com/zelark/wonderland-clojure-katas/tree/solution/card-game-war 54 | * https://github.com/LucianaMarques/wonderland-clojure-katas/tree/luciana-card-game-war 55 | * https://github.com/raydel95/wonderland-clojure-katas/tree/master/card-game-war 56 | * https://github.com/manuel-colmenero/wonderland-clojure-katas/tree/master/card-game-war 57 | * https://github.com/kuchichan/wonderland-clojure-katas/tree/master/card-game-war 58 | 59 | If you haven't solved your kata yet - Don't Peek! 60 | 61 | ## License 62 | 63 | Copyright © 2014 Carin Meier 64 | 65 | Distributed under the Eclipse Public License either version 1.0 or (at 66 | your option) any later version. 67 | -------------------------------------------------------------------------------- /fox-goose-bag-of-corn/README.md: -------------------------------------------------------------------------------- 1 | # fox-goose-bag-of-corn 2 | 3 | One of Lewis Carroll's favorite puzzles to ask children was the one 4 | about the _Fox, Goose, and Bag of Corn_. It has to do with getting 5 | them all safely across a river. 6 | 7 | ![alice swimming](../images/storytelling.gif) 8 | 9 | 10 | The rules for this puzzle are: 11 | 12 | - You must get the fox, goose, and bag of corn safely across the other side of the river 13 | - You can only carry 1 item on the boat across with you. 14 | - The fox cannot be left alone with the goose, (or it will be eaten). 15 | - The goose cannot be left alone with the corn, (or it will be eaten). 16 | 17 | The data structure to represent this puzzle is a vector of vectors. 18 | 19 | The starting position is you, the fox, the goose, and corn on one side of the river. The boat is empty. The other river bank is empty. 20 | 21 | ```clojure 22 | [[[:fox :goose :corn :you] [:boat] []]] 23 | ``` 24 | 25 | You could take the corn on the boat with you 26 | 27 | ```clojure 28 | [[[:fox :goose :corn :you] [:boat] []] 29 | [[:fox :goose] [:boat :corn :you] []]] 30 | ``` 31 | 32 | But then the fox would eat the goose! 33 | 34 | The goal is to have the plan in steps so that all make it safely to the other side 35 | 36 | ``` 37 | [[[:fox :goose :corn :you] [:boat] []] 38 | ... 39 | [[[] [:boat] [:fox :goose :corn :you]]]] 40 | ``` 41 | 42 | ## Instructions 43 | 44 | - Clone or fork this repo 45 | - `cd fox-goose-bag-of-corn` 46 | - Run the tests with `clj -X:test` 47 | - Make the tests pass! 48 | 49 | ## Solutions 50 | 51 | Once you have your kata solution, you are welcome to submit a link to your repo to share here in this section with others. 52 | 53 | * https://github.com/meiji163/wonderland-clojure-katas/blob/master/fox-goose-bag-of-corn 54 | * https://github.com/vincentjames501/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn 55 | * https://github.com/aaronj1335/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn 56 | * https://github.com/werand/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn 57 | * https://github.com/yzernik/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn 58 | * https://github.com/priort/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn 59 | * https://github.com/bradlucas/wonderland-clojure-katas/tree/fox-goose/fox-goose-bag-of-corn 60 | * https://github.com/davidpham87/wonderland-clojure-katas/tree/my-training/fox-goose-bag-of-corn 61 | * https://github.com/Rigo85/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn 62 | * https://github.com/ultrakapy/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn 63 | * https://github.com/ilyabe/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn 64 | * https://github.com/ivern/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn 65 | * https://github.com/RokLenarcic/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn 66 | * https://github.com/whiteotter/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn 67 | * https://github.com/saicheong/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn 68 | * https://github.com/aquaraga/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn 69 | * https://github.com/zelark/wonderland-clojure-katas/tree/solution/fox-goose-bag-of-corn 70 | * https://github.com/LucianaMarques/wonderland-clojure-katas/tree/fox-goose-bag-solution 71 | * https://github.com/ronnac/living-clojure/tree/master/wonderland-clojure-katas/fox-goose-bag-of-corn 72 | * https://github.com/raydel95/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn 73 | * https://github.com/manuel-colmenero/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn 74 | * https://github.com/kuchichan/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn 75 | * https://github.com/rgkirch/wonderland-clojure-katas/tree/master/fox-goose-bag-of-corn/ 76 | 77 | If you haven't solved your kata yet - Don't Peek! 78 | 79 | ## License 80 | 81 | Copyright © 2014 Carin Meier 82 | 83 | Distributed under the Eclipse Public License either version 1.0 or (at 84 | your option) any later version. 85 | -------------------------------------------------------------------------------- /doublets/README.md: -------------------------------------------------------------------------------- 1 | # doublets 2 | 3 | This Clojure Kata comes from _Alice in Wonderland_'s author, Lewis 4 | Carroll. He came up with this word puzzle that he named _Doublets_. 5 | 6 | ![Mad Hatter](../images/madhatter.gif) 7 | 8 | The puzzle is to take two words of the same length and find a way of linking the 9 | first word to the second word by only changing one letter at a time. At the end of the transformation, 10 | there will be a collections of words that show the beginning word being changed 11 | into the ending word, one letter at a time. All the _word links_ must be in Lewis Carroll's own words: 12 | 13 | ``` 14 | ... it is de rigueur that the links should be English words, such as might be used in good society. 15 | ``` 16 | 17 | Also the _word links_ should be words that are found in the dictionary. No proper nouns. 18 | 19 | Here are some examples. 20 | 21 | The Doublet of DOOR to LOCK is: 22 | 23 | ``` 24 | door 25 | boor 26 | book 27 | look 28 | lock 29 | ``` 30 | 31 | The Doublet of BANK to LOAN is: 32 | 33 | ``` 34 | bank 35 | bonk 36 | book 37 | look 38 | loon 39 | loan 40 | ``` 41 | 42 | The Doublet of WHEAT into BREAD is: 43 | 44 | ``` 45 | wheat 46 | cheat 47 | cheap 48 | cheep 49 | creep 50 | creed 51 | breed 52 | bread 53 | ``` 54 | 55 | 56 | 57 | ## Instructions 58 | 59 | - Clone or fork this repo 60 | - `cd doublets` 61 | - Run the tests with `clj -X:test` 62 | - Make the tests pass! 63 | 64 | A sample dictionary has been included with a few words to get things going. After you solve the kata, you might want to try a bigger dictionary to discover more exciting doublets. 65 | 66 | ## Hints 67 | 68 | This kata is a bit tricky. You might want to start off with a really small dictionary, (like just the word link solutions) and make it pass from there. 69 | 70 | Also don't be shy looking for other libraries or tools to help you. 71 | 72 | 73 | ## Solutions 74 | 75 | Once you have your kata solution, you are welcome to submit a link to your repo to share here in this section with others. 76 | 77 | * https://github.com/meiji163/wonderland-clojure-katas/tree/master/doublets 78 | * https://github.com/raydel95/wonderland-clojure-katas/tree/master/doublets 79 | * https://github.com/gensym/wonderland-clojure-katas/tree/doublets-solution/doublets 80 | * https://github.com/mwfogleman/wonderland-clojure-katas/tree/doublets/doublets 81 | * https://github.com/aaronj1335/wonderland-clojure-katas/tree/master/doublets 82 | * https://github.com/paulhenrich/wonderland-clojure-katas/blob/solving/doublets/src/doublets/solver.clj 83 | * https://github.com/vincentjames501/wonderland-clojure-katas/tree/master/doublets 84 | * https://github.com/werand/wonderland-clojure-katas/tree/master/doublets 85 | * https://github.com/julianjelfs/wonderland-clojure-katas/tree/master/doublets 86 | * https://github.com/yzernik/wonderland-clojure-katas/tree/master/doublets 87 | * https://github.com/priort/wonderland-clojure-katas/tree/master/doublets 88 | * https://github.com/bradlucas/wonderland-clojure-katas/tree/doublets/doublets 89 | * https://github.com/dryewo/wonderland-clojure-katas/blob/doublets-solution/doublets/src/doublets/solver.clj 90 | * https://github.com/davidpham87/wonderland-clojure-katas/tree/my-training/doublets 91 | * https://github.com/ultrakapy/wonderland-clojure-katas/tree/master/doublets 92 | * https://github.com/ivern/wonderland-clojure-katas/tree/master/doublets 93 | * https://github.com/JustinSpedding/wonderland-clojure-katas/tree/master/doublets 94 | * https://github.com/RokLenarcic/wonderland-clojure-katas/tree/master/doublets 95 | * https://github.com/kimsnj/wonderland-clojure-katas/tree/master/doublets 96 | * https://github.com/dimitrijer/wonderland-clojure-katas/tree/master/doublets 97 | * https://github.com/saicheong/wonderland-clojure-katas/tree/master/doublets 98 | * https://github.com/zelark/wonderland-clojure-katas/tree/solution/doublets 99 | * https://github.com/Average-user/wonderland-clojure-katas/tree/master/doublets 100 | * https://github.com/m1kal/wonderland-clojure-katas/tree/master/doublets 101 | * https://github.com/LucianaMarques/wonderland-clojure-katas/tree/doublets-solution 102 | * https://github.com/manuel-colmenero/wonderland-clojure-katas/tree/master/doublets 103 | * https://github.com/kuchichan/wonderland-clojure-katas/tree/master/doublets 104 | 105 | If you haven't solved your kata yet - Don't Peek! 106 | 107 | ## License 108 | 109 | Copyright © 2014 Carin Meier 110 | 111 | Distributed under the Eclipse Public License either version 1.0 or (at 112 | your option) any later version. 113 | -------------------------------------------------------------------------------- /alphabet-cipher/README.md: -------------------------------------------------------------------------------- 1 | # alphabet-cipher 2 | 3 | Lewis Carroll published a cipher known as 4 | [The Alphabet Cipher](http://en.wikipedia.org/wiki/The_Alphabet_Cipher) 5 | 6 | ![Letter](../images/fishfrogletter.gif) 7 | 8 | This Alphabet Cipher involves alphabet substitution using a keyword. 9 | 10 | First you must make a substitution chart like this, where each row of 11 | the alphabet is rotated by one as each letter goes down the chart. 12 | 13 | ``` 14 | ABCDEFGHIJKLMNOPQRSTUVWXYZ 15 | A abcdefghijklmnopqrstuvwxyz 16 | B bcdefghijklmnopqrstuvwxyza 17 | C cdefghijklmnopqrstuvwxyzab 18 | D defghijklmnopqrstuvwxyzabc 19 | E efghijklmnopqrstuvwxyzabcd 20 | F fghijklmnopqrstuvwxyzabcde 21 | G ghijklmnopqrstuvwxyzabcdef 22 | H hijklmnopqrstuvwxyzabcdefg 23 | I ijklmnopqrstuvwxyzabcdefgh 24 | J jklmnopqrstuvwxyzabcdefghi 25 | K klmnopqrstuvwxyzabcdefghij 26 | L lmnopqrstuvwxyzabcdefghijk 27 | M mnopqrstuvwxyzabcdefghijkl 28 | N nopqrstuvwxyzabcdefghijklm 29 | O opqrstuvwxyzabcdefghijklmn 30 | P pqrstuvwxyzabcdefghijklmno 31 | Q qrstuvwxyzabcdefghijklmnop 32 | R rstuvwxyzabcdefghijklmnopq 33 | S stuvwxyzabcdefghijklmnopqr 34 | T tuvwxyzabcdefghijklmnopqrs 35 | U uvwxyzabcdefghijklmnopqrst 36 | V vwxyzabcdefghijklmnopqrstu 37 | W wxyzabcdefghijklmnopqrstuv 38 | X xyzabcdefghijklmnopqrstuvw 39 | Y yzabcdefghijklmnopqrstuvwx 40 | Z zabcdefghijklmnopqrstuvwxy 41 | ``` 42 | 43 | Both parties need to decide on a secret keyword. This keyword is not written down anywhere, but memorized. 44 | 45 | To encode the message, first write down the message. 46 | 47 | ``` 48 | meetmebythetree 49 | ``` 50 | 51 | Then, write the keyword, (which in this case is _scones_), repeated as many times as necessary. 52 | 53 | ``` 54 | sconessconessco 55 | meetmebythetree 56 | ``` 57 | 58 | Now you can look up the column _S_ in the table and follow it down until it meets the _M_ row. The value at the intersection is the letter _e_. All the letters would be thus encoded. 59 | 60 | ``` 61 | sconessconessco 62 | meetmebythetree 63 | egsgqwtahuiljgs 64 | ``` 65 | 66 | The encoded message is now `egsgqwtahuiljgs` 67 | 68 | To decode, the person would use the secret keyword and do the opposite. 69 | 70 | 71 | ## Instructions 72 | 73 | - Clone or fork this repo 74 | - `cd alphabet-cipher` 75 | - Run the tests with `clj -X:test` 76 | - Make the tests pass! 77 | 78 | ## Solutions 79 | 80 | Once you have your kata solution, you are welcome to submit a link to your repo to share here in this section with others. 81 | 82 | * https://github.com/meiji163/wonderland-clojure-katas/tree/master/alphabet-cipher 83 | * https://github.com/robhawkins/wonderland-clojure-katas/tree/master/alphabet-cipher 84 | * https://github.com/gensym/wonderland-clojure-katas/tree/alphabet-cipher-solution/alphabet-cipher 85 | * https://github.com/aaronj1335/wonderland-clojure-katas/tree/master/alphabet-cipher 86 | * https://github.com/mwfogleman/wonderland-clojure-katas/tree/alphabet/alphabet-cipher 87 | * https://github.com/vincentjames501/wonderland-clojure-katas/tree/master/alphabet-cipher 88 | * https://github.com/rbxbx/wonderland-clojure-katas/tree/master/alphabet-cipher/ 89 | * https://github.com/gnandretta/wonderland-clojure-katas/tree/master/alphabet-cipher 90 | * https://github.com/werand/wonderland-clojure-katas/tree/master/alphabet-cipher 91 | * https://github.com/julianjelfs/wonderland-clojure-katas/tree/master/alphabet-cipher 92 | * https://github.com/bartiosze/wonderland-clojure-katas/tree/origin-solution/alphabet-cipher 93 | * https://github.com/armyofevilrobots/wonderland-clojure-katas/tree/aoer_run_mar2015/alphabet-cipher 94 | * https://github.com/yzernik/wonderland-clojure-katas/tree/master/alphabet-cipher 95 | * https://github.com/priort/wonderland-clojure-katas/tree/master/alphabet-cipher 96 | * https://github.com/dfucci/wonderland-clojure-katas/tree/master/alphabet-cipher 97 | * https://github.com/raydel95/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decypher solution) 98 | * https://github.com/davidbecker/wonderland-clojure-katas/tree/solution/alphabet-cipher (includes decypher solution) 99 | * https://github.com/hannestyden/wonderland-clojure-katas/tree/solutions/alphabet-cipher (includes decypher solution) 100 | * https://github.com/harshita/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decypher solution) 101 | * https://github.com/bradlucas/wonderland-clojure-katas/tree/alphabet/alphabet-cipher (includes decypher solution) 102 | * https://github.com/ivern/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decypher solution) 103 | * https://github.com/ilyabe/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decypher solution) 104 | * https://github.com/davidpham87/wonderland-clojure-katas/tree/my-training/alphabet-cipher (includes decypher solution) 105 | * https://github.com/puhrez/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decypher solution) 106 | * https://github.com/ultrakapy/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decypher solution) 107 | * https://github.com/emmagordon/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decypher solution) 108 | * https://github.com/passaro/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decypher solution) 109 | * https://github.com/metamorph/wonderland-clojure-katas/tree/alphabet-cipher (includes decypher solution) 110 | * https://github.com/JustinSpedding/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decypher solution) 111 | * https://github.com/RokLenarcic/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decypher solution) 112 | * https://github.com/kimsnj/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decypher solution) 113 | * https://github.com/whiteotter/wonderland-clojure-katas/tree/alphabet-cipher/alphabet-cipher 114 | * https://github.com/dimitrijer/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decypher solution) 115 | * https://github.com/feng-qi/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decypher solution) 116 | * https://github.com/favrik/wonderland-clojure-katas/tree/alphabet-cipher/alphabet-cipher (includes decypher solution) 117 | * https://github.com/Adam262/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decipher solution) 118 | * https://github.com/fachammer/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decipher solution) 119 | * https://github.com/ponelat/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decipher solution) 120 | * https://github.com/madhat2r/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decipher solution) 121 | * https://github.com/saicheong/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decipher solution) 122 | * https://github.com/darrell-pittman/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decipher solution) 123 | * https://github.com/aquaraga/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decipher solution) 124 | * https://github.com/zelark/wonderland-clojure-katas/tree/solution/alphabet-cipher (includes decipher solution) 125 | * https://github.com/m1kal/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decipher solution) 126 | * https://github.com/anantpaatra/wonderland-clojure-katas/tree/solutions/alphabet-cipher (includes decipher solution) 127 | * https://github.com/rynkowsg/wonderland-clojure-katas/tree/master/alphabet-cipher _(includes decipher solution)_ 128 | * https://github.com/adql/wonderland-clojure-katas/tree/solutions/alphabet-cipher (includes decipher solution) 129 | * https://github.com/LucianaMarques/wonderland-clojure-katas/tree/luciana-alphabet-cipher/alphabet-cipher (includes decipher solution) 130 | * https://github.com/ronnac/living-clojure/tree/master/wonderland-clojure-katas/alphabet-cipher/src/alphabet_cipher (includes decipher solution) 131 | * https://github.com/manuel-colmenero/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decipher solution) 132 | * https://github.com/mattflo-outpace/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decipher solution) 133 | * https://github.com/kuchichan/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decipher solution) 134 | * https://git.sr.ht/~wakyct/wonderland-katas/tree/master/item/alphabet-cipher (includes decipher solution) 135 | * https://github.com/UlisesRdgz/wonderland-clojure-katas/tree/master/alphabet-cipher (includes decipher solution) 136 | 137 | If you haven't solved your kata yet - Don't Peek! 138 | 139 | ## License 140 | 141 | Copyright © 2014 Carin Meier 142 | 143 | Distributed under the Eclipse Public License either version 1.0 or (at 144 | your option) any later version. 145 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC 2 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM 3 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 4 | 5 | 1. DEFINITIONS 6 | 7 | "Contribution" means: 8 | 9 | a) in the case of the initial Contributor, the initial code and 10 | documentation distributed under this Agreement, and 11 | 12 | b) in the case of each subsequent Contributor: 13 | 14 | i) changes to the Program, and 15 | 16 | ii) additions to the Program; 17 | 18 | where such changes and/or additions to the Program originate from and are 19 | distributed by that particular Contributor. A Contribution 'originates' from 20 | a Contributor if it was added to the Program by such Contributor itself or 21 | anyone acting on such Contributor's behalf. Contributions do not include 22 | additions to the Program which: (i) are separate modules of software 23 | distributed in conjunction with the Program under their own license 24 | agreement, and (ii) are not derivative works of the Program. 25 | 26 | "Contributor" means any person or entity that distributes the Program. 27 | 28 | "Licensed Patents" mean patent claims licensable by a Contributor which are 29 | necessarily infringed by the use or sale of its Contribution alone or when 30 | combined with the Program. 31 | 32 | "Program" means the Contributions distributed in accordance with this 33 | Agreement. 34 | 35 | "Recipient" means anyone who receives the Program under this Agreement, 36 | including all Contributors. 37 | 38 | 2. GRANT OF RIGHTS 39 | 40 | a) Subject to the terms of this Agreement, each Contributor hereby grants 41 | Recipient a non-exclusive, worldwide, royalty-free copyright license to 42 | reproduce, prepare derivative works of, publicly display, publicly perform, 43 | distribute and sublicense the Contribution of such Contributor, if any, and 44 | such derivative works, in source code and object code form. 45 | 46 | b) Subject to the terms of this Agreement, each Contributor hereby grants 47 | Recipient a non-exclusive, worldwide, royalty-free patent license under 48 | Licensed Patents to make, use, sell, offer to sell, import and otherwise 49 | transfer the Contribution of such Contributor, if any, in source code and 50 | object code form. This patent license shall apply to the combination of the 51 | Contribution and the Program if, at the time the Contribution is added by the 52 | Contributor, such addition of the Contribution causes such combination to be 53 | covered by the Licensed Patents. The patent license shall not apply to any 54 | other combinations which include the Contribution. No hardware per se is 55 | licensed hereunder. 56 | 57 | c) Recipient understands that although each Contributor grants the licenses 58 | to its Contributions set forth herein, no assurances are provided by any 59 | Contributor that the Program does not infringe the patent or other 60 | intellectual property rights of any other entity. Each Contributor disclaims 61 | any liability to Recipient for claims brought by any other entity based on 62 | infringement of intellectual property rights or otherwise. As a condition to 63 | exercising the rights and licenses granted hereunder, each Recipient hereby 64 | assumes sole responsibility to secure any other intellectual property rights 65 | needed, if any. For example, if a third party patent license is required to 66 | allow Recipient to distribute the Program, it is Recipient's responsibility 67 | to acquire that license before distributing the Program. 68 | 69 | d) Each Contributor represents that to its knowledge it has sufficient 70 | copyright rights in its Contribution, if any, to grant the copyright license 71 | set forth in this Agreement. 72 | 73 | 3. REQUIREMENTS 74 | 75 | A Contributor may choose to distribute the Program in object code form under 76 | its own license agreement, provided that: 77 | 78 | a) it complies with the terms and conditions of this Agreement; and 79 | 80 | b) its license agreement: 81 | 82 | i) effectively disclaims on behalf of all Contributors all warranties and 83 | conditions, express and implied, including warranties or conditions of title 84 | and non-infringement, and implied warranties or conditions of merchantability 85 | and fitness for a particular purpose; 86 | 87 | ii) effectively excludes on behalf of all Contributors all liability for 88 | damages, including direct, indirect, special, incidental and consequential 89 | damages, such as lost profits; 90 | 91 | iii) states that any provisions which differ from this Agreement are offered 92 | by that Contributor alone and not by any other party; and 93 | 94 | iv) states that source code for the Program is available from such 95 | Contributor, and informs licensees how to obtain it in a reasonable manner on 96 | or through a medium customarily used for software exchange. 97 | 98 | When the Program is made available in source code form: 99 | 100 | a) it must be made available under this Agreement; and 101 | 102 | b) a copy of this Agreement must be included with each copy of the Program. 103 | 104 | Contributors may not remove or alter any copyright notices contained within 105 | the Program. 106 | 107 | Each Contributor must identify itself as the originator of its Contribution, 108 | if any, in a manner that reasonably allows subsequent Recipients to identify 109 | the originator of the Contribution. 110 | 111 | 4. COMMERCIAL DISTRIBUTION 112 | 113 | Commercial distributors of software may accept certain responsibilities with 114 | respect to end users, business partners and the like. While this license is 115 | intended to facilitate the commercial use of the Program, the Contributor who 116 | includes the Program in a commercial product offering should do so in a 117 | manner which does not create potential liability for other Contributors. 118 | Therefore, if a Contributor includes the Program in a commercial product 119 | offering, such Contributor ("Commercial Contributor") hereby agrees to defend 120 | and indemnify every other Contributor ("Indemnified Contributor") against any 121 | losses, damages and costs (collectively "Losses") arising from claims, 122 | lawsuits and other legal actions brought by a third party against the 123 | Indemnified Contributor to the extent caused by the acts or omissions of such 124 | Commercial Contributor in connection with its distribution of the Program in 125 | a commercial product offering. The obligations in this section do not apply 126 | to any claims or Losses relating to any actual or alleged intellectual 127 | property infringement. In order to qualify, an Indemnified Contributor must: 128 | a) promptly notify the Commercial Contributor in writing of such claim, and 129 | b) allow the Commercial Contributor tocontrol, and cooperate with the 130 | Commercial Contributor in, the defense and any related settlement 131 | negotiations. The Indemnified Contributor may participate in any such claim 132 | at its own expense. 133 | 134 | For example, a Contributor might include the Program in a commercial product 135 | offering, Product X. That Contributor is then a Commercial Contributor. If 136 | that Commercial Contributor then makes performance claims, or offers 137 | warranties related to Product X, those performance claims and warranties are 138 | such Commercial Contributor's responsibility alone. Under this section, the 139 | Commercial Contributor would have to defend claims against the other 140 | Contributors related to those performance claims and warranties, and if a 141 | court requires any other Contributor to pay any damages as a result, the 142 | Commercial Contributor must pay those damages. 143 | 144 | 5. NO WARRANTY 145 | 146 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON 147 | AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER 148 | EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR 149 | CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A 150 | PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the 151 | appropriateness of using and distributing the Program and assumes all risks 152 | associated with its exercise of rights under this Agreement , including but 153 | not limited to the risks and costs of program errors, compliance with 154 | applicable laws, damage to or loss of data, programs or equipment, and 155 | unavailability or interruption of operations. 156 | 157 | 6. DISCLAIMER OF LIABILITY 158 | 159 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY 160 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, 161 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION 162 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 163 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 164 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE 165 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY 166 | OF SUCH DAMAGES. 167 | 168 | 7. GENERAL 169 | 170 | If any provision of this Agreement is invalid or unenforceable under 171 | applicable law, it shall not affect the validity or enforceability of the 172 | remainder of the terms of this Agreement, and without further action by the 173 | parties hereto, such provision shall be reformed to the minimum extent 174 | necessary to make such provision valid and enforceable. 175 | 176 | If Recipient institutes patent litigation against any entity (including a 177 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself 178 | (excluding combinations of the Program with other software or hardware) 179 | infringes such Recipient's patent(s), then such Recipient's rights granted 180 | under Section 2(b) shall terminate as of the date such litigation is filed. 181 | 182 | All Recipient's rights under this Agreement shall terminate if it fails to 183 | comply with any of the material terms or conditions of this Agreement and 184 | does not cure such failure in a reasonable period of time after becoming 185 | aware of such noncompliance. If all Recipient's rights under this Agreement 186 | terminate, Recipient agrees to cease use and distribution of the Program as 187 | soon as reasonably practicable. However, Recipient's obligations under this 188 | Agreement and any licenses granted by Recipient relating to the Program shall 189 | continue and survive. 190 | 191 | Everyone is permitted to copy and distribute copies of this Agreement, but in 192 | order to avoid inconsistency the Agreement is copyrighted and may only be 193 | modified in the following manner. The Agreement Steward reserves the right to 194 | publish new versions (including revisions) of this Agreement from time to 195 | time. No one other than the Agreement Steward has the right to modify this 196 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The 197 | Eclipse Foundation may assign the responsibility to serve as the Agreement 198 | Steward to a suitable separate entity. Each new version of the Agreement will 199 | be given a distinguishing version number. The Program (including 200 | Contributions) may always be distributed subject to the version of the 201 | Agreement under which it was received. In addition, after a new version of 202 | the Agreement is published, Contributor may elect to distribute the Program 203 | (including its Contributions) under the new version. Except as expressly 204 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or 205 | licenses to the intellectual property of any Contributor under this 206 | Agreement, whether expressly, by implication, estoppel or otherwise. All 207 | rights in the Program not expressly granted under this Agreement are 208 | reserved. 209 | 210 | This Agreement is governed by the laws of the State of New York and the 211 | intellectual property laws of the United States of America. No party to this 212 | Agreement will bring a legal action under this Agreement more than one year 213 | after the cause of action arose. Each party waives its rights to a jury trial 214 | in any resulting litigation. 215 | -------------------------------------------------------------------------------- /doublets/LICENSE: -------------------------------------------------------------------------------- 1 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC 2 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM 3 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 4 | 5 | 1. DEFINITIONS 6 | 7 | "Contribution" means: 8 | 9 | a) in the case of the initial Contributor, the initial code and 10 | documentation distributed under this Agreement, and 11 | 12 | b) in the case of each subsequent Contributor: 13 | 14 | i) changes to the Program, and 15 | 16 | ii) additions to the Program; 17 | 18 | where such changes and/or additions to the Program originate from and are 19 | distributed by that particular Contributor. A Contribution 'originates' from 20 | a Contributor if it was added to the Program by such Contributor itself or 21 | anyone acting on such Contributor's behalf. Contributions do not include 22 | additions to the Program which: (i) are separate modules of software 23 | distributed in conjunction with the Program under their own license 24 | agreement, and (ii) are not derivative works of the Program. 25 | 26 | "Contributor" means any person or entity that distributes the Program. 27 | 28 | "Licensed Patents" mean patent claims licensable by a Contributor which are 29 | necessarily infringed by the use or sale of its Contribution alone or when 30 | combined with the Program. 31 | 32 | "Program" means the Contributions distributed in accordance with this 33 | Agreement. 34 | 35 | "Recipient" means anyone who receives the Program under this Agreement, 36 | including all Contributors. 37 | 38 | 2. GRANT OF RIGHTS 39 | 40 | a) Subject to the terms of this Agreement, each Contributor hereby grants 41 | Recipient a non-exclusive, worldwide, royalty-free copyright license to 42 | reproduce, prepare derivative works of, publicly display, publicly perform, 43 | distribute and sublicense the Contribution of such Contributor, if any, and 44 | such derivative works, in source code and object code form. 45 | 46 | b) Subject to the terms of this Agreement, each Contributor hereby grants 47 | Recipient a non-exclusive, worldwide, royalty-free patent license under 48 | Licensed Patents to make, use, sell, offer to sell, import and otherwise 49 | transfer the Contribution of such Contributor, if any, in source code and 50 | object code form. This patent license shall apply to the combination of the 51 | Contribution and the Program if, at the time the Contribution is added by the 52 | Contributor, such addition of the Contribution causes such combination to be 53 | covered by the Licensed Patents. The patent license shall not apply to any 54 | other combinations which include the Contribution. No hardware per se is 55 | licensed hereunder. 56 | 57 | c) Recipient understands that although each Contributor grants the licenses 58 | to its Contributions set forth herein, no assurances are provided by any 59 | Contributor that the Program does not infringe the patent or other 60 | intellectual property rights of any other entity. Each Contributor disclaims 61 | any liability to Recipient for claims brought by any other entity based on 62 | infringement of intellectual property rights or otherwise. As a condition to 63 | exercising the rights and licenses granted hereunder, each Recipient hereby 64 | assumes sole responsibility to secure any other intellectual property rights 65 | needed, if any. For example, if a third party patent license is required to 66 | allow Recipient to distribute the Program, it is Recipient's responsibility 67 | to acquire that license before distributing the Program. 68 | 69 | d) Each Contributor represents that to its knowledge it has sufficient 70 | copyright rights in its Contribution, if any, to grant the copyright license 71 | set forth in this Agreement. 72 | 73 | 3. REQUIREMENTS 74 | 75 | A Contributor may choose to distribute the Program in object code form under 76 | its own license agreement, provided that: 77 | 78 | a) it complies with the terms and conditions of this Agreement; and 79 | 80 | b) its license agreement: 81 | 82 | i) effectively disclaims on behalf of all Contributors all warranties and 83 | conditions, express and implied, including warranties or conditions of title 84 | and non-infringement, and implied warranties or conditions of merchantability 85 | and fitness for a particular purpose; 86 | 87 | ii) effectively excludes on behalf of all Contributors all liability for 88 | damages, including direct, indirect, special, incidental and consequential 89 | damages, such as lost profits; 90 | 91 | iii) states that any provisions which differ from this Agreement are offered 92 | by that Contributor alone and not by any other party; and 93 | 94 | iv) states that source code for the Program is available from such 95 | Contributor, and informs licensees how to obtain it in a reasonable manner on 96 | or through a medium customarily used for software exchange. 97 | 98 | When the Program is made available in source code form: 99 | 100 | a) it must be made available under this Agreement; and 101 | 102 | b) a copy of this Agreement must be included with each copy of the Program. 103 | 104 | Contributors may not remove or alter any copyright notices contained within 105 | the Program. 106 | 107 | Each Contributor must identify itself as the originator of its Contribution, 108 | if any, in a manner that reasonably allows subsequent Recipients to identify 109 | the originator of the Contribution. 110 | 111 | 4. COMMERCIAL DISTRIBUTION 112 | 113 | Commercial distributors of software may accept certain responsibilities with 114 | respect to end users, business partners and the like. While this license is 115 | intended to facilitate the commercial use of the Program, the Contributor who 116 | includes the Program in a commercial product offering should do so in a 117 | manner which does not create potential liability for other Contributors. 118 | Therefore, if a Contributor includes the Program in a commercial product 119 | offering, such Contributor ("Commercial Contributor") hereby agrees to defend 120 | and indemnify every other Contributor ("Indemnified Contributor") against any 121 | losses, damages and costs (collectively "Losses") arising from claims, 122 | lawsuits and other legal actions brought by a third party against the 123 | Indemnified Contributor to the extent caused by the acts or omissions of such 124 | Commercial Contributor in connection with its distribution of the Program in 125 | a commercial product offering. The obligations in this section do not apply 126 | to any claims or Losses relating to any actual or alleged intellectual 127 | property infringement. In order to qualify, an Indemnified Contributor must: 128 | a) promptly notify the Commercial Contributor in writing of such claim, and 129 | b) allow the Commercial Contributor tocontrol, and cooperate with the 130 | Commercial Contributor in, the defense and any related settlement 131 | negotiations. The Indemnified Contributor may participate in any such claim 132 | at its own expense. 133 | 134 | For example, a Contributor might include the Program in a commercial product 135 | offering, Product X. That Contributor is then a Commercial Contributor. If 136 | that Commercial Contributor then makes performance claims, or offers 137 | warranties related to Product X, those performance claims and warranties are 138 | such Commercial Contributor's responsibility alone. Under this section, the 139 | Commercial Contributor would have to defend claims against the other 140 | Contributors related to those performance claims and warranties, and if a 141 | court requires any other Contributor to pay any damages as a result, the 142 | Commercial Contributor must pay those damages. 143 | 144 | 5. NO WARRANTY 145 | 146 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON 147 | AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER 148 | EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR 149 | CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A 150 | PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the 151 | appropriateness of using and distributing the Program and assumes all risks 152 | associated with its exercise of rights under this Agreement , including but 153 | not limited to the risks and costs of program errors, compliance with 154 | applicable laws, damage to or loss of data, programs or equipment, and 155 | unavailability or interruption of operations. 156 | 157 | 6. DISCLAIMER OF LIABILITY 158 | 159 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY 160 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, 161 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION 162 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 163 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 164 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE 165 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY 166 | OF SUCH DAMAGES. 167 | 168 | 7. GENERAL 169 | 170 | If any provision of this Agreement is invalid or unenforceable under 171 | applicable law, it shall not affect the validity or enforceability of the 172 | remainder of the terms of this Agreement, and without further action by the 173 | parties hereto, such provision shall be reformed to the minimum extent 174 | necessary to make such provision valid and enforceable. 175 | 176 | If Recipient institutes patent litigation against any entity (including a 177 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself 178 | (excluding combinations of the Program with other software or hardware) 179 | infringes such Recipient's patent(s), then such Recipient's rights granted 180 | under Section 2(b) shall terminate as of the date such litigation is filed. 181 | 182 | All Recipient's rights under this Agreement shall terminate if it fails to 183 | comply with any of the material terms or conditions of this Agreement and 184 | does not cure such failure in a reasonable period of time after becoming 185 | aware of such noncompliance. If all Recipient's rights under this Agreement 186 | terminate, Recipient agrees to cease use and distribution of the Program as 187 | soon as reasonably practicable. However, Recipient's obligations under this 188 | Agreement and any licenses granted by Recipient relating to the Program shall 189 | continue and survive. 190 | 191 | Everyone is permitted to copy and distribute copies of this Agreement, but in 192 | order to avoid inconsistency the Agreement is copyrighted and may only be 193 | modified in the following manner. The Agreement Steward reserves the right to 194 | publish new versions (including revisions) of this Agreement from time to 195 | time. No one other than the Agreement Steward has the right to modify this 196 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The 197 | Eclipse Foundation may assign the responsibility to serve as the Agreement 198 | Steward to a suitable separate entity. Each new version of the Agreement will 199 | be given a distinguishing version number. The Program (including 200 | Contributions) may always be distributed subject to the version of the 201 | Agreement under which it was received. In addition, after a new version of 202 | the Agreement is published, Contributor may elect to distribute the Program 203 | (including its Contributions) under the new version. Except as expressly 204 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or 205 | licenses to the intellectual property of any Contributor under this 206 | Agreement, whether expressly, by implication, estoppel or otherwise. All 207 | rights in the Program not expressly granted under this Agreement are 208 | reserved. 209 | 210 | This Agreement is governed by the laws of the State of New York and the 211 | intellectual property laws of the United States of America. No party to this 212 | Agreement will bring a legal action under this Agreement more than one year 213 | after the cause of action arose. Each party waives its rights to a jury trial 214 | in any resulting litigation. 215 | -------------------------------------------------------------------------------- /tiny-maze/LICENSE: -------------------------------------------------------------------------------- 1 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC 2 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM 3 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 4 | 5 | 1. DEFINITIONS 6 | 7 | "Contribution" means: 8 | 9 | a) in the case of the initial Contributor, the initial code and 10 | documentation distributed under this Agreement, and 11 | 12 | b) in the case of each subsequent Contributor: 13 | 14 | i) changes to the Program, and 15 | 16 | ii) additions to the Program; 17 | 18 | where such changes and/or additions to the Program originate from and are 19 | distributed by that particular Contributor. A Contribution 'originates' from 20 | a Contributor if it was added to the Program by such Contributor itself or 21 | anyone acting on such Contributor's behalf. Contributions do not include 22 | additions to the Program which: (i) are separate modules of software 23 | distributed in conjunction with the Program under their own license 24 | agreement, and (ii) are not derivative works of the Program. 25 | 26 | "Contributor" means any person or entity that distributes the Program. 27 | 28 | "Licensed Patents" mean patent claims licensable by a Contributor which are 29 | necessarily infringed by the use or sale of its Contribution alone or when 30 | combined with the Program. 31 | 32 | "Program" means the Contributions distributed in accordance with this 33 | Agreement. 34 | 35 | "Recipient" means anyone who receives the Program under this Agreement, 36 | including all Contributors. 37 | 38 | 2. GRANT OF RIGHTS 39 | 40 | a) Subject to the terms of this Agreement, each Contributor hereby grants 41 | Recipient a non-exclusive, worldwide, royalty-free copyright license to 42 | reproduce, prepare derivative works of, publicly display, publicly perform, 43 | distribute and sublicense the Contribution of such Contributor, if any, and 44 | such derivative works, in source code and object code form. 45 | 46 | b) Subject to the terms of this Agreement, each Contributor hereby grants 47 | Recipient a non-exclusive, worldwide, royalty-free patent license under 48 | Licensed Patents to make, use, sell, offer to sell, import and otherwise 49 | transfer the Contribution of such Contributor, if any, in source code and 50 | object code form. This patent license shall apply to the combination of the 51 | Contribution and the Program if, at the time the Contribution is added by the 52 | Contributor, such addition of the Contribution causes such combination to be 53 | covered by the Licensed Patents. The patent license shall not apply to any 54 | other combinations which include the Contribution. No hardware per se is 55 | licensed hereunder. 56 | 57 | c) Recipient understands that although each Contributor grants the licenses 58 | to its Contributions set forth herein, no assurances are provided by any 59 | Contributor that the Program does not infringe the patent or other 60 | intellectual property rights of any other entity. Each Contributor disclaims 61 | any liability to Recipient for claims brought by any other entity based on 62 | infringement of intellectual property rights or otherwise. As a condition to 63 | exercising the rights and licenses granted hereunder, each Recipient hereby 64 | assumes sole responsibility to secure any other intellectual property rights 65 | needed, if any. For example, if a third party patent license is required to 66 | allow Recipient to distribute the Program, it is Recipient's responsibility 67 | to acquire that license before distributing the Program. 68 | 69 | d) Each Contributor represents that to its knowledge it has sufficient 70 | copyright rights in its Contribution, if any, to grant the copyright license 71 | set forth in this Agreement. 72 | 73 | 3. REQUIREMENTS 74 | 75 | A Contributor may choose to distribute the Program in object code form under 76 | its own license agreement, provided that: 77 | 78 | a) it complies with the terms and conditions of this Agreement; and 79 | 80 | b) its license agreement: 81 | 82 | i) effectively disclaims on behalf of all Contributors all warranties and 83 | conditions, express and implied, including warranties or conditions of title 84 | and non-infringement, and implied warranties or conditions of merchantability 85 | and fitness for a particular purpose; 86 | 87 | ii) effectively excludes on behalf of all Contributors all liability for 88 | damages, including direct, indirect, special, incidental and consequential 89 | damages, such as lost profits; 90 | 91 | iii) states that any provisions which differ from this Agreement are offered 92 | by that Contributor alone and not by any other party; and 93 | 94 | iv) states that source code for the Program is available from such 95 | Contributor, and informs licensees how to obtain it in a reasonable manner on 96 | or through a medium customarily used for software exchange. 97 | 98 | When the Program is made available in source code form: 99 | 100 | a) it must be made available under this Agreement; and 101 | 102 | b) a copy of this Agreement must be included with each copy of the Program. 103 | 104 | Contributors may not remove or alter any copyright notices contained within 105 | the Program. 106 | 107 | Each Contributor must identify itself as the originator of its Contribution, 108 | if any, in a manner that reasonably allows subsequent Recipients to identify 109 | the originator of the Contribution. 110 | 111 | 4. COMMERCIAL DISTRIBUTION 112 | 113 | Commercial distributors of software may accept certain responsibilities with 114 | respect to end users, business partners and the like. While this license is 115 | intended to facilitate the commercial use of the Program, the Contributor who 116 | includes the Program in a commercial product offering should do so in a 117 | manner which does not create potential liability for other Contributors. 118 | Therefore, if a Contributor includes the Program in a commercial product 119 | offering, such Contributor ("Commercial Contributor") hereby agrees to defend 120 | and indemnify every other Contributor ("Indemnified Contributor") against any 121 | losses, damages and costs (collectively "Losses") arising from claims, 122 | lawsuits and other legal actions brought by a third party against the 123 | Indemnified Contributor to the extent caused by the acts or omissions of such 124 | Commercial Contributor in connection with its distribution of the Program in 125 | a commercial product offering. The obligations in this section do not apply 126 | to any claims or Losses relating to any actual or alleged intellectual 127 | property infringement. In order to qualify, an Indemnified Contributor must: 128 | a) promptly notify the Commercial Contributor in writing of such claim, and 129 | b) allow the Commercial Contributor tocontrol, and cooperate with the 130 | Commercial Contributor in, the defense and any related settlement 131 | negotiations. The Indemnified Contributor may participate in any such claim 132 | at its own expense. 133 | 134 | For example, a Contributor might include the Program in a commercial product 135 | offering, Product X. That Contributor is then a Commercial Contributor. If 136 | that Commercial Contributor then makes performance claims, or offers 137 | warranties related to Product X, those performance claims and warranties are 138 | such Commercial Contributor's responsibility alone. Under this section, the 139 | Commercial Contributor would have to defend claims against the other 140 | Contributors related to those performance claims and warranties, and if a 141 | court requires any other Contributor to pay any damages as a result, the 142 | Commercial Contributor must pay those damages. 143 | 144 | 5. NO WARRANTY 145 | 146 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON 147 | AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER 148 | EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR 149 | CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A 150 | PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the 151 | appropriateness of using and distributing the Program and assumes all risks 152 | associated with its exercise of rights under this Agreement , including but 153 | not limited to the risks and costs of program errors, compliance with 154 | applicable laws, damage to or loss of data, programs or equipment, and 155 | unavailability or interruption of operations. 156 | 157 | 6. DISCLAIMER OF LIABILITY 158 | 159 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY 160 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, 161 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION 162 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 163 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 164 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE 165 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY 166 | OF SUCH DAMAGES. 167 | 168 | 7. GENERAL 169 | 170 | If any provision of this Agreement is invalid or unenforceable under 171 | applicable law, it shall not affect the validity or enforceability of the 172 | remainder of the terms of this Agreement, and without further action by the 173 | parties hereto, such provision shall be reformed to the minimum extent 174 | necessary to make such provision valid and enforceable. 175 | 176 | If Recipient institutes patent litigation against any entity (including a 177 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself 178 | (excluding combinations of the Program with other software or hardware) 179 | infringes such Recipient's patent(s), then such Recipient's rights granted 180 | under Section 2(b) shall terminate as of the date such litigation is filed. 181 | 182 | All Recipient's rights under this Agreement shall terminate if it fails to 183 | comply with any of the material terms or conditions of this Agreement and 184 | does not cure such failure in a reasonable period of time after becoming 185 | aware of such noncompliance. If all Recipient's rights under this Agreement 186 | terminate, Recipient agrees to cease use and distribution of the Program as 187 | soon as reasonably practicable. However, Recipient's obligations under this 188 | Agreement and any licenses granted by Recipient relating to the Program shall 189 | continue and survive. 190 | 191 | Everyone is permitted to copy and distribute copies of this Agreement, but in 192 | order to avoid inconsistency the Agreement is copyrighted and may only be 193 | modified in the following manner. The Agreement Steward reserves the right to 194 | publish new versions (including revisions) of this Agreement from time to 195 | time. No one other than the Agreement Steward has the right to modify this 196 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The 197 | Eclipse Foundation may assign the responsibility to serve as the Agreement 198 | Steward to a suitable separate entity. Each new version of the Agreement will 199 | be given a distinguishing version number. The Program (including 200 | Contributions) may always be distributed subject to the version of the 201 | Agreement under which it was received. In addition, after a new version of 202 | the Agreement is published, Contributor may elect to distribute the Program 203 | (including its Contributions) under the new version. Except as expressly 204 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or 205 | licenses to the intellectual property of any Contributor under this 206 | Agreement, whether expressly, by implication, estoppel or otherwise. All 207 | rights in the Program not expressly granted under this Agreement are 208 | reserved. 209 | 210 | This Agreement is governed by the laws of the State of New York and the 211 | intellectual property laws of the United States of America. No party to this 212 | Agreement will bring a legal action under this Agreement more than one year 213 | after the cause of action arose. Each party waives its rights to a jury trial 214 | in any resulting litigation. 215 | -------------------------------------------------------------------------------- /alphabet-cipher/LICENSE: -------------------------------------------------------------------------------- 1 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC 2 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM 3 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 4 | 5 | 1. DEFINITIONS 6 | 7 | "Contribution" means: 8 | 9 | a) in the case of the initial Contributor, the initial code and 10 | documentation distributed under this Agreement, and 11 | 12 | b) in the case of each subsequent Contributor: 13 | 14 | i) changes to the Program, and 15 | 16 | ii) additions to the Program; 17 | 18 | where such changes and/or additions to the Program originate from and are 19 | distributed by that particular Contributor. A Contribution 'originates' from 20 | a Contributor if it was added to the Program by such Contributor itself or 21 | anyone acting on such Contributor's behalf. Contributions do not include 22 | additions to the Program which: (i) are separate modules of software 23 | distributed in conjunction with the Program under their own license 24 | agreement, and (ii) are not derivative works of the Program. 25 | 26 | "Contributor" means any person or entity that distributes the Program. 27 | 28 | "Licensed Patents" mean patent claims licensable by a Contributor which are 29 | necessarily infringed by the use or sale of its Contribution alone or when 30 | combined with the Program. 31 | 32 | "Program" means the Contributions distributed in accordance with this 33 | Agreement. 34 | 35 | "Recipient" means anyone who receives the Program under this Agreement, 36 | including all Contributors. 37 | 38 | 2. GRANT OF RIGHTS 39 | 40 | a) Subject to the terms of this Agreement, each Contributor hereby grants 41 | Recipient a non-exclusive, worldwide, royalty-free copyright license to 42 | reproduce, prepare derivative works of, publicly display, publicly perform, 43 | distribute and sublicense the Contribution of such Contributor, if any, and 44 | such derivative works, in source code and object code form. 45 | 46 | b) Subject to the terms of this Agreement, each Contributor hereby grants 47 | Recipient a non-exclusive, worldwide, royalty-free patent license under 48 | Licensed Patents to make, use, sell, offer to sell, import and otherwise 49 | transfer the Contribution of such Contributor, if any, in source code and 50 | object code form. This patent license shall apply to the combination of the 51 | Contribution and the Program if, at the time the Contribution is added by the 52 | Contributor, such addition of the Contribution causes such combination to be 53 | covered by the Licensed Patents. The patent license shall not apply to any 54 | other combinations which include the Contribution. No hardware per se is 55 | licensed hereunder. 56 | 57 | c) Recipient understands that although each Contributor grants the licenses 58 | to its Contributions set forth herein, no assurances are provided by any 59 | Contributor that the Program does not infringe the patent or other 60 | intellectual property rights of any other entity. Each Contributor disclaims 61 | any liability to Recipient for claims brought by any other entity based on 62 | infringement of intellectual property rights or otherwise. As a condition to 63 | exercising the rights and licenses granted hereunder, each Recipient hereby 64 | assumes sole responsibility to secure any other intellectual property rights 65 | needed, if any. For example, if a third party patent license is required to 66 | allow Recipient to distribute the Program, it is Recipient's responsibility 67 | to acquire that license before distributing the Program. 68 | 69 | d) Each Contributor represents that to its knowledge it has sufficient 70 | copyright rights in its Contribution, if any, to grant the copyright license 71 | set forth in this Agreement. 72 | 73 | 3. REQUIREMENTS 74 | 75 | A Contributor may choose to distribute the Program in object code form under 76 | its own license agreement, provided that: 77 | 78 | a) it complies with the terms and conditions of this Agreement; and 79 | 80 | b) its license agreement: 81 | 82 | i) effectively disclaims on behalf of all Contributors all warranties and 83 | conditions, express and implied, including warranties or conditions of title 84 | and non-infringement, and implied warranties or conditions of merchantability 85 | and fitness for a particular purpose; 86 | 87 | ii) effectively excludes on behalf of all Contributors all liability for 88 | damages, including direct, indirect, special, incidental and consequential 89 | damages, such as lost profits; 90 | 91 | iii) states that any provisions which differ from this Agreement are offered 92 | by that Contributor alone and not by any other party; and 93 | 94 | iv) states that source code for the Program is available from such 95 | Contributor, and informs licensees how to obtain it in a reasonable manner on 96 | or through a medium customarily used for software exchange. 97 | 98 | When the Program is made available in source code form: 99 | 100 | a) it must be made available under this Agreement; and 101 | 102 | b) a copy of this Agreement must be included with each copy of the Program. 103 | 104 | Contributors may not remove or alter any copyright notices contained within 105 | the Program. 106 | 107 | Each Contributor must identify itself as the originator of its Contribution, 108 | if any, in a manner that reasonably allows subsequent Recipients to identify 109 | the originator of the Contribution. 110 | 111 | 4. COMMERCIAL DISTRIBUTION 112 | 113 | Commercial distributors of software may accept certain responsibilities with 114 | respect to end users, business partners and the like. While this license is 115 | intended to facilitate the commercial use of the Program, the Contributor who 116 | includes the Program in a commercial product offering should do so in a 117 | manner which does not create potential liability for other Contributors. 118 | Therefore, if a Contributor includes the Program in a commercial product 119 | offering, such Contributor ("Commercial Contributor") hereby agrees to defend 120 | and indemnify every other Contributor ("Indemnified Contributor") against any 121 | losses, damages and costs (collectively "Losses") arising from claims, 122 | lawsuits and other legal actions brought by a third party against the 123 | Indemnified Contributor to the extent caused by the acts or omissions of such 124 | Commercial Contributor in connection with its distribution of the Program in 125 | a commercial product offering. The obligations in this section do not apply 126 | to any claims or Losses relating to any actual or alleged intellectual 127 | property infringement. In order to qualify, an Indemnified Contributor must: 128 | a) promptly notify the Commercial Contributor in writing of such claim, and 129 | b) allow the Commercial Contributor tocontrol, and cooperate with the 130 | Commercial Contributor in, the defense and any related settlement 131 | negotiations. The Indemnified Contributor may participate in any such claim 132 | at its own expense. 133 | 134 | For example, a Contributor might include the Program in a commercial product 135 | offering, Product X. That Contributor is then a Commercial Contributor. If 136 | that Commercial Contributor then makes performance claims, or offers 137 | warranties related to Product X, those performance claims and warranties are 138 | such Commercial Contributor's responsibility alone. Under this section, the 139 | Commercial Contributor would have to defend claims against the other 140 | Contributors related to those performance claims and warranties, and if a 141 | court requires any other Contributor to pay any damages as a result, the 142 | Commercial Contributor must pay those damages. 143 | 144 | 5. NO WARRANTY 145 | 146 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON 147 | AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER 148 | EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR 149 | CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A 150 | PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the 151 | appropriateness of using and distributing the Program and assumes all risks 152 | associated with its exercise of rights under this Agreement , including but 153 | not limited to the risks and costs of program errors, compliance with 154 | applicable laws, damage to or loss of data, programs or equipment, and 155 | unavailability or interruption of operations. 156 | 157 | 6. DISCLAIMER OF LIABILITY 158 | 159 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY 160 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, 161 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION 162 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 163 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 164 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE 165 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY 166 | OF SUCH DAMAGES. 167 | 168 | 7. GENERAL 169 | 170 | If any provision of this Agreement is invalid or unenforceable under 171 | applicable law, it shall not affect the validity or enforceability of the 172 | remainder of the terms of this Agreement, and without further action by the 173 | parties hereto, such provision shall be reformed to the minimum extent 174 | necessary to make such provision valid and enforceable. 175 | 176 | If Recipient institutes patent litigation against any entity (including a 177 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself 178 | (excluding combinations of the Program with other software or hardware) 179 | infringes such Recipient's patent(s), then such Recipient's rights granted 180 | under Section 2(b) shall terminate as of the date such litigation is filed. 181 | 182 | All Recipient's rights under this Agreement shall terminate if it fails to 183 | comply with any of the material terms or conditions of this Agreement and 184 | does not cure such failure in a reasonable period of time after becoming 185 | aware of such noncompliance. If all Recipient's rights under this Agreement 186 | terminate, Recipient agrees to cease use and distribution of the Program as 187 | soon as reasonably practicable. However, Recipient's obligations under this 188 | Agreement and any licenses granted by Recipient relating to the Program shall 189 | continue and survive. 190 | 191 | Everyone is permitted to copy and distribute copies of this Agreement, but in 192 | order to avoid inconsistency the Agreement is copyrighted and may only be 193 | modified in the following manner. The Agreement Steward reserves the right to 194 | publish new versions (including revisions) of this Agreement from time to 195 | time. No one other than the Agreement Steward has the right to modify this 196 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The 197 | Eclipse Foundation may assign the responsibility to serve as the Agreement 198 | Steward to a suitable separate entity. Each new version of the Agreement will 199 | be given a distinguishing version number. The Program (including 200 | Contributions) may always be distributed subject to the version of the 201 | Agreement under which it was received. In addition, after a new version of 202 | the Agreement is published, Contributor may elect to distribute the Program 203 | (including its Contributions) under the new version. Except as expressly 204 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or 205 | licenses to the intellectual property of any Contributor under this 206 | Agreement, whether expressly, by implication, estoppel or otherwise. All 207 | rights in the Program not expressly granted under this Agreement are 208 | reserved. 209 | 210 | This Agreement is governed by the laws of the State of New York and the 211 | intellectual property laws of the United States of America. No party to this 212 | Agreement will bring a legal action under this Agreement more than one year 213 | after the cause of action arose. Each party waives its rights to a jury trial 214 | in any resulting litigation. 215 | -------------------------------------------------------------------------------- /card-game-war/LICENSE: -------------------------------------------------------------------------------- 1 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC 2 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM 3 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 4 | 5 | 1. DEFINITIONS 6 | 7 | "Contribution" means: 8 | 9 | a) in the case of the initial Contributor, the initial code and 10 | documentation distributed under this Agreement, and 11 | 12 | b) in the case of each subsequent Contributor: 13 | 14 | i) changes to the Program, and 15 | 16 | ii) additions to the Program; 17 | 18 | where such changes and/or additions to the Program originate from and are 19 | distributed by that particular Contributor. A Contribution 'originates' from 20 | a Contributor if it was added to the Program by such Contributor itself or 21 | anyone acting on such Contributor's behalf. Contributions do not include 22 | additions to the Program which: (i) are separate modules of software 23 | distributed in conjunction with the Program under their own license 24 | agreement, and (ii) are not derivative works of the Program. 25 | 26 | "Contributor" means any person or entity that distributes the Program. 27 | 28 | "Licensed Patents" mean patent claims licensable by a Contributor which are 29 | necessarily infringed by the use or sale of its Contribution alone or when 30 | combined with the Program. 31 | 32 | "Program" means the Contributions distributed in accordance with this 33 | Agreement. 34 | 35 | "Recipient" means anyone who receives the Program under this Agreement, 36 | including all Contributors. 37 | 38 | 2. GRANT OF RIGHTS 39 | 40 | a) Subject to the terms of this Agreement, each Contributor hereby grants 41 | Recipient a non-exclusive, worldwide, royalty-free copyright license to 42 | reproduce, prepare derivative works of, publicly display, publicly perform, 43 | distribute and sublicense the Contribution of such Contributor, if any, and 44 | such derivative works, in source code and object code form. 45 | 46 | b) Subject to the terms of this Agreement, each Contributor hereby grants 47 | Recipient a non-exclusive, worldwide, royalty-free patent license under 48 | Licensed Patents to make, use, sell, offer to sell, import and otherwise 49 | transfer the Contribution of such Contributor, if any, in source code and 50 | object code form. This patent license shall apply to the combination of the 51 | Contribution and the Program if, at the time the Contribution is added by the 52 | Contributor, such addition of the Contribution causes such combination to be 53 | covered by the Licensed Patents. The patent license shall not apply to any 54 | other combinations which include the Contribution. No hardware per se is 55 | licensed hereunder. 56 | 57 | c) Recipient understands that although each Contributor grants the licenses 58 | to its Contributions set forth herein, no assurances are provided by any 59 | Contributor that the Program does not infringe the patent or other 60 | intellectual property rights of any other entity. Each Contributor disclaims 61 | any liability to Recipient for claims brought by any other entity based on 62 | infringement of intellectual property rights or otherwise. As a condition to 63 | exercising the rights and licenses granted hereunder, each Recipient hereby 64 | assumes sole responsibility to secure any other intellectual property rights 65 | needed, if any. For example, if a third party patent license is required to 66 | allow Recipient to distribute the Program, it is Recipient's responsibility 67 | to acquire that license before distributing the Program. 68 | 69 | d) Each Contributor represents that to its knowledge it has sufficient 70 | copyright rights in its Contribution, if any, to grant the copyright license 71 | set forth in this Agreement. 72 | 73 | 3. REQUIREMENTS 74 | 75 | A Contributor may choose to distribute the Program in object code form under 76 | its own license agreement, provided that: 77 | 78 | a) it complies with the terms and conditions of this Agreement; and 79 | 80 | b) its license agreement: 81 | 82 | i) effectively disclaims on behalf of all Contributors all warranties and 83 | conditions, express and implied, including warranties or conditions of title 84 | and non-infringement, and implied warranties or conditions of merchantability 85 | and fitness for a particular purpose; 86 | 87 | ii) effectively excludes on behalf of all Contributors all liability for 88 | damages, including direct, indirect, special, incidental and consequential 89 | damages, such as lost profits; 90 | 91 | iii) states that any provisions which differ from this Agreement are offered 92 | by that Contributor alone and not by any other party; and 93 | 94 | iv) states that source code for the Program is available from such 95 | Contributor, and informs licensees how to obtain it in a reasonable manner on 96 | or through a medium customarily used for software exchange. 97 | 98 | When the Program is made available in source code form: 99 | 100 | a) it must be made available under this Agreement; and 101 | 102 | b) a copy of this Agreement must be included with each copy of the Program. 103 | 104 | Contributors may not remove or alter any copyright notices contained within 105 | the Program. 106 | 107 | Each Contributor must identify itself as the originator of its Contribution, 108 | if any, in a manner that reasonably allows subsequent Recipients to identify 109 | the originator of the Contribution. 110 | 111 | 4. COMMERCIAL DISTRIBUTION 112 | 113 | Commercial distributors of software may accept certain responsibilities with 114 | respect to end users, business partners and the like. While this license is 115 | intended to facilitate the commercial use of the Program, the Contributor who 116 | includes the Program in a commercial product offering should do so in a 117 | manner which does not create potential liability for other Contributors. 118 | Therefore, if a Contributor includes the Program in a commercial product 119 | offering, such Contributor ("Commercial Contributor") hereby agrees to defend 120 | and indemnify every other Contributor ("Indemnified Contributor") against any 121 | losses, damages and costs (collectively "Losses") arising from claims, 122 | lawsuits and other legal actions brought by a third party against the 123 | Indemnified Contributor to the extent caused by the acts or omissions of such 124 | Commercial Contributor in connection with its distribution of the Program in 125 | a commercial product offering. The obligations in this section do not apply 126 | to any claims or Losses relating to any actual or alleged intellectual 127 | property infringement. In order to qualify, an Indemnified Contributor must: 128 | a) promptly notify the Commercial Contributor in writing of such claim, and 129 | b) allow the Commercial Contributor tocontrol, and cooperate with the 130 | Commercial Contributor in, the defense and any related settlement 131 | negotiations. The Indemnified Contributor may participate in any such claim 132 | at its own expense. 133 | 134 | For example, a Contributor might include the Program in a commercial product 135 | offering, Product X. That Contributor is then a Commercial Contributor. If 136 | that Commercial Contributor then makes performance claims, or offers 137 | warranties related to Product X, those performance claims and warranties are 138 | such Commercial Contributor's responsibility alone. Under this section, the 139 | Commercial Contributor would have to defend claims against the other 140 | Contributors related to those performance claims and warranties, and if a 141 | court requires any other Contributor to pay any damages as a result, the 142 | Commercial Contributor must pay those damages. 143 | 144 | 5. NO WARRANTY 145 | 146 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON 147 | AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER 148 | EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR 149 | CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A 150 | PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the 151 | appropriateness of using and distributing the Program and assumes all risks 152 | associated with its exercise of rights under this Agreement , including but 153 | not limited to the risks and costs of program errors, compliance with 154 | applicable laws, damage to or loss of data, programs or equipment, and 155 | unavailability or interruption of operations. 156 | 157 | 6. DISCLAIMER OF LIABILITY 158 | 159 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY 160 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, 161 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION 162 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 163 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 164 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE 165 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY 166 | OF SUCH DAMAGES. 167 | 168 | 7. GENERAL 169 | 170 | If any provision of this Agreement is invalid or unenforceable under 171 | applicable law, it shall not affect the validity or enforceability of the 172 | remainder of the terms of this Agreement, and without further action by the 173 | parties hereto, such provision shall be reformed to the minimum extent 174 | necessary to make such provision valid and enforceable. 175 | 176 | If Recipient institutes patent litigation against any entity (including a 177 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself 178 | (excluding combinations of the Program with other software or hardware) 179 | infringes such Recipient's patent(s), then such Recipient's rights granted 180 | under Section 2(b) shall terminate as of the date such litigation is filed. 181 | 182 | All Recipient's rights under this Agreement shall terminate if it fails to 183 | comply with any of the material terms or conditions of this Agreement and 184 | does not cure such failure in a reasonable period of time after becoming 185 | aware of such noncompliance. If all Recipient's rights under this Agreement 186 | terminate, Recipient agrees to cease use and distribution of the Program as 187 | soon as reasonably practicable. However, Recipient's obligations under this 188 | Agreement and any licenses granted by Recipient relating to the Program shall 189 | continue and survive. 190 | 191 | Everyone is permitted to copy and distribute copies of this Agreement, but in 192 | order to avoid inconsistency the Agreement is copyrighted and may only be 193 | modified in the following manner. The Agreement Steward reserves the right to 194 | publish new versions (including revisions) of this Agreement from time to 195 | time. No one other than the Agreement Steward has the right to modify this 196 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The 197 | Eclipse Foundation may assign the responsibility to serve as the Agreement 198 | Steward to a suitable separate entity. Each new version of the Agreement will 199 | be given a distinguishing version number. The Program (including 200 | Contributions) may always be distributed subject to the version of the 201 | Agreement under which it was received. In addition, after a new version of 202 | the Agreement is published, Contributor may elect to distribute the Program 203 | (including its Contributions) under the new version. Except as expressly 204 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or 205 | licenses to the intellectual property of any Contributor under this 206 | Agreement, whether expressly, by implication, estoppel or otherwise. All 207 | rights in the Program not expressly granted under this Agreement are 208 | reserved. 209 | 210 | This Agreement is governed by the laws of the State of New York and the 211 | intellectual property laws of the United States of America. No party to this 212 | Agreement will bring a legal action under this Agreement more than one year 213 | after the cause of action arose. Each party waives its rights to a jury trial 214 | in any resulting litigation. 215 | -------------------------------------------------------------------------------- /magic-square/LICENSE: -------------------------------------------------------------------------------- 1 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC 2 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM 3 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 4 | 5 | 1. DEFINITIONS 6 | 7 | "Contribution" means: 8 | 9 | a) in the case of the initial Contributor, the initial code and 10 | documentation distributed under this Agreement, and 11 | 12 | b) in the case of each subsequent Contributor: 13 | 14 | i) changes to the Program, and 15 | 16 | ii) additions to the Program; 17 | 18 | where such changes and/or additions to the Program originate from and are 19 | distributed by that particular Contributor. A Contribution 'originates' from 20 | a Contributor if it was added to the Program by such Contributor itself or 21 | anyone acting on such Contributor's behalf. Contributions do not include 22 | additions to the Program which: (i) are separate modules of software 23 | distributed in conjunction with the Program under their own license 24 | agreement, and (ii) are not derivative works of the Program. 25 | 26 | "Contributor" means any person or entity that distributes the Program. 27 | 28 | "Licensed Patents" mean patent claims licensable by a Contributor which are 29 | necessarily infringed by the use or sale of its Contribution alone or when 30 | combined with the Program. 31 | 32 | "Program" means the Contributions distributed in accordance with this 33 | Agreement. 34 | 35 | "Recipient" means anyone who receives the Program under this Agreement, 36 | including all Contributors. 37 | 38 | 2. GRANT OF RIGHTS 39 | 40 | a) Subject to the terms of this Agreement, each Contributor hereby grants 41 | Recipient a non-exclusive, worldwide, royalty-free copyright license to 42 | reproduce, prepare derivative works of, publicly display, publicly perform, 43 | distribute and sublicense the Contribution of such Contributor, if any, and 44 | such derivative works, in source code and object code form. 45 | 46 | b) Subject to the terms of this Agreement, each Contributor hereby grants 47 | Recipient a non-exclusive, worldwide, royalty-free patent license under 48 | Licensed Patents to make, use, sell, offer to sell, import and otherwise 49 | transfer the Contribution of such Contributor, if any, in source code and 50 | object code form. This patent license shall apply to the combination of the 51 | Contribution and the Program if, at the time the Contribution is added by the 52 | Contributor, such addition of the Contribution causes such combination to be 53 | covered by the Licensed Patents. The patent license shall not apply to any 54 | other combinations which include the Contribution. No hardware per se is 55 | licensed hereunder. 56 | 57 | c) Recipient understands that although each Contributor grants the licenses 58 | to its Contributions set forth herein, no assurances are provided by any 59 | Contributor that the Program does not infringe the patent or other 60 | intellectual property rights of any other entity. Each Contributor disclaims 61 | any liability to Recipient for claims brought by any other entity based on 62 | infringement of intellectual property rights or otherwise. As a condition to 63 | exercising the rights and licenses granted hereunder, each Recipient hereby 64 | assumes sole responsibility to secure any other intellectual property rights 65 | needed, if any. For example, if a third party patent license is required to 66 | allow Recipient to distribute the Program, it is Recipient's responsibility 67 | to acquire that license before distributing the Program. 68 | 69 | d) Each Contributor represents that to its knowledge it has sufficient 70 | copyright rights in its Contribution, if any, to grant the copyright license 71 | set forth in this Agreement. 72 | 73 | 3. REQUIREMENTS 74 | 75 | A Contributor may choose to distribute the Program in object code form under 76 | its own license agreement, provided that: 77 | 78 | a) it complies with the terms and conditions of this Agreement; and 79 | 80 | b) its license agreement: 81 | 82 | i) effectively disclaims on behalf of all Contributors all warranties and 83 | conditions, express and implied, including warranties or conditions of title 84 | and non-infringement, and implied warranties or conditions of merchantability 85 | and fitness for a particular purpose; 86 | 87 | ii) effectively excludes on behalf of all Contributors all liability for 88 | damages, including direct, indirect, special, incidental and consequential 89 | damages, such as lost profits; 90 | 91 | iii) states that any provisions which differ from this Agreement are offered 92 | by that Contributor alone and not by any other party; and 93 | 94 | iv) states that source code for the Program is available from such 95 | Contributor, and informs licensees how to obtain it in a reasonable manner on 96 | or through a medium customarily used for software exchange. 97 | 98 | When the Program is made available in source code form: 99 | 100 | a) it must be made available under this Agreement; and 101 | 102 | b) a copy of this Agreement must be included with each copy of the Program. 103 | 104 | Contributors may not remove or alter any copyright notices contained within 105 | the Program. 106 | 107 | Each Contributor must identify itself as the originator of its Contribution, 108 | if any, in a manner that reasonably allows subsequent Recipients to identify 109 | the originator of the Contribution. 110 | 111 | 4. COMMERCIAL DISTRIBUTION 112 | 113 | Commercial distributors of software may accept certain responsibilities with 114 | respect to end users, business partners and the like. While this license is 115 | intended to facilitate the commercial use of the Program, the Contributor who 116 | includes the Program in a commercial product offering should do so in a 117 | manner which does not create potential liability for other Contributors. 118 | Therefore, if a Contributor includes the Program in a commercial product 119 | offering, such Contributor ("Commercial Contributor") hereby agrees to defend 120 | and indemnify every other Contributor ("Indemnified Contributor") against any 121 | losses, damages and costs (collectively "Losses") arising from claims, 122 | lawsuits and other legal actions brought by a third party against the 123 | Indemnified Contributor to the extent caused by the acts or omissions of such 124 | Commercial Contributor in connection with its distribution of the Program in 125 | a commercial product offering. The obligations in this section do not apply 126 | to any claims or Losses relating to any actual or alleged intellectual 127 | property infringement. In order to qualify, an Indemnified Contributor must: 128 | a) promptly notify the Commercial Contributor in writing of such claim, and 129 | b) allow the Commercial Contributor tocontrol, and cooperate with the 130 | Commercial Contributor in, the defense and any related settlement 131 | negotiations. The Indemnified Contributor may participate in any such claim 132 | at its own expense. 133 | 134 | For example, a Contributor might include the Program in a commercial product 135 | offering, Product X. That Contributor is then a Commercial Contributor. If 136 | that Commercial Contributor then makes performance claims, or offers 137 | warranties related to Product X, those performance claims and warranties are 138 | such Commercial Contributor's responsibility alone. Under this section, the 139 | Commercial Contributor would have to defend claims against the other 140 | Contributors related to those performance claims and warranties, and if a 141 | court requires any other Contributor to pay any damages as a result, the 142 | Commercial Contributor must pay those damages. 143 | 144 | 5. NO WARRANTY 145 | 146 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON 147 | AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER 148 | EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR 149 | CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A 150 | PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the 151 | appropriateness of using and distributing the Program and assumes all risks 152 | associated with its exercise of rights under this Agreement , including but 153 | not limited to the risks and costs of program errors, compliance with 154 | applicable laws, damage to or loss of data, programs or equipment, and 155 | unavailability or interruption of operations. 156 | 157 | 6. DISCLAIMER OF LIABILITY 158 | 159 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY 160 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, 161 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION 162 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 163 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 164 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE 165 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY 166 | OF SUCH DAMAGES. 167 | 168 | 7. GENERAL 169 | 170 | If any provision of this Agreement is invalid or unenforceable under 171 | applicable law, it shall not affect the validity or enforceability of the 172 | remainder of the terms of this Agreement, and without further action by the 173 | parties hereto, such provision shall be reformed to the minimum extent 174 | necessary to make such provision valid and enforceable. 175 | 176 | If Recipient institutes patent litigation against any entity (including a 177 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself 178 | (excluding combinations of the Program with other software or hardware) 179 | infringes such Recipient's patent(s), then such Recipient's rights granted 180 | under Section 2(b) shall terminate as of the date such litigation is filed. 181 | 182 | All Recipient's rights under this Agreement shall terminate if it fails to 183 | comply with any of the material terms or conditions of this Agreement and 184 | does not cure such failure in a reasonable period of time after becoming 185 | aware of such noncompliance. If all Recipient's rights under this Agreement 186 | terminate, Recipient agrees to cease use and distribution of the Program as 187 | soon as reasonably practicable. However, Recipient's obligations under this 188 | Agreement and any licenses granted by Recipient relating to the Program shall 189 | continue and survive. 190 | 191 | Everyone is permitted to copy and distribute copies of this Agreement, but in 192 | order to avoid inconsistency the Agreement is copyrighted and may only be 193 | modified in the following manner. The Agreement Steward reserves the right to 194 | publish new versions (including revisions) of this Agreement from time to 195 | time. No one other than the Agreement Steward has the right to modify this 196 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The 197 | Eclipse Foundation may assign the responsibility to serve as the Agreement 198 | Steward to a suitable separate entity. Each new version of the Agreement will 199 | be given a distinguishing version number. The Program (including 200 | Contributions) may always be distributed subject to the version of the 201 | Agreement under which it was received. In addition, after a new version of 202 | the Agreement is published, Contributor may elect to distribute the Program 203 | (including its Contributions) under the new version. Except as expressly 204 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or 205 | licenses to the intellectual property of any Contributor under this 206 | Agreement, whether expressly, by implication, estoppel or otherwise. All 207 | rights in the Program not expressly granted under this Agreement are 208 | reserved. 209 | 210 | This Agreement is governed by the laws of the State of New York and the 211 | intellectual property laws of the United States of America. No party to this 212 | Agreement will bring a legal action under this Agreement more than one year 213 | after the cause of action arose. Each party waives its rights to a jury trial 214 | in any resulting litigation. 215 | -------------------------------------------------------------------------------- /fox-goose-bag-of-corn/LICENSE: -------------------------------------------------------------------------------- 1 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC 2 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM 3 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 4 | 5 | 1. DEFINITIONS 6 | 7 | "Contribution" means: 8 | 9 | a) in the case of the initial Contributor, the initial code and 10 | documentation distributed under this Agreement, and 11 | 12 | b) in the case of each subsequent Contributor: 13 | 14 | i) changes to the Program, and 15 | 16 | ii) additions to the Program; 17 | 18 | where such changes and/or additions to the Program originate from and are 19 | distributed by that particular Contributor. A Contribution 'originates' from 20 | a Contributor if it was added to the Program by such Contributor itself or 21 | anyone acting on such Contributor's behalf. Contributions do not include 22 | additions to the Program which: (i) are separate modules of software 23 | distributed in conjunction with the Program under their own license 24 | agreement, and (ii) are not derivative works of the Program. 25 | 26 | "Contributor" means any person or entity that distributes the Program. 27 | 28 | "Licensed Patents" mean patent claims licensable by a Contributor which are 29 | necessarily infringed by the use or sale of its Contribution alone or when 30 | combined with the Program. 31 | 32 | "Program" means the Contributions distributed in accordance with this 33 | Agreement. 34 | 35 | "Recipient" means anyone who receives the Program under this Agreement, 36 | including all Contributors. 37 | 38 | 2. GRANT OF RIGHTS 39 | 40 | a) Subject to the terms of this Agreement, each Contributor hereby grants 41 | Recipient a non-exclusive, worldwide, royalty-free copyright license to 42 | reproduce, prepare derivative works of, publicly display, publicly perform, 43 | distribute and sublicense the Contribution of such Contributor, if any, and 44 | such derivative works, in source code and object code form. 45 | 46 | b) Subject to the terms of this Agreement, each Contributor hereby grants 47 | Recipient a non-exclusive, worldwide, royalty-free patent license under 48 | Licensed Patents to make, use, sell, offer to sell, import and otherwise 49 | transfer the Contribution of such Contributor, if any, in source code and 50 | object code form. This patent license shall apply to the combination of the 51 | Contribution and the Program if, at the time the Contribution is added by the 52 | Contributor, such addition of the Contribution causes such combination to be 53 | covered by the Licensed Patents. The patent license shall not apply to any 54 | other combinations which include the Contribution. No hardware per se is 55 | licensed hereunder. 56 | 57 | c) Recipient understands that although each Contributor grants the licenses 58 | to its Contributions set forth herein, no assurances are provided by any 59 | Contributor that the Program does not infringe the patent or other 60 | intellectual property rights of any other entity. Each Contributor disclaims 61 | any liability to Recipient for claims brought by any other entity based on 62 | infringement of intellectual property rights or otherwise. As a condition to 63 | exercising the rights and licenses granted hereunder, each Recipient hereby 64 | assumes sole responsibility to secure any other intellectual property rights 65 | needed, if any. For example, if a third party patent license is required to 66 | allow Recipient to distribute the Program, it is Recipient's responsibility 67 | to acquire that license before distributing the Program. 68 | 69 | d) Each Contributor represents that to its knowledge it has sufficient 70 | copyright rights in its Contribution, if any, to grant the copyright license 71 | set forth in this Agreement. 72 | 73 | 3. REQUIREMENTS 74 | 75 | A Contributor may choose to distribute the Program in object code form under 76 | its own license agreement, provided that: 77 | 78 | a) it complies with the terms and conditions of this Agreement; and 79 | 80 | b) its license agreement: 81 | 82 | i) effectively disclaims on behalf of all Contributors all warranties and 83 | conditions, express and implied, including warranties or conditions of title 84 | and non-infringement, and implied warranties or conditions of merchantability 85 | and fitness for a particular purpose; 86 | 87 | ii) effectively excludes on behalf of all Contributors all liability for 88 | damages, including direct, indirect, special, incidental and consequential 89 | damages, such as lost profits; 90 | 91 | iii) states that any provisions which differ from this Agreement are offered 92 | by that Contributor alone and not by any other party; and 93 | 94 | iv) states that source code for the Program is available from such 95 | Contributor, and informs licensees how to obtain it in a reasonable manner on 96 | or through a medium customarily used for software exchange. 97 | 98 | When the Program is made available in source code form: 99 | 100 | a) it must be made available under this Agreement; and 101 | 102 | b) a copy of this Agreement must be included with each copy of the Program. 103 | 104 | Contributors may not remove or alter any copyright notices contained within 105 | the Program. 106 | 107 | Each Contributor must identify itself as the originator of its Contribution, 108 | if any, in a manner that reasonably allows subsequent Recipients to identify 109 | the originator of the Contribution. 110 | 111 | 4. COMMERCIAL DISTRIBUTION 112 | 113 | Commercial distributors of software may accept certain responsibilities with 114 | respect to end users, business partners and the like. While this license is 115 | intended to facilitate the commercial use of the Program, the Contributor who 116 | includes the Program in a commercial product offering should do so in a 117 | manner which does not create potential liability for other Contributors. 118 | Therefore, if a Contributor includes the Program in a commercial product 119 | offering, such Contributor ("Commercial Contributor") hereby agrees to defend 120 | and indemnify every other Contributor ("Indemnified Contributor") against any 121 | losses, damages and costs (collectively "Losses") arising from claims, 122 | lawsuits and other legal actions brought by a third party against the 123 | Indemnified Contributor to the extent caused by the acts or omissions of such 124 | Commercial Contributor in connection with its distribution of the Program in 125 | a commercial product offering. The obligations in this section do not apply 126 | to any claims or Losses relating to any actual or alleged intellectual 127 | property infringement. In order to qualify, an Indemnified Contributor must: 128 | a) promptly notify the Commercial Contributor in writing of such claim, and 129 | b) allow the Commercial Contributor tocontrol, and cooperate with the 130 | Commercial Contributor in, the defense and any related settlement 131 | negotiations. The Indemnified Contributor may participate in any such claim 132 | at its own expense. 133 | 134 | For example, a Contributor might include the Program in a commercial product 135 | offering, Product X. That Contributor is then a Commercial Contributor. If 136 | that Commercial Contributor then makes performance claims, or offers 137 | warranties related to Product X, those performance claims and warranties are 138 | such Commercial Contributor's responsibility alone. Under this section, the 139 | Commercial Contributor would have to defend claims against the other 140 | Contributors related to those performance claims and warranties, and if a 141 | court requires any other Contributor to pay any damages as a result, the 142 | Commercial Contributor must pay those damages. 143 | 144 | 5. NO WARRANTY 145 | 146 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON 147 | AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER 148 | EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR 149 | CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A 150 | PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the 151 | appropriateness of using and distributing the Program and assumes all risks 152 | associated with its exercise of rights under this Agreement , including but 153 | not limited to the risks and costs of program errors, compliance with 154 | applicable laws, damage to or loss of data, programs or equipment, and 155 | unavailability or interruption of operations. 156 | 157 | 6. DISCLAIMER OF LIABILITY 158 | 159 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY 160 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, 161 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION 162 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 163 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 164 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE 165 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY 166 | OF SUCH DAMAGES. 167 | 168 | 7. GENERAL 169 | 170 | If any provision of this Agreement is invalid or unenforceable under 171 | applicable law, it shall not affect the validity or enforceability of the 172 | remainder of the terms of this Agreement, and without further action by the 173 | parties hereto, such provision shall be reformed to the minimum extent 174 | necessary to make such provision valid and enforceable. 175 | 176 | If Recipient institutes patent litigation against any entity (including a 177 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself 178 | (excluding combinations of the Program with other software or hardware) 179 | infringes such Recipient's patent(s), then such Recipient's rights granted 180 | under Section 2(b) shall terminate as of the date such litigation is filed. 181 | 182 | All Recipient's rights under this Agreement shall terminate if it fails to 183 | comply with any of the material terms or conditions of this Agreement and 184 | does not cure such failure in a reasonable period of time after becoming 185 | aware of such noncompliance. If all Recipient's rights under this Agreement 186 | terminate, Recipient agrees to cease use and distribution of the Program as 187 | soon as reasonably practicable. However, Recipient's obligations under this 188 | Agreement and any licenses granted by Recipient relating to the Program shall 189 | continue and survive. 190 | 191 | Everyone is permitted to copy and distribute copies of this Agreement, but in 192 | order to avoid inconsistency the Agreement is copyrighted and may only be 193 | modified in the following manner. The Agreement Steward reserves the right to 194 | publish new versions (including revisions) of this Agreement from time to 195 | time. No one other than the Agreement Steward has the right to modify this 196 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The 197 | Eclipse Foundation may assign the responsibility to serve as the Agreement 198 | Steward to a suitable separate entity. Each new version of the Agreement will 199 | be given a distinguishing version number. The Program (including 200 | Contributions) may always be distributed subject to the version of the 201 | Agreement under which it was received. In addition, after a new version of 202 | the Agreement is published, Contributor may elect to distribute the Program 203 | (including its Contributions) under the new version. Except as expressly 204 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or 205 | licenses to the intellectual property of any Contributor under this 206 | Agreement, whether expressly, by implication, estoppel or otherwise. All 207 | rights in the Program not expressly granted under this Agreement are 208 | reserved. 209 | 210 | This Agreement is governed by the laws of the State of New York and the 211 | intellectual property laws of the United States of America. No party to this 212 | Agreement will bring a legal action under this Agreement more than one year 213 | after the cause of action arose. Each party waives its rights to a jury trial 214 | in any resulting litigation. 215 | -------------------------------------------------------------------------------- /wonderland-number/LICENSE: -------------------------------------------------------------------------------- 1 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC 2 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM 3 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 4 | 5 | 1. DEFINITIONS 6 | 7 | "Contribution" means: 8 | 9 | a) in the case of the initial Contributor, the initial code and 10 | documentation distributed under this Agreement, and 11 | 12 | b) in the case of each subsequent Contributor: 13 | 14 | i) changes to the Program, and 15 | 16 | ii) additions to the Program; 17 | 18 | where such changes and/or additions to the Program originate from and are 19 | distributed by that particular Contributor. A Contribution 'originates' from 20 | a Contributor if it was added to the Program by such Contributor itself or 21 | anyone acting on such Contributor's behalf. Contributions do not include 22 | additions to the Program which: (i) are separate modules of software 23 | distributed in conjunction with the Program under their own license 24 | agreement, and (ii) are not derivative works of the Program. 25 | 26 | "Contributor" means any person or entity that distributes the Program. 27 | 28 | "Licensed Patents" mean patent claims licensable by a Contributor which are 29 | necessarily infringed by the use or sale of its Contribution alone or when 30 | combined with the Program. 31 | 32 | "Program" means the Contributions distributed in accordance with this 33 | Agreement. 34 | 35 | "Recipient" means anyone who receives the Program under this Agreement, 36 | including all Contributors. 37 | 38 | 2. GRANT OF RIGHTS 39 | 40 | a) Subject to the terms of this Agreement, each Contributor hereby grants 41 | Recipient a non-exclusive, worldwide, royalty-free copyright license to 42 | reproduce, prepare derivative works of, publicly display, publicly perform, 43 | distribute and sublicense the Contribution of such Contributor, if any, and 44 | such derivative works, in source code and object code form. 45 | 46 | b) Subject to the terms of this Agreement, each Contributor hereby grants 47 | Recipient a non-exclusive, worldwide, royalty-free patent license under 48 | Licensed Patents to make, use, sell, offer to sell, import and otherwise 49 | transfer the Contribution of such Contributor, if any, in source code and 50 | object code form. This patent license shall apply to the combination of the 51 | Contribution and the Program if, at the time the Contribution is added by the 52 | Contributor, such addition of the Contribution causes such combination to be 53 | covered by the Licensed Patents. The patent license shall not apply to any 54 | other combinations which include the Contribution. No hardware per se is 55 | licensed hereunder. 56 | 57 | c) Recipient understands that although each Contributor grants the licenses 58 | to its Contributions set forth herein, no assurances are provided by any 59 | Contributor that the Program does not infringe the patent or other 60 | intellectual property rights of any other entity. Each Contributor disclaims 61 | any liability to Recipient for claims brought by any other entity based on 62 | infringement of intellectual property rights or otherwise. As a condition to 63 | exercising the rights and licenses granted hereunder, each Recipient hereby 64 | assumes sole responsibility to secure any other intellectual property rights 65 | needed, if any. For example, if a third party patent license is required to 66 | allow Recipient to distribute the Program, it is Recipient's responsibility 67 | to acquire that license before distributing the Program. 68 | 69 | d) Each Contributor represents that to its knowledge it has sufficient 70 | copyright rights in its Contribution, if any, to grant the copyright license 71 | set forth in this Agreement. 72 | 73 | 3. REQUIREMENTS 74 | 75 | A Contributor may choose to distribute the Program in object code form under 76 | its own license agreement, provided that: 77 | 78 | a) it complies with the terms and conditions of this Agreement; and 79 | 80 | b) its license agreement: 81 | 82 | i) effectively disclaims on behalf of all Contributors all warranties and 83 | conditions, express and implied, including warranties or conditions of title 84 | and non-infringement, and implied warranties or conditions of merchantability 85 | and fitness for a particular purpose; 86 | 87 | ii) effectively excludes on behalf of all Contributors all liability for 88 | damages, including direct, indirect, special, incidental and consequential 89 | damages, such as lost profits; 90 | 91 | iii) states that any provisions which differ from this Agreement are offered 92 | by that Contributor alone and not by any other party; and 93 | 94 | iv) states that source code for the Program is available from such 95 | Contributor, and informs licensees how to obtain it in a reasonable manner on 96 | or through a medium customarily used for software exchange. 97 | 98 | When the Program is made available in source code form: 99 | 100 | a) it must be made available under this Agreement; and 101 | 102 | b) a copy of this Agreement must be included with each copy of the Program. 103 | 104 | Contributors may not remove or alter any copyright notices contained within 105 | the Program. 106 | 107 | Each Contributor must identify itself as the originator of its Contribution, 108 | if any, in a manner that reasonably allows subsequent Recipients to identify 109 | the originator of the Contribution. 110 | 111 | 4. COMMERCIAL DISTRIBUTION 112 | 113 | Commercial distributors of software may accept certain responsibilities with 114 | respect to end users, business partners and the like. While this license is 115 | intended to facilitate the commercial use of the Program, the Contributor who 116 | includes the Program in a commercial product offering should do so in a 117 | manner which does not create potential liability for other Contributors. 118 | Therefore, if a Contributor includes the Program in a commercial product 119 | offering, such Contributor ("Commercial Contributor") hereby agrees to defend 120 | and indemnify every other Contributor ("Indemnified Contributor") against any 121 | losses, damages and costs (collectively "Losses") arising from claims, 122 | lawsuits and other legal actions brought by a third party against the 123 | Indemnified Contributor to the extent caused by the acts or omissions of such 124 | Commercial Contributor in connection with its distribution of the Program in 125 | a commercial product offering. The obligations in this section do not apply 126 | to any claims or Losses relating to any actual or alleged intellectual 127 | property infringement. In order to qualify, an Indemnified Contributor must: 128 | a) promptly notify the Commercial Contributor in writing of such claim, and 129 | b) allow the Commercial Contributor tocontrol, and cooperate with the 130 | Commercial Contributor in, the defense and any related settlement 131 | negotiations. The Indemnified Contributor may participate in any such claim 132 | at its own expense. 133 | 134 | For example, a Contributor might include the Program in a commercial product 135 | offering, Product X. That Contributor is then a Commercial Contributor. If 136 | that Commercial Contributor then makes performance claims, or offers 137 | warranties related to Product X, those performance claims and warranties are 138 | such Commercial Contributor's responsibility alone. Under this section, the 139 | Commercial Contributor would have to defend claims against the other 140 | Contributors related to those performance claims and warranties, and if a 141 | court requires any other Contributor to pay any damages as a result, the 142 | Commercial Contributor must pay those damages. 143 | 144 | 5. NO WARRANTY 145 | 146 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON 147 | AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER 148 | EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR 149 | CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A 150 | PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the 151 | appropriateness of using and distributing the Program and assumes all risks 152 | associated with its exercise of rights under this Agreement , including but 153 | not limited to the risks and costs of program errors, compliance with 154 | applicable laws, damage to or loss of data, programs or equipment, and 155 | unavailability or interruption of operations. 156 | 157 | 6. DISCLAIMER OF LIABILITY 158 | 159 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY 160 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, 161 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION 162 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 163 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 164 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE 165 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY 166 | OF SUCH DAMAGES. 167 | 168 | 7. GENERAL 169 | 170 | If any provision of this Agreement is invalid or unenforceable under 171 | applicable law, it shall not affect the validity or enforceability of the 172 | remainder of the terms of this Agreement, and without further action by the 173 | parties hereto, such provision shall be reformed to the minimum extent 174 | necessary to make such provision valid and enforceable. 175 | 176 | If Recipient institutes patent litigation against any entity (including a 177 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself 178 | (excluding combinations of the Program with other software or hardware) 179 | infringes such Recipient's patent(s), then such Recipient's rights granted 180 | under Section 2(b) shall terminate as of the date such litigation is filed. 181 | 182 | All Recipient's rights under this Agreement shall terminate if it fails to 183 | comply with any of the material terms or conditions of this Agreement and 184 | does not cure such failure in a reasonable period of time after becoming 185 | aware of such noncompliance. If all Recipient's rights under this Agreement 186 | terminate, Recipient agrees to cease use and distribution of the Program as 187 | soon as reasonably practicable. However, Recipient's obligations under this 188 | Agreement and any licenses granted by Recipient relating to the Program shall 189 | continue and survive. 190 | 191 | Everyone is permitted to copy and distribute copies of this Agreement, but in 192 | order to avoid inconsistency the Agreement is copyrighted and may only be 193 | modified in the following manner. The Agreement Steward reserves the right to 194 | publish new versions (including revisions) of this Agreement from time to 195 | time. No one other than the Agreement Steward has the right to modify this 196 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The 197 | Eclipse Foundation may assign the responsibility to serve as the Agreement 198 | Steward to a suitable separate entity. Each new version of the Agreement will 199 | be given a distinguishing version number. The Program (including 200 | Contributions) may always be distributed subject to the version of the 201 | Agreement under which it was received. In addition, after a new version of 202 | the Agreement is published, Contributor may elect to distribute the Program 203 | (including its Contributions) under the new version. Except as expressly 204 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or 205 | licenses to the intellectual property of any Contributor under this 206 | Agreement, whether expressly, by implication, estoppel or otherwise. All 207 | rights in the Program not expressly granted under this Agreement are 208 | reserved. 209 | 210 | This Agreement is governed by the laws of the State of New York and the 211 | intellectual property laws of the United States of America. No party to this 212 | Agreement will bring a legal action under this Agreement more than one year 213 | after the cause of action arose. Each party waives its rights to a jury trial 214 | in any resulting litigation. 215 | --------------------------------------------------------------------------------