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
b76287a07b
Restructure crate for a nicer interface
2019-11-01 22:00:17 +01:00