Commit Graph

23 Commits

Author SHA1 Message Date
Patrick Lühne 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
Patrick Lühne 25c567af06
Assert against empty conjunctions and disjunctions 2020-02-02 17:46:55 +01:00
Patrick Lühne 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
Patrick Lühne 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
Patrick Lühne e1d616d8b4
Add convenience constructors 2020-02-02 02:14:14 +01:00
Patrick Lühne 749dab228b
Represent parameter lists as vectors and not sets 2020-02-02 02:12:05 +01:00
Patrick Lühne f0958b100e
Rename types for consistency 2020-02-02 02:08:39 +01:00
Patrick Lühne 242435c698
Add useful derive statements 2020-02-01 17:40:15 +01:00
Patrick Lühne dfe86c09cc
Add convenience constructor 2020-01-31 13:53:42 +01:00
Patrick Lühne 72db7c448b
Declare collection types for declarations 2020-01-31 13:53:21 +01:00
Patrick Lühne 03e249e791
Add useful derive statements 2020-01-31 13:52:57 +01:00
Patrick Lühne 6b10cced7c
Expose variable stack 2020-01-24 18:57:23 +01:00
Patrick Lühne f19f1a3eb1
Work in progress 2020-01-24 18:43:42 +01:00
Patrick Lühne 5070965bfe
Make predicate declarations hashable 2019-11-02 04:12:16 +01:00
Patrick Lühne 30ba3e22c1
Fix precedence between predicates and comparisons 2019-11-02 04:06:06 +01:00
Patrick Lühne de4ab29da5
Implement Display formatter in terms of Debug 2019-11-02 04:05:57 +01:00
Patrick Lühne a6fe4b9e08
Respect operator precedence when printing 2019-11-01 22:35:51 +01:00
Patrick Lühne b76287a07b
Restructure crate for a nicer interface 2019-11-01 22:00:17 +01:00
Patrick Lühne 9f32bea10c
Rename project “foliage” 2019-11-01 21:00:00 +01:00
Patrick Lühne d1d20deadb
Add benchmark 2019-11-01 06:40:55 +01:00
Patrick Lühne 48b18b9354
Add example 2019-11-01 06:20:19 +01:00
Patrick Lühne dcf12d45eb
Implement formula parsing 2019-11-01 06:20:02 +01:00
Patrick Lühne 1b9654f44f
Implement term parsing 2019-11-01 05:40:48 +01:00