Chase Wilson

Results 68 issues of Chase Wilson

Tuple enum variants and tuple structs would be nice for scenarios where the inner type doesn't need an extra description, such as ```prolog typedef Id = Id(usize) typedef IdKind =...

enhancement

I recently ran into a [really fun little bug](https://github.com/RDambrosio016/RSLint/blob/d69e5857f56bfad630e6b920abce69f99e578aa6/crates/rslint_scope/src/datalog.rs#L295-L303) where I was inserting the incorrect types into the wrong relations (in this situation, `InputScope` into `EveryScope` and EveryScope` into `InputScope`)....

enhancement

My application is heavily concurrent, and at data-introduction time there's a number of threads attempting to dump data into ddlog. With the current transaction system I have transactions protected by...

enhancement

Being able to pattern match on interned values (similar to how `Ref

enhancement

Large programs can often involve very large and very numerous enums and with the current design all enum variants are simultaneously in scope, which leads to name conflicts, having to...

enhancement

I've got a very long-running program (a language server) that sees a lot of strings within its lifetime, and the current internment strategy leaks strings which leads to potentially exponential...

enhancement

Having some sort of status callback or just the ability to see the progress of the running program (whatever that may mean) would be really great for user-facing applications (like...

enhancement

Being able to conditionally compile ddlog code would be really amazing, eg. ```prolog #[cfg(debug)] output relation Output(a: u32) #[cfg(debug)] Output(a) :- R(a). ```

enhancement

The implementations of `PartialEq`, `PartialOrd` and `PartialOrd` for `DDValue` ([seen here](https://github.com/vmware/differential-datalog/blob/master/rust/template/differential_datalog/ddval/ddvalue.rs#L98-L137)) are unsound since they allow what's essentially transmuting types into the incorrect type and using them with an innocuous...

enhancement

Making Debug implementations for DDValue use the underlying type's actual `Debug` implementation and removing the `Display` function and replacing it with `.debug_record()`/`.display_record()` functions would allow for normal rust debug printing...

enhancement