diff --git a/fp-examples/src/applicative_example.rs b/fp-examples/src/fp_core_examples/applicative_example.rs
similarity index 100%
rename from fp-examples/src/applicative_example.rs
rename to fp-examples/src/fp_core_examples/applicative_example.rs
diff --git a/fp-examples/src/comonad_example.rs b/fp-examples/src/fp_core_examples/comonad_example.rs
similarity index 100%
rename from fp-examples/src/comonad_example.rs
rename to fp-examples/src/fp_core_examples/comonad_example.rs
diff --git a/fp-examples/src/empty_example.rs b/fp-examples/src/fp_core_examples/empty_example.rs
similarity index 100%
rename from fp-examples/src/empty_example.rs
rename to fp-examples/src/fp_core_examples/empty_example.rs
diff --git a/fp-examples/src/foldable_example.rs b/fp-examples/src/fp_core_examples/foldable_example.rs
similarity index 100%
rename from fp-examples/src/foldable_example.rs
rename to fp-examples/src/fp_core_examples/foldable_example.rs
diff --git a/fp-examples/src/function_composition_example.rs b/fp-examples/src/fp_core_examples/function_composition_example.rs
similarity index 100%
rename from fp-examples/src/function_composition_example.rs
rename to fp-examples/src/fp_core_examples/function_composition_example.rs
diff --git a/fp-examples/src/functor_example.rs b/fp-examples/src/fp_core_examples/functor_example.rs
similarity index 100%
rename from fp-examples/src/functor_example.rs
rename to fp-examples/src/fp_core_examples/functor_example.rs
diff --git a/fp-examples/src/lens_example.rs b/fp-examples/src/fp_core_examples/lens_example.rs
similarity index 100%
rename from fp-examples/src/lens_example.rs
rename to fp-examples/src/fp_core_examples/lens_example.rs
diff --git a/fp-examples/src/fp_core_examples/mod.rs b/fp-examples/src/fp_core_examples/mod.rs
new file mode 100644
index 0000000..67627a0
--- /dev/null
+++ b/fp-examples/src/fp_core_examples/mod.rs
@@ -0,0 +1,11 @@
+mod applicative_example;
+mod comonad_example;
+mod empty_example;
+mod foldable_example;
+mod function_composition_example;
+mod functor_example;
+mod lens_example;
+mod monad_example;
+mod monoid_example;
+mod semigroup_example;
+mod setoid_example;
diff --git a/fp-examples/src/monad_example.rs b/fp-examples/src/fp_core_examples/monad_example.rs
similarity index 100%
rename from fp-examples/src/monad_example.rs
rename to fp-examples/src/fp_core_examples/monad_example.rs
diff --git a/fp-examples/src/monoid_example.rs b/fp-examples/src/fp_core_examples/monoid_example.rs
similarity index 100%
rename from fp-examples/src/monoid_example.rs
rename to fp-examples/src/fp_core_examples/monoid_example.rs
diff --git a/fp-examples/src/semigroup_example.rs b/fp-examples/src/fp_core_examples/semigroup_example.rs
similarity index 100%
rename from fp-examples/src/semigroup_example.rs
rename to fp-examples/src/fp_core_examples/semigroup_example.rs
diff --git a/fp-examples/src/setoid_example.rs b/fp-examples/src/fp_core_examples/setoid_example.rs
similarity index 100%
rename from fp-examples/src/setoid_example.rs
rename to fp-examples/src/fp_core_examples/setoid_example.rs
diff --git a/fp-examples/src/adt_example.rs b/fp-examples/src/fp_jargon/adt_example.rs
similarity index 100%
rename from fp-examples/src/adt_example.rs
rename to fp-examples/src/fp_jargon/adt_example.rs
diff --git a/fp-examples/src/anamorphism_example.rs b/fp-examples/src/fp_jargon/anamorphism_example.rs
similarity index 100%
rename from fp-examples/src/anamorphism_example.rs
rename to fp-examples/src/fp_jargon/anamorphism_example.rs
diff --git a/fp-examples/src/arity_example.rs b/fp-examples/src/fp_jargon/arity_example.rs
similarity index 100%
rename from fp-examples/src/arity_example.rs
rename to fp-examples/src/fp_jargon/arity_example.rs
diff --git a/fp-examples/src/catamorphism_example.rs b/fp-examples/src/fp_jargon/catamorphism_example.rs
similarity index 100%
rename from fp-examples/src/catamorphism_example.rs
rename to fp-examples/src/fp_jargon/catamorphism_example.rs
diff --git a/fp-examples/src/closure_example.rs b/fp-examples/src/fp_jargon/closure_example.rs
similarity index 100%
rename from fp-examples/src/closure_example.rs
rename to fp-examples/src/fp_jargon/closure_example.rs
diff --git a/fp-examples/src/continuation_example.rs b/fp-examples/src/fp_jargon/continuation_example.rs
similarity index 100%
rename from fp-examples/src/continuation_example.rs
rename to fp-examples/src/fp_jargon/continuation_example.rs
diff --git a/fp-examples/src/contracts_example.rs b/fp-examples/src/fp_jargon/contracts_example.rs
similarity index 100%
rename from fp-examples/src/contracts_example.rs
rename to fp-examples/src/fp_jargon/contracts_example.rs
diff --git a/fp-examples/src/currying_example.rs b/fp-examples/src/fp_jargon/currying_example.rs
similarity index 100%
rename from fp-examples/src/currying_example.rs
rename to fp-examples/src/fp_jargon/currying_example.rs
diff --git a/fp-examples/src/endomorphism_example.rs b/fp-examples/src/fp_jargon/endomorphism_example.rs
similarity index 100%
rename from fp-examples/src/endomorphism_example.rs
rename to fp-examples/src/fp_jargon/endomorphism_example.rs
diff --git a/fp-examples/src/hof_example.rs b/fp-examples/src/fp_jargon/hof_example.rs
similarity index 100%
rename from fp-examples/src/hof_example.rs
rename to fp-examples/src/fp_jargon/hof_example.rs
diff --git a/fp-examples/src/homomorphism_example.rs b/fp-examples/src/fp_jargon/homomorphism_example.rs
similarity index 100%
rename from fp-examples/src/homomorphism_example.rs
rename to fp-examples/src/fp_jargon/homomorphism_example.rs
diff --git a/fp-examples/src/idempotent_example.rs b/fp-examples/src/fp_jargon/idempotent_example.rs
similarity index 100%
rename from fp-examples/src/idempotent_example.rs
rename to fp-examples/src/fp_jargon/idempotent_example.rs
diff --git a/fp-examples/src/isomorphism_example.rs b/fp-examples/src/fp_jargon/isomorphism_example.rs
similarity index 100%
rename from fp-examples/src/isomorphism_example.rs
rename to fp-examples/src/fp_jargon/isomorphism_example.rs
diff --git a/fp-examples/src/lambda_example.rs b/fp-examples/src/fp_jargon/lambda_example.rs
similarity index 100%
rename from fp-examples/src/lambda_example.rs
rename to fp-examples/src/fp_jargon/lambda_example.rs
diff --git a/fp-examples/src/fp_jargon/mod.rs b/fp-examples/src/fp_jargon/mod.rs
new file mode 100644
index 0000000..c6b6e29
--- /dev/null
+++ b/fp-examples/src/fp_jargon/mod.rs
@@ -0,0 +1,21 @@
+pub mod adt_example;
+mod arity_example;
+mod anamorphism_example;
+mod catamorphism_example;
+mod closure_example;
+mod continuation_example;
+mod contracts_example;
+mod currying_example;
+mod endomorphism_example;
+mod hof_example;
+mod idempotent_example;
+mod isomorphism_example;
+mod lambda_example;
+mod option_example;
+mod partial_application_example;
+mod pointed_functor_example;
+mod predicate_example;
+mod purity_example;
+mod referential_transparency_example;
+mod side_effects_example;
+mod type_signature_example;
diff --git a/fp-examples/src/option_example.rs b/fp-examples/src/fp_jargon/option_example.rs
similarity index 100%
rename from fp-examples/src/option_example.rs
rename to fp-examples/src/fp_jargon/option_example.rs
diff --git a/fp-examples/src/partial_application_example.rs b/fp-examples/src/fp_jargon/partial_application_example.rs
similarity index 100%
rename from fp-examples/src/partial_application_example.rs
rename to fp-examples/src/fp_jargon/partial_application_example.rs
diff --git a/fp-examples/src/pointed_functor_example.rs b/fp-examples/src/fp_jargon/pointed_functor_example.rs
similarity index 100%
rename from fp-examples/src/pointed_functor_example.rs
rename to fp-examples/src/fp_jargon/pointed_functor_example.rs
diff --git a/fp-examples/src/predicate_example.rs b/fp-examples/src/fp_jargon/predicate_example.rs
similarity index 100%
rename from fp-examples/src/predicate_example.rs
rename to fp-examples/src/fp_jargon/predicate_example.rs
diff --git a/fp-examples/src/purity_example.rs b/fp-examples/src/fp_jargon/purity_example.rs
similarity index 100%
rename from fp-examples/src/purity_example.rs
rename to fp-examples/src/fp_jargon/purity_example.rs
diff --git a/fp-examples/src/referential_transparency_example.rs b/fp-examples/src/fp_jargon/referential_transparency_example.rs
similarity index 100%
rename from fp-examples/src/referential_transparency_example.rs
rename to fp-examples/src/fp_jargon/referential_transparency_example.rs
diff --git a/fp-examples/src/side_effects_example.rs b/fp-examples/src/fp_jargon/side_effects_example.rs
similarity index 100%
rename from fp-examples/src/side_effects_example.rs
rename to fp-examples/src/fp_jargon/side_effects_example.rs
diff --git a/fp-examples/src/type_signature_example.rs b/fp-examples/src/fp_jargon/type_signature_example.rs
similarity index 82%
rename from fp-examples/src/type_signature_example.rs
rename to fp-examples/src/fp_jargon/type_signature_example.rs
index 9d848af..58dca3d 100644
--- a/fp-examples/src/type_signature_example.rs
+++ b/fp-examples/src/fp_jargon/type_signature_example.rs
@@ -14,7 +14,7 @@ fn type_signature_example() {
// call :: (a -> b) -> a -> b
#[allow(dead_code)]
- fn call(f: &Fn(A) -> B) -> impl Fn(A) -> B + '_ {
+ fn call(f: &(dyn Fn(A) -> B)) -> impl Fn(A) -> B + '_ {
move |x| f(x)
}
@@ -26,7 +26,7 @@ fn type_signature_example() {
// map :: (a -> b) -> [a] -> [b]
#[allow(dead_code)]
- fn map(f: &Fn(A) -> B) -> impl Fn(A) -> B + '_ {
+ fn map(f: &(dyn Fn(A) -> B)) -> impl Fn(A) -> B + '_ {
move |x| f(x)
}
}
diff --git a/fp-examples/src/value.rs b/fp-examples/src/fp_jargon/value.rs
similarity index 100%
rename from fp-examples/src/value.rs
rename to fp-examples/src/fp_jargon/value.rs
diff --git a/fp-examples/src/main.rs b/fp-examples/src/main.rs
index 89d18e5..511ab7b 100644
--- a/fp-examples/src/main.rs
+++ b/fp-examples/src/main.rs
@@ -3,38 +3,8 @@ extern crate partial_application;
#[macro_use]
extern crate fp_core;
-pub mod adt_example;
-mod anamorphism_example;
-mod applicative_example;
-mod arity_example;
-mod catamorphism_example;
-mod closure_example;
-mod comonad_example;
-mod continuation_example;
-mod contracts_example;
-mod currying_example;
-mod empty_example;
-mod endomorphism_example;
-mod foldable_example;
-mod function_composition_example;
-mod functor_example;
-mod hof_example;
-mod idempotent_example;
-mod isomorphism_example;
-mod lambda_example;
-mod lens_example;
-mod monad_example;
-mod monoid_example;
-mod option_example;
-mod partial_application_example;
-mod pointed_functor_example;
-mod predicate_example;
-mod purity_example;
-mod referential_transparency_example;
-mod semigroup_example;
-mod setoid_example;
-mod side_effects_example;
-mod type_signature_example;
+mod fp_core_examples;
+mod fp_jargon;
fn main() {
println!("Welcome to fp-core!");