02481ae4fd
Clean-up
2020-02-05 02:48:07 +01:00
75356d2972
Remove variable declaration stack
2020-02-05 02:27:00 +01:00
e335ab5e4f
Implement Debug and Display for declarations types
2020-02-04 23:47:58 +01:00
1694a2d0f4
Minor restructuring
2020-02-04 23:47:12 +01:00
09e16edbe4
Assert against inconsistent numbers of arguments
2020-02-04 02:56:26 +01:00
88274e4396
Represent parent precedence with optional type
2020-02-03 23:23:41 +01:00
5e96c3f85e
Remove parsing capabilities for now
2020-02-03 23:22:14 +01:00
ab0727fe5b
Reorder formatting calls
2020-02-03 22:58:11 +01:00
81b9ca4cfa
Require identity equality for variable declarations
...
Variable declarations should only be considered equal if their identity
is equal. In other words, just because two different variable
declarations share the same name, they aren’t automatically equal. This
is to support situations in which nested variable declarations shadow
variable declarations of the same name at a higher level.
2020-02-03 02:39:15 +01:00
171c725fb8
Assert against empty parameter lists
2020-02-02 20:06:41 +01:00
5e39fc5cec
Remove unnecessary Symbolic type
...
This type is a special case of Function and doesn’t need to be
represented separately.
2020-02-02 19:31:16 +01:00
25c567af06
Assert against empty conjunctions and disjunctions
2020-02-02 17:46:55 +01:00
6163c5b259
Use std::rc::Rc types for variable declarations
...
These fields may have to be shared in other data structures, such as a
variable declaration stack. In order to accomplish that, it’s necessary
to wrap the variable declarations in std::rc::Rc.
2020-02-02 17:44:49 +01:00
3e6e68f6ea
Use ordered sets for declarations
...
This replaces the unordered sets used for function and predicate
declarations with ordered sets. This is useful when these declarations
are supposed to be processed in a stable and meaningful order.
2020-02-02 17:39:41 +01:00
e1d616d8b4
Add convenience constructors
2020-02-02 02:14:14 +01:00
749dab228b
Represent parameter lists as vectors and not sets
2020-02-02 02:12:05 +01:00
f0958b100e
Rename types for consistency
2020-02-02 02:08:39 +01:00
242435c698
Add useful derive statements
2020-02-01 17:40:15 +01:00
dfe86c09cc
Add convenience constructor
2020-01-31 13:53:42 +01:00
72db7c448b
Declare collection types for declarations
2020-01-31 13:53:21 +01:00
03e249e791
Add useful derive statements
2020-01-31 13:52:57 +01:00
6b10cced7c
Expose variable stack
2020-01-24 18:57:23 +01:00
f19f1a3eb1
Work in progress
2020-01-24 18:43:42 +01:00
5070965bfe
Make predicate declarations hashable
2019-11-02 04:12:16 +01:00
30ba3e22c1
Fix precedence between predicates and comparisons
2019-11-02 04:06:06 +01:00
de4ab29da5
Implement Display formatter in terms of Debug
2019-11-02 04:05:57 +01:00
a6fe4b9e08
Respect operator precedence when printing
2019-11-01 22:35:51 +01:00
b76287a07b
Restructure crate for a nicer interface
2019-11-01 22:00:17 +01:00
9f32bea10c
Rename project “foliage”
2019-11-01 21:00:00 +01:00
d1d20deadb
Add benchmark
2019-11-01 06:40:55 +01:00
48b18b9354
Add example
2019-11-01 06:20:19 +01:00
dcf12d45eb
Implement formula parsing
2019-11-01 06:20:02 +01:00
1b9654f44f
Implement term parsing
2019-11-01 05:40:48 +01:00