├── .gitignore ├── FUNDING.yml ├── LICENSE ├── README.md ├── clojure ├── README.md ├── basics │ ├── boolean.clj │ ├── control-flow.clj │ ├── define-functions.clj │ ├── destructuring.clj │ ├── keywords.clj │ ├── let.clj │ ├── namespaces.clj │ ├── naming-values.clj │ └── recursion.clj ├── clojure_applied │ └── model_your_domain │ │ ├── 1.modeling-entities.clj │ │ ├── 2.constructing-entities.clj │ │ └── 3.apollo.clj ├── data_structures │ ├── atom.clj │ ├── data-structures.clj │ ├── hash-map.clj │ ├── laziness.clj │ ├── lists.clj │ ├── persistent-data-structures.clj │ ├── sets.clj │ └── vectors.clj ├── functional │ └── composition.clj └── functions │ ├── anonymous-functions.clj │ ├── comparators.clj │ ├── core-functions.clj │ ├── filter.clj │ ├── function-body.clj │ ├── functional.clj │ ├── functions.clj │ ├── high-order-functions.clj │ ├── polymorphism.clj │ ├── reduce.clj │ └── returning-functions.clj ├── elixir ├── README.md └── learn-fp-with-elixir │ ├── 01.thinking-functional │ ├── 01.immutable_data.ex │ └── 02.functions.ex │ ├── 02.variables-and-functions │ ├── 01.values.ex │ └── exercises │ │ ├── 01.ex │ │ ├── 02.ex │ │ ├── 03.ex │ │ └── 04.ex │ └── 03.using-pattern-matching-to-control-the-program-flow │ ├── 01.equal_operator.ex │ └── 02.destructuring.ex ├── haskell ├── README.md ├── basics.hs └── function_application.hs ├── javascript ├── README.md ├── books │ ├── composing_software │ │ ├── README.md │ │ ├── composing_functions.js │ │ ├── declarative_programming.js │ │ ├── functors.js │ │ └── intro_to_js.js │ └── mostly_adequate_guide_to_functional_programming │ │ ├── README.md │ │ ├── ch02.js │ │ ├── ch03.js │ │ └── ch04.js ├── closure.js ├── currying.js ├── first_class_citizens.js ├── function_as_value.js ├── function_composition.js ├── high_order_functions.js ├── immutability │ ├── avoid_array_mutability.js │ ├── immutability.js │ └── slugify.js ├── lazy.js ├── partial_application.js ├── purity_part_1.js ├── purity_part_2.js ├── reduce.js └── referentially_transparent_function.js ├── programming_challenges ├── 4clojure │ ├── problem01.clj │ ├── problem02.clj │ ├── problem03.clj │ ├── problem04.clj │ ├── problem05.clj │ ├── problem06.clj │ ├── problem07.clj │ ├── problem19.clj │ └── problem20.clj ├── README.md ├── exercism │ ├── clojure │ │ ├── armstrong-numbers │ │ │ ├── .lein-failures │ │ │ ├── .lein-repl-history │ │ │ ├── README.md │ │ │ ├── project.clj │ │ │ ├── src │ │ │ │ └── armstrong_numbers.clj │ │ │ ├── target │ │ │ │ ├── classes │ │ │ │ │ └── META-INF │ │ │ │ │ │ └── maven │ │ │ │ │ │ └── armstrong-numbers │ │ │ │ │ │ └── armstrong-numbers │ │ │ │ │ │ └── pom.properties │ │ │ │ └── stale │ │ │ │ │ └── leiningen.core.classpath.extract-native-dependencies │ │ │ └── test │ │ │ │ └── armstrong_numbers_test.clj │ │ ├── hello-world │ │ │ ├── README.md │ │ │ ├── project.clj │ │ │ ├── src │ │ │ │ └── hello-world.clj │ │ │ └── test │ │ │ │ └── hello-world-test.clj │ │ └── two-fer │ │ │ ├── .lein-failures │ │ │ ├── .nrepl-port │ │ │ ├── README.md │ │ │ ├── project.clj │ │ │ ├── src │ │ │ └── two_fer.clj │ │ │ ├── target │ │ │ ├── classes │ │ │ │ └── META-INF │ │ │ │ │ └── maven │ │ │ │ │ └── two-fer │ │ │ │ │ └── two-fer │ │ │ │ │ └── pom.properties │ │ │ ├── repl-port │ │ │ └── stale │ │ │ │ └── leiningen.core.classpath.extract-native-dependencies │ │ │ └── test │ │ │ └── two_fer_test.clj │ └── javascript │ │ ├── collatz-conjecture.js │ │ ├── gigasecond.js │ │ ├── hello-world.js │ │ ├── leap.js │ │ ├── resistor-color.js │ │ ├── resistor-colors.js │ │ ├── reverse-string.js │ │ ├── triangle.js │ │ └── two-fer.js ├── hacker_rank │ ├── array_of_n_elements │ │ ├── array_of_n_elements.clj │ │ └── array_of_n_elements_without_range.clj │ ├── basics │ │ ├── hello_world.clj │ │ ├── hello_world_n_times.clj │ │ └── solve_me_first.clj │ ├── eval_ex │ │ └── main.clj │ ├── fibonacci │ │ └── fibonacci.js │ ├── filter_array │ │ └── filter_array.clj │ ├── filter_positions_in_a_list │ │ └── filter_positions_in_a_list.clj │ ├── list_length │ │ ├── list_length.clj │ │ └── list_length_reduce.clj │ ├── list_replication │ │ └── list_replication.clj │ ├── reverse_a_list │ │ ├── reverse_a_list.clj │ │ ├── reverse_a_list_into.clj │ │ └── reverse_a_list_reduce.clj │ ├── sum_of_odd_elements │ │ └── sum_of_odd_elements.clj │ └── update_list │ │ ├── update_list.clj │ │ ├── update_list_anonymous.clj │ │ ├── update_list_map.clj │ │ └── update_list_map_anonymous.clj └── playground │ ├── collisions.clj │ └── jobs │ ├── job.clj │ └── resource │ ├── input.json │ └── output.json ├── python ├── README.md └── intro.py ├── ruby ├── README.md ├── immutable_array.rb └── immutable_select_with_reduce.rb └── rust └── README.md /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/.gitignore -------------------------------------------------------------------------------- /FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/FUNDING.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/README.md -------------------------------------------------------------------------------- /clojure/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/README.md -------------------------------------------------------------------------------- /clojure/basics/boolean.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/basics/boolean.clj -------------------------------------------------------------------------------- /clojure/basics/control-flow.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/basics/control-flow.clj -------------------------------------------------------------------------------- /clojure/basics/define-functions.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/basics/define-functions.clj -------------------------------------------------------------------------------- /clojure/basics/destructuring.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/basics/destructuring.clj -------------------------------------------------------------------------------- /clojure/basics/keywords.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/basics/keywords.clj -------------------------------------------------------------------------------- /clojure/basics/let.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/basics/let.clj -------------------------------------------------------------------------------- /clojure/basics/namespaces.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/basics/namespaces.clj -------------------------------------------------------------------------------- /clojure/basics/naming-values.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/basics/naming-values.clj -------------------------------------------------------------------------------- /clojure/basics/recursion.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/basics/recursion.clj -------------------------------------------------------------------------------- /clojure/clojure_applied/model_your_domain/1.modeling-entities.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/clojure_applied/model_your_domain/1.modeling-entities.clj -------------------------------------------------------------------------------- /clojure/clojure_applied/model_your_domain/2.constructing-entities.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/clojure_applied/model_your_domain/2.constructing-entities.clj -------------------------------------------------------------------------------- /clojure/clojure_applied/model_your_domain/3.apollo.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/clojure_applied/model_your_domain/3.apollo.clj -------------------------------------------------------------------------------- /clojure/data_structures/atom.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/data_structures/atom.clj -------------------------------------------------------------------------------- /clojure/data_structures/data-structures.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/data_structures/data-structures.clj -------------------------------------------------------------------------------- /clojure/data_structures/hash-map.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/data_structures/hash-map.clj -------------------------------------------------------------------------------- /clojure/data_structures/laziness.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/data_structures/laziness.clj -------------------------------------------------------------------------------- /clojure/data_structures/lists.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/data_structures/lists.clj -------------------------------------------------------------------------------- /clojure/data_structures/persistent-data-structures.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/data_structures/persistent-data-structures.clj -------------------------------------------------------------------------------- /clojure/data_structures/sets.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/data_structures/sets.clj -------------------------------------------------------------------------------- /clojure/data_structures/vectors.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/data_structures/vectors.clj -------------------------------------------------------------------------------- /clojure/functional/composition.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/functional/composition.clj -------------------------------------------------------------------------------- /clojure/functions/anonymous-functions.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/functions/anonymous-functions.clj -------------------------------------------------------------------------------- /clojure/functions/comparators.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/functions/comparators.clj -------------------------------------------------------------------------------- /clojure/functions/core-functions.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/functions/core-functions.clj -------------------------------------------------------------------------------- /clojure/functions/filter.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/functions/filter.clj -------------------------------------------------------------------------------- /clojure/functions/function-body.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/functions/function-body.clj -------------------------------------------------------------------------------- /clojure/functions/functional.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/functions/functional.clj -------------------------------------------------------------------------------- /clojure/functions/functions.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/functions/functions.clj -------------------------------------------------------------------------------- /clojure/functions/high-order-functions.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/functions/high-order-functions.clj -------------------------------------------------------------------------------- /clojure/functions/polymorphism.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/functions/polymorphism.clj -------------------------------------------------------------------------------- /clojure/functions/reduce.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/functions/reduce.clj -------------------------------------------------------------------------------- /clojure/functions/returning-functions.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/clojure/functions/returning-functions.clj -------------------------------------------------------------------------------- /elixir/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/elixir/README.md -------------------------------------------------------------------------------- /elixir/learn-fp-with-elixir/01.thinking-functional/01.immutable_data.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/elixir/learn-fp-with-elixir/01.thinking-functional/01.immutable_data.ex -------------------------------------------------------------------------------- /elixir/learn-fp-with-elixir/01.thinking-functional/02.functions.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/elixir/learn-fp-with-elixir/01.thinking-functional/02.functions.ex -------------------------------------------------------------------------------- /elixir/learn-fp-with-elixir/02.variables-and-functions/01.values.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/elixir/learn-fp-with-elixir/02.variables-and-functions/01.values.ex -------------------------------------------------------------------------------- /elixir/learn-fp-with-elixir/02.variables-and-functions/exercises/01.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/elixir/learn-fp-with-elixir/02.variables-and-functions/exercises/01.ex -------------------------------------------------------------------------------- /elixir/learn-fp-with-elixir/02.variables-and-functions/exercises/02.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/elixir/learn-fp-with-elixir/02.variables-and-functions/exercises/02.ex -------------------------------------------------------------------------------- /elixir/learn-fp-with-elixir/02.variables-and-functions/exercises/03.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/elixir/learn-fp-with-elixir/02.variables-and-functions/exercises/03.ex -------------------------------------------------------------------------------- /elixir/learn-fp-with-elixir/02.variables-and-functions/exercises/04.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/elixir/learn-fp-with-elixir/02.variables-and-functions/exercises/04.ex -------------------------------------------------------------------------------- /elixir/learn-fp-with-elixir/03.using-pattern-matching-to-control-the-program-flow/01.equal_operator.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/elixir/learn-fp-with-elixir/03.using-pattern-matching-to-control-the-program-flow/01.equal_operator.ex -------------------------------------------------------------------------------- /elixir/learn-fp-with-elixir/03.using-pattern-matching-to-control-the-program-flow/02.destructuring.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/elixir/learn-fp-with-elixir/03.using-pattern-matching-to-control-the-program-flow/02.destructuring.ex -------------------------------------------------------------------------------- /haskell/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/haskell/README.md -------------------------------------------------------------------------------- /haskell/basics.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/haskell/basics.hs -------------------------------------------------------------------------------- /haskell/function_application.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/haskell/function_application.hs -------------------------------------------------------------------------------- /javascript/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/README.md -------------------------------------------------------------------------------- /javascript/books/composing_software/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/books/composing_software/README.md -------------------------------------------------------------------------------- /javascript/books/composing_software/composing_functions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/books/composing_software/composing_functions.js -------------------------------------------------------------------------------- /javascript/books/composing_software/declarative_programming.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/books/composing_software/declarative_programming.js -------------------------------------------------------------------------------- /javascript/books/composing_software/functors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/books/composing_software/functors.js -------------------------------------------------------------------------------- /javascript/books/composing_software/intro_to_js.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/books/composing_software/intro_to_js.js -------------------------------------------------------------------------------- /javascript/books/mostly_adequate_guide_to_functional_programming/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/books/mostly_adequate_guide_to_functional_programming/README.md -------------------------------------------------------------------------------- /javascript/books/mostly_adequate_guide_to_functional_programming/ch02.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/books/mostly_adequate_guide_to_functional_programming/ch02.js -------------------------------------------------------------------------------- /javascript/books/mostly_adequate_guide_to_functional_programming/ch03.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/books/mostly_adequate_guide_to_functional_programming/ch03.js -------------------------------------------------------------------------------- /javascript/books/mostly_adequate_guide_to_functional_programming/ch04.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/books/mostly_adequate_guide_to_functional_programming/ch04.js -------------------------------------------------------------------------------- /javascript/closure.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/closure.js -------------------------------------------------------------------------------- /javascript/currying.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/currying.js -------------------------------------------------------------------------------- /javascript/first_class_citizens.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/first_class_citizens.js -------------------------------------------------------------------------------- /javascript/function_as_value.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/function_as_value.js -------------------------------------------------------------------------------- /javascript/function_composition.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/function_composition.js -------------------------------------------------------------------------------- /javascript/high_order_functions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/high_order_functions.js -------------------------------------------------------------------------------- /javascript/immutability/avoid_array_mutability.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/immutability/avoid_array_mutability.js -------------------------------------------------------------------------------- /javascript/immutability/immutability.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/immutability/immutability.js -------------------------------------------------------------------------------- /javascript/immutability/slugify.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/immutability/slugify.js -------------------------------------------------------------------------------- /javascript/lazy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/lazy.js -------------------------------------------------------------------------------- /javascript/partial_application.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/partial_application.js -------------------------------------------------------------------------------- /javascript/purity_part_1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/purity_part_1.js -------------------------------------------------------------------------------- /javascript/purity_part_2.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/purity_part_2.js -------------------------------------------------------------------------------- /javascript/reduce.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/reduce.js -------------------------------------------------------------------------------- /javascript/referentially_transparent_function.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/javascript/referentially_transparent_function.js -------------------------------------------------------------------------------- /programming_challenges/4clojure/problem01.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/4clojure/problem01.clj -------------------------------------------------------------------------------- /programming_challenges/4clojure/problem02.clj: -------------------------------------------------------------------------------- 1 | ; http://www.4clojure.com/problem/2 2 | (= (- 10 (* 2 3)) 4) 3 | -------------------------------------------------------------------------------- /programming_challenges/4clojure/problem03.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/4clojure/problem03.clj -------------------------------------------------------------------------------- /programming_challenges/4clojure/problem04.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/4clojure/problem04.clj -------------------------------------------------------------------------------- /programming_challenges/4clojure/problem05.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/4clojure/problem05.clj -------------------------------------------------------------------------------- /programming_challenges/4clojure/problem06.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/4clojure/problem06.clj -------------------------------------------------------------------------------- /programming_challenges/4clojure/problem07.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/4clojure/problem07.clj -------------------------------------------------------------------------------- /programming_challenges/4clojure/problem19.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/4clojure/problem19.clj -------------------------------------------------------------------------------- /programming_challenges/4clojure/problem20.clj: -------------------------------------------------------------------------------- 1 | ; http://www.4clojure.com/problem/20 2 | 3 | (comp second reverse) 4 | -------------------------------------------------------------------------------- /programming_challenges/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/README.md -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/armstrong-numbers/.lein-failures: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/armstrong-numbers/.lein-repl-history: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/armstrong-numbers/.lein-repl-history -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/armstrong-numbers/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/armstrong-numbers/README.md -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/armstrong-numbers/project.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/armstrong-numbers/project.clj -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/armstrong-numbers/src/armstrong_numbers.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/armstrong-numbers/src/armstrong_numbers.clj -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/armstrong-numbers/target/classes/META-INF/maven/armstrong-numbers/armstrong-numbers/pom.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/armstrong-numbers/target/classes/META-INF/maven/armstrong-numbers/armstrong-numbers/pom.properties -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/armstrong-numbers/target/stale/leiningen.core.classpath.extract-native-dependencies: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/armstrong-numbers/target/stale/leiningen.core.classpath.extract-native-dependencies -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/armstrong-numbers/test/armstrong_numbers_test.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/armstrong-numbers/test/armstrong_numbers_test.clj -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/hello-world/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/hello-world/README.md -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/hello-world/project.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/hello-world/project.clj -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/hello-world/src/hello-world.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/hello-world/src/hello-world.clj -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/hello-world/test/hello-world-test.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/hello-world/test/hello-world-test.clj -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/two-fer/.lein-failures: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/two-fer/.nrepl-port: -------------------------------------------------------------------------------- 1 | 62204 -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/two-fer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/two-fer/README.md -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/two-fer/project.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/two-fer/project.clj -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/two-fer/src/two_fer.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/two-fer/src/two_fer.clj -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/two-fer/target/classes/META-INF/maven/two-fer/two-fer/pom.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/two-fer/target/classes/META-INF/maven/two-fer/two-fer/pom.properties -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/two-fer/target/repl-port: -------------------------------------------------------------------------------- 1 | 62204 -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/two-fer/target/stale/leiningen.core.classpath.extract-native-dependencies: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/two-fer/target/stale/leiningen.core.classpath.extract-native-dependencies -------------------------------------------------------------------------------- /programming_challenges/exercism/clojure/two-fer/test/two_fer_test.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/clojure/two-fer/test/two_fer_test.clj -------------------------------------------------------------------------------- /programming_challenges/exercism/javascript/collatz-conjecture.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/javascript/collatz-conjecture.js -------------------------------------------------------------------------------- /programming_challenges/exercism/javascript/gigasecond.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/javascript/gigasecond.js -------------------------------------------------------------------------------- /programming_challenges/exercism/javascript/hello-world.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/javascript/hello-world.js -------------------------------------------------------------------------------- /programming_challenges/exercism/javascript/leap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/javascript/leap.js -------------------------------------------------------------------------------- /programming_challenges/exercism/javascript/resistor-color.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/javascript/resistor-color.js -------------------------------------------------------------------------------- /programming_challenges/exercism/javascript/resistor-colors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/javascript/resistor-colors.js -------------------------------------------------------------------------------- /programming_challenges/exercism/javascript/reverse-string.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/javascript/reverse-string.js -------------------------------------------------------------------------------- /programming_challenges/exercism/javascript/triangle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/javascript/triangle.js -------------------------------------------------------------------------------- /programming_challenges/exercism/javascript/two-fer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/exercism/javascript/two-fer.js -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/array_of_n_elements/array_of_n_elements.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/array_of_n_elements/array_of_n_elements.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/array_of_n_elements/array_of_n_elements_without_range.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/array_of_n_elements/array_of_n_elements_without_range.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/basics/hello_world.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/basics/hello_world.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/basics/hello_world_n_times.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/basics/hello_world_n_times.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/basics/solve_me_first.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/basics/solve_me_first.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/eval_ex/main.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/eval_ex/main.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/fibonacci/fibonacci.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/fibonacci/fibonacci.js -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/filter_array/filter_array.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/filter_array/filter_array.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/filter_positions_in_a_list/filter_positions_in_a_list.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/filter_positions_in_a_list/filter_positions_in_a_list.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/list_length/list_length.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/list_length/list_length.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/list_length/list_length_reduce.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/list_length/list_length_reduce.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/list_replication/list_replication.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/list_replication/list_replication.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/reverse_a_list/reverse_a_list.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/reverse_a_list/reverse_a_list.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/reverse_a_list/reverse_a_list_into.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/reverse_a_list/reverse_a_list_into.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/reverse_a_list/reverse_a_list_reduce.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/reverse_a_list/reverse_a_list_reduce.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/sum_of_odd_elements/sum_of_odd_elements.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/sum_of_odd_elements/sum_of_odd_elements.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/update_list/update_list.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/update_list/update_list.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/update_list/update_list_anonymous.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/update_list/update_list_anonymous.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/update_list/update_list_map.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/update_list/update_list_map.clj -------------------------------------------------------------------------------- /programming_challenges/hacker_rank/update_list/update_list_map_anonymous.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/hacker_rank/update_list/update_list_map_anonymous.clj -------------------------------------------------------------------------------- /programming_challenges/playground/collisions.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/playground/collisions.clj -------------------------------------------------------------------------------- /programming_challenges/playground/jobs/job.clj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/playground/jobs/job.clj -------------------------------------------------------------------------------- /programming_challenges/playground/jobs/resource/input.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/playground/jobs/resource/input.json -------------------------------------------------------------------------------- /programming_challenges/playground/jobs/resource/output.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/programming_challenges/playground/jobs/resource/output.json -------------------------------------------------------------------------------- /python/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/python/README.md -------------------------------------------------------------------------------- /python/intro.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/python/intro.py -------------------------------------------------------------------------------- /ruby/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/ruby/README.md -------------------------------------------------------------------------------- /ruby/immutable_array.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/ruby/immutable_array.rb -------------------------------------------------------------------------------- /ruby/immutable_select_with_reduce.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/ruby/immutable_select_with_reduce.rb -------------------------------------------------------------------------------- /rust/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imteekay/functional-programming-learning-path/HEAD/rust/README.md --------------------------------------------------------------------------------