aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--primrose/Cargo.toml83
-rw-r--r--primrose/primrose/Cargo.toml76
-rw-r--r--primrose/primrose/benches/criterion_benchmark.rs (renamed from primrose/benches/criterion_benchmark.rs)0
-rw-r--r--primrose/primrose/mem_profiling/btreeset_128m.rs (renamed from primrose/mem_profiling/btreeset_128m.rs)0
-rw-r--r--primrose/primrose/mem_profiling/btreeset_1m.rs (renamed from primrose/mem_profiling/btreeset_1m.rs)0
-rw-r--r--primrose/primrose/mem_profiling/btreeset_256m.rs (renamed from primrose/mem_profiling/btreeset_256m.rs)0
-rw-r--r--primrose/primrose/mem_profiling/btreeset_512m.rs (renamed from primrose/mem_profiling/btreeset_512m.rs)0
-rw-r--r--primrose/primrose/mem_profiling/hashset_128m.rs (renamed from primrose/mem_profiling/hashset_128m.rs)0
-rw-r--r--primrose/primrose/mem_profiling/hashset_1m.rs (renamed from primrose/mem_profiling/hashset_1m.rs)0
-rw-r--r--primrose/primrose/mem_profiling/hashset_256m.rs (renamed from primrose/mem_profiling/hashset_256m.rs)0
-rw-r--r--primrose/primrose/mem_profiling/hashset_512m.rs (renamed from primrose/mem_profiling/hashset_512m.rs)0
-rw-r--r--primrose/primrose/mem_profiling/uvec_lazy_128m.rs (renamed from primrose/mem_profiling/uvec_lazy_128m.rs)0
-rw-r--r--primrose/primrose/mem_profiling/uvec_lazy_1m.rs (renamed from primrose/mem_profiling/uvec_lazy_1m.rs)0
-rw-r--r--primrose/primrose/mem_profiling/uvec_lazy_256m.rs (renamed from primrose/mem_profiling/uvec_lazy_256m.rs)0
-rw-r--r--primrose/primrose/mem_profiling/uvec_lazy_512m.rs (renamed from primrose/mem_profiling/uvec_lazy_512m.rs)0
-rw-r--r--primrose/primrose/mem_profiling/vec_baseline_128m.rs (renamed from primrose/mem_profiling/vec_baseline_128m.rs)0
-rw-r--r--primrose/primrose/mem_profiling/vec_baseline_1m.rs (renamed from primrose/mem_profiling/vec_baseline_1m.rs)0
-rw-r--r--primrose/primrose/mem_profiling/vec_baseline_256m.rs (renamed from primrose/mem_profiling/vec_baseline_256m.rs)0
-rw-r--r--primrose/primrose/mem_profiling/vec_baseline_512m.rs (renamed from primrose/mem_profiling/vec_baseline_512m.rs)0
-rw-r--r--primrose/primrose/src/analysis.rs (renamed from primrose/src/analysis.rs)0
-rw-r--r--primrose/primrose/src/bounded_ops.rs (renamed from primrose/src/bounded_ops.rs)0
-rw-r--r--primrose/primrose/src/description.rs (renamed from primrose/src/description.rs)0
-rw-r--r--primrose/primrose/src/generator.rs (renamed from primrose/src/generator.rs)0
-rw-r--r--primrose/primrose/src/inference.rs (renamed from primrose/src/inference.rs)0
-rw-r--r--primrose/primrose/src/lib.rs (renamed from primrose/src/lib.rs)0
-rw-r--r--primrose/primrose/src/lib_spec_processor.rs (renamed from primrose/src/lib_spec_processor.rs)12
-rw-r--r--primrose/primrose/src/library/eager_sorted_vector.rs (renamed from primrose/src/library/eager_sorted_vector.rs)0
-rw-r--r--primrose/primrose/src/library/eager_unique_vector.rs (renamed from primrose/src/library/eager_unique_vector.rs)0
-rw-r--r--primrose/primrose/src/library/hashset.rs (renamed from primrose/src/library/hashset.rs)0
-rw-r--r--primrose/primrose/src/library/lazy_sorted_vector.rs (renamed from primrose/src/library/lazy_sorted_vector.rs)0
-rw-r--r--primrose/primrose/src/library/lazy_unique_vector.rs (renamed from primrose/src/library/lazy_unique_vector.rs)0
-rw-r--r--primrose/primrose/src/library/list.rs (renamed from primrose/src/library/list.rs)0
-rw-r--r--primrose/primrose/src/library/mod.rs (renamed from primrose/src/library/mod.rs)0
-rw-r--r--primrose/primrose/src/library/treeset.rs (renamed from primrose/src/library/treeset.rs)0
-rw-r--r--primrose/primrose/src/library/vector.rs (renamed from primrose/src/library/vector.rs)0
-rw-r--r--primrose/primrose/src/main.rs (renamed from primrose/src/main.rs)0
-rw-r--r--primrose/primrose/src/parser.rs (renamed from primrose/src/parser.rs)0
-rw-r--r--primrose/primrose/src/proptest/mod.rs (renamed from primrose/src/proptest/mod.rs)0
-rw-r--r--primrose/primrose/src/proptest/strategies.rs (renamed from primrose/src/proptest/strategies.rs)0
-rw-r--r--primrose/primrose/src/run_matching.rs (renamed from primrose/src/run_matching.rs)0
-rw-r--r--primrose/primrose/src/spec_map.rs (renamed from primrose/src/spec_map.rs)0
-rw-r--r--primrose/primrose/src/tools/mod.rs (renamed from primrose/src/tools/mod.rs)0
-rw-r--r--primrose/primrose/src/traits/container_constructor.rs (renamed from primrose/src/traits/container_constructor.rs)0
-rw-r--r--primrose/primrose/src/traits/mod.rs (renamed from primrose/src/traits/mod.rs)0
-rw-r--r--primrose/primrose/src/type_check.rs (renamed from primrose/src/type_check.rs)0
-rw-r--r--primrose/primrose/src/types.rs (renamed from primrose/src/types.rs)0
46 files changed, 87 insertions, 84 deletions
diff --git a/primrose/Cargo.toml b/primrose/Cargo.toml
index df92b05..8022dda 100644
--- a/primrose/Cargo.toml
+++ b/primrose/Cargo.toml
@@ -1,78 +1,5 @@
-[package]
-name = "primrose"
-version = "0.1.0"
-authors = ["Xueying Qin <qinxy1995@gmail.com>"]
-edition = "2021"
-default-run = "main"
-
-# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
-
-[dependencies]
-peg = "0.8.0"
-indicatif = "0.16.2"
-rand = "0.8.5"
-im = "10.2.0"
-proptest = "1.0.0"
-
-[dev-dependencies]
-criterion = "0.3.5"
-
-[[bench]]
-name = "criterion_benchmark"
-harness = false
-
-[[bin]]
-name = "main"
-path = "src/main.rs"
-
-[[bin]]
-name = "btreeset1"
-path = "mem_profiling/btreeset_1m.rs"
-
-[[bin]]
-name = "btreeset128"
-path = "mem_profiling/btreeset_128m.rs"
-
-[[bin]]
-name = "btreeset256"
-path = "mem_profiling/btreeset_256m.rs"
-
-[[bin]]
-name = "btreeset512"
-path = "mem_profiling/btreeset_512m.rs"
-
-[[bin]]
-name = "hashset1"
-path = "mem_profiling/hashset_1m.rs"
-
-[[bin]]
-name = "hashset128"
-path = "mem_profiling/hashset_128m.rs"
-
-[[bin]]
-name = "hashset256"
-path = "mem_profiling/hashset_256m.rs"
-
-[[bin]]
-name = "hashset512"
-path = "mem_profiling/hashset_512m.rs"
-
-[[bin]]
-name = "uveclazy1"
-path = "mem_profiling/uvec_lazy_1m.rs"
-
-[[bin]]
-name = "uveclazy128"
-path = "mem_profiling/uvec_lazy_128m.rs"
-
-[[bin]]
-name = "uveclazy256"
-path = "mem_profiling/uvec_lazy_256m.rs"
-
-[[bin]]
-name = "uveclazy512"
-path = "mem_profiling/uvec_lazy_512m.rs"
-
-#[[bin]]
-#name = "unique"
-#path = "gen_code/unique/unique0.rs" \ No newline at end of file
+[workspace]
+resolver = "2"
+members = [
+ "primrose/"
+] \ No newline at end of file
diff --git a/primrose/primrose/Cargo.toml b/primrose/primrose/Cargo.toml
new file mode 100644
index 0000000..3ac3b71
--- /dev/null
+++ b/primrose/primrose/Cargo.toml
@@ -0,0 +1,76 @@
+[package]
+name = "primrose"
+version = "0.1.0"
+authors = ["Xueying Qin <qinxy1995@gmail.com>"]
+edition = "2021"
+default-run = "main"
+
+[dependencies]
+peg = "0.8.0"
+indicatif = "0.16.2"
+rand = "0.8.5"
+im = "10.2.0"
+proptest = "1.0.0"
+
+[dev-dependencies]
+criterion = "0.3.5"
+
+[[bench]]
+name = "criterion_benchmark"
+harness = false
+
+[[bin]]
+name = "main"
+path = "src/main.rs"
+
+[[bin]]
+name = "btreeset1"
+path = "mem_profiling/btreeset_1m.rs"
+
+[[bin]]
+name = "btreeset128"
+path = "mem_profiling/btreeset_128m.rs"
+
+[[bin]]
+name = "btreeset256"
+path = "mem_profiling/btreeset_256m.rs"
+
+[[bin]]
+name = "btreeset512"
+path = "mem_profiling/btreeset_512m.rs"
+
+[[bin]]
+name = "hashset1"
+path = "mem_profiling/hashset_1m.rs"
+
+[[bin]]
+name = "hashset128"
+path = "mem_profiling/hashset_128m.rs"
+
+[[bin]]
+name = "hashset256"
+path = "mem_profiling/hashset_256m.rs"
+
+[[bin]]
+name = "hashset512"
+path = "mem_profiling/hashset_512m.rs"
+
+[[bin]]
+name = "uveclazy1"
+path = "mem_profiling/uvec_lazy_1m.rs"
+
+[[bin]]
+name = "uveclazy128"
+path = "mem_profiling/uvec_lazy_128m.rs"
+
+[[bin]]
+name = "uveclazy256"
+path = "mem_profiling/uvec_lazy_256m.rs"
+
+[[bin]]
+name = "uveclazy512"
+path = "mem_profiling/uvec_lazy_512m.rs"
+
+#[[bin]]
+#name = "unique"
+#path = "gen_code/unique/unique0.rs" \ No newline at end of file
diff --git a/primrose/benches/criterion_benchmark.rs b/primrose/primrose/benches/criterion_benchmark.rs
index 19afda5..19afda5 100644
--- a/primrose/benches/criterion_benchmark.rs
+++ b/primrose/primrose/benches/criterion_benchmark.rs
diff --git a/primrose/mem_profiling/btreeset_128m.rs b/primrose/primrose/mem_profiling/btreeset_128m.rs
index eb3e6c5..eb3e6c5 100644
--- a/primrose/mem_profiling/btreeset_128m.rs
+++ b/primrose/primrose/mem_profiling/btreeset_128m.rs
diff --git a/primrose/mem_profiling/btreeset_1m.rs b/primrose/primrose/mem_profiling/btreeset_1m.rs
index 0d37c08..0d37c08 100644
--- a/primrose/mem_profiling/btreeset_1m.rs
+++ b/primrose/primrose/mem_profiling/btreeset_1m.rs
diff --git a/primrose/mem_profiling/btreeset_256m.rs b/primrose/primrose/mem_profiling/btreeset_256m.rs
index 47e18e1..47e18e1 100644
--- a/primrose/mem_profiling/btreeset_256m.rs
+++ b/primrose/primrose/mem_profiling/btreeset_256m.rs
diff --git a/primrose/mem_profiling/btreeset_512m.rs b/primrose/primrose/mem_profiling/btreeset_512m.rs
index c1cff10..c1cff10 100644
--- a/primrose/mem_profiling/btreeset_512m.rs
+++ b/primrose/primrose/mem_profiling/btreeset_512m.rs
diff --git a/primrose/mem_profiling/hashset_128m.rs b/primrose/primrose/mem_profiling/hashset_128m.rs
index 91a59bf..91a59bf 100644
--- a/primrose/mem_profiling/hashset_128m.rs
+++ b/primrose/primrose/mem_profiling/hashset_128m.rs
diff --git a/primrose/mem_profiling/hashset_1m.rs b/primrose/primrose/mem_profiling/hashset_1m.rs
index 6df3c7d..6df3c7d 100644
--- a/primrose/mem_profiling/hashset_1m.rs
+++ b/primrose/primrose/mem_profiling/hashset_1m.rs
diff --git a/primrose/mem_profiling/hashset_256m.rs b/primrose/primrose/mem_profiling/hashset_256m.rs
index 32c2fcd..32c2fcd 100644
--- a/primrose/mem_profiling/hashset_256m.rs
+++ b/primrose/primrose/mem_profiling/hashset_256m.rs
diff --git a/primrose/mem_profiling/hashset_512m.rs b/primrose/primrose/mem_profiling/hashset_512m.rs
index b194cf0..b194cf0 100644
--- a/primrose/mem_profiling/hashset_512m.rs
+++ b/primrose/primrose/mem_profiling/hashset_512m.rs
diff --git a/primrose/mem_profiling/uvec_lazy_128m.rs b/primrose/primrose/mem_profiling/uvec_lazy_128m.rs
index 44cb9f0..44cb9f0 100644
--- a/primrose/mem_profiling/uvec_lazy_128m.rs
+++ b/primrose/primrose/mem_profiling/uvec_lazy_128m.rs
diff --git a/primrose/mem_profiling/uvec_lazy_1m.rs b/primrose/primrose/mem_profiling/uvec_lazy_1m.rs
index 8068e32..8068e32 100644
--- a/primrose/mem_profiling/uvec_lazy_1m.rs
+++ b/primrose/primrose/mem_profiling/uvec_lazy_1m.rs
diff --git a/primrose/mem_profiling/uvec_lazy_256m.rs b/primrose/primrose/mem_profiling/uvec_lazy_256m.rs
index f2a9012..f2a9012 100644
--- a/primrose/mem_profiling/uvec_lazy_256m.rs
+++ b/primrose/primrose/mem_profiling/uvec_lazy_256m.rs
diff --git a/primrose/mem_profiling/uvec_lazy_512m.rs b/primrose/primrose/mem_profiling/uvec_lazy_512m.rs
index 04f1cc8..04f1cc8 100644
--- a/primrose/mem_profiling/uvec_lazy_512m.rs
+++ b/primrose/primrose/mem_profiling/uvec_lazy_512m.rs
diff --git a/primrose/mem_profiling/vec_baseline_128m.rs b/primrose/primrose/mem_profiling/vec_baseline_128m.rs
index a98f00d..a98f00d 100644
--- a/primrose/mem_profiling/vec_baseline_128m.rs
+++ b/primrose/primrose/mem_profiling/vec_baseline_128m.rs
diff --git a/primrose/mem_profiling/vec_baseline_1m.rs b/primrose/primrose/mem_profiling/vec_baseline_1m.rs
index 825ac9e..825ac9e 100644
--- a/primrose/mem_profiling/vec_baseline_1m.rs
+++ b/primrose/primrose/mem_profiling/vec_baseline_1m.rs
diff --git a/primrose/mem_profiling/vec_baseline_256m.rs b/primrose/primrose/mem_profiling/vec_baseline_256m.rs
index 53a57e2..53a57e2 100644
--- a/primrose/mem_profiling/vec_baseline_256m.rs
+++ b/primrose/primrose/mem_profiling/vec_baseline_256m.rs
diff --git a/primrose/mem_profiling/vec_baseline_512m.rs b/primrose/primrose/mem_profiling/vec_baseline_512m.rs
index d20260b..d20260b 100644
--- a/primrose/mem_profiling/vec_baseline_512m.rs
+++ b/primrose/primrose/mem_profiling/vec_baseline_512m.rs
diff --git a/primrose/src/analysis.rs b/primrose/primrose/src/analysis.rs
index c76ec29..c76ec29 100644
--- a/primrose/src/analysis.rs
+++ b/primrose/primrose/src/analysis.rs
diff --git a/primrose/src/bounded_ops.rs b/primrose/primrose/src/bounded_ops.rs
index 2d16b2a..2d16b2a 100644
--- a/primrose/src/bounded_ops.rs
+++ b/primrose/primrose/src/bounded_ops.rs
diff --git a/primrose/src/description.rs b/primrose/primrose/src/description.rs
index 2a6c74c..2a6c74c 100644
--- a/primrose/src/description.rs
+++ b/primrose/primrose/src/description.rs
diff --git a/primrose/src/generator.rs b/primrose/primrose/src/generator.rs
index b76a947..b76a947 100644
--- a/primrose/src/generator.rs
+++ b/primrose/primrose/src/generator.rs
diff --git a/primrose/src/inference.rs b/primrose/primrose/src/inference.rs
index 0164755..0164755 100644
--- a/primrose/src/inference.rs
+++ b/primrose/primrose/src/inference.rs
diff --git a/primrose/src/lib.rs b/primrose/primrose/src/lib.rs
index 6f8c320..6f8c320 100644
--- a/primrose/src/lib.rs
+++ b/primrose/primrose/src/lib.rs
diff --git a/primrose/src/lib_spec_processor.rs b/primrose/primrose/src/lib_spec_processor.rs
index 6a60cf6..9a9face 100644
--- a/primrose/src/lib_spec_processor.rs
+++ b/primrose/primrose/src/lib_spec_processor.rs
@@ -43,22 +43,22 @@ fn has_pragma_spec(src: &str) -> bool {
/// Specifications extracted from a library file
pub struct LibraryFileSpec {
/// Name of the specification
- spec_name: String,
+ pub spec_name: String,
/// Name of the specified structs
- struct_name: String,
+ pub struct_name: String,
/// All specification code defined
- specs: Vec<String>,
+ pub specs: Vec<String>,
/// The provided rosette module name
- provide: String,
+ pub provide: String,
/// The bounds of each operation
- interface_provide_map: Bounds,
+ pub interface_provide_map: Bounds,
/// The provided operations
- provided_ops: ProvidedOps,
+ pub provided_ops: ProvidedOps,
}
/// Read a library file and parse the spec
diff --git a/primrose/src/library/eager_sorted_vector.rs b/primrose/primrose/src/library/eager_sorted_vector.rs
index caed977..caed977 100644
--- a/primrose/src/library/eager_sorted_vector.rs
+++ b/primrose/primrose/src/library/eager_sorted_vector.rs
diff --git a/primrose/src/library/eager_unique_vector.rs b/primrose/primrose/src/library/eager_unique_vector.rs
index 7e8bb92..7e8bb92 100644
--- a/primrose/src/library/eager_unique_vector.rs
+++ b/primrose/primrose/src/library/eager_unique_vector.rs
diff --git a/primrose/src/library/hashset.rs b/primrose/primrose/src/library/hashset.rs
index 5668f28..5668f28 100644
--- a/primrose/src/library/hashset.rs
+++ b/primrose/primrose/src/library/hashset.rs
diff --git a/primrose/src/library/lazy_sorted_vector.rs b/primrose/primrose/src/library/lazy_sorted_vector.rs
index 713dae3..713dae3 100644
--- a/primrose/src/library/lazy_sorted_vector.rs
+++ b/primrose/primrose/src/library/lazy_sorted_vector.rs
diff --git a/primrose/src/library/lazy_unique_vector.rs b/primrose/primrose/src/library/lazy_unique_vector.rs
index f734e83..f734e83 100644
--- a/primrose/src/library/lazy_unique_vector.rs
+++ b/primrose/primrose/src/library/lazy_unique_vector.rs
diff --git a/primrose/src/library/list.rs b/primrose/primrose/src/library/list.rs
index daf4c02..daf4c02 100644
--- a/primrose/src/library/list.rs
+++ b/primrose/primrose/src/library/list.rs
diff --git a/primrose/src/library/mod.rs b/primrose/primrose/src/library/mod.rs
index a9da6f8..a9da6f8 100644
--- a/primrose/src/library/mod.rs
+++ b/primrose/primrose/src/library/mod.rs
diff --git a/primrose/src/library/treeset.rs b/primrose/primrose/src/library/treeset.rs
index 6e016a2..6e016a2 100644
--- a/primrose/src/library/treeset.rs
+++ b/primrose/primrose/src/library/treeset.rs
diff --git a/primrose/src/library/vector.rs b/primrose/primrose/src/library/vector.rs
index b99649e..b99649e 100644
--- a/primrose/src/library/vector.rs
+++ b/primrose/primrose/src/library/vector.rs
diff --git a/primrose/src/main.rs b/primrose/primrose/src/main.rs
index f39444b..f39444b 100644
--- a/primrose/src/main.rs
+++ b/primrose/primrose/src/main.rs
diff --git a/primrose/src/parser.rs b/primrose/primrose/src/parser.rs
index 580c6b5..580c6b5 100644
--- a/primrose/src/parser.rs
+++ b/primrose/primrose/src/parser.rs
diff --git a/primrose/src/proptest/mod.rs b/primrose/primrose/src/proptest/mod.rs
index a21ad10..a21ad10 100644
--- a/primrose/src/proptest/mod.rs
+++ b/primrose/primrose/src/proptest/mod.rs
diff --git a/primrose/src/proptest/strategies.rs b/primrose/primrose/src/proptest/strategies.rs
index 360c5a4..360c5a4 100644
--- a/primrose/src/proptest/strategies.rs
+++ b/primrose/primrose/src/proptest/strategies.rs
diff --git a/primrose/src/run_matching.rs b/primrose/primrose/src/run_matching.rs
index fb912a2..fb912a2 100644
--- a/primrose/src/run_matching.rs
+++ b/primrose/primrose/src/run_matching.rs
diff --git a/primrose/src/spec_map.rs b/primrose/primrose/src/spec_map.rs
index 28617b3..28617b3 100644
--- a/primrose/src/spec_map.rs
+++ b/primrose/primrose/src/spec_map.rs
diff --git a/primrose/src/tools/mod.rs b/primrose/primrose/src/tools/mod.rs
index 7fd0c7a..7fd0c7a 100644
--- a/primrose/src/tools/mod.rs
+++ b/primrose/primrose/src/tools/mod.rs
diff --git a/primrose/src/traits/container_constructor.rs b/primrose/primrose/src/traits/container_constructor.rs
index 7136be5..7136be5 100644
--- a/primrose/src/traits/container_constructor.rs
+++ b/primrose/primrose/src/traits/container_constructor.rs
diff --git a/primrose/src/traits/mod.rs b/primrose/primrose/src/traits/mod.rs
index 3bf4f9f..3bf4f9f 100644
--- a/primrose/src/traits/mod.rs
+++ b/primrose/primrose/src/traits/mod.rs
diff --git a/primrose/src/type_check.rs b/primrose/primrose/src/type_check.rs
index fa9091f..fa9091f 100644
--- a/primrose/src/type_check.rs
+++ b/primrose/primrose/src/type_check.rs
diff --git a/primrose/src/types.rs b/primrose/primrose/src/types.rs
index 608912b..608912b 100644
--- a/primrose/src/types.rs
+++ b/primrose/primrose/src/types.rs