points by throwaway17_17 4 days ago | 0 comments
The introductory examples look more like refinement type (or Liquid types) which are limited to those operations and restrictions one’s that are provable by the compiler utilizing a restricted subset of operations and computational constructs subject to deterministic proving via SAT solving. I’m going to look closer at the docs so I could be mistaken on that point. It certainly seems to have taken the ownership and ‘borrowing’ concepts for memory semantics from Rust at a quick glance at the first few pages.
[–] ch4s3 4 days ago
Yeah it definitely looks like refinement vs actual dependent types. I do the same thing here[1] in my language (pardon the mess). Adding liquid types to basically rust is IMHO a good idea.
[–] jordan_bonecut 4 days ago
[–] ch4s3 4 days ago
[–] jordan_bonecut 3 days ago
[–] ch4s3 3 days ago
How are you doing resolution of your dependent(refined?) types? I've been using Z3, but you're clearly doing something else here.