-
Need to provide better type safety in:
- [x] Smithy specification
- [x] [Domain](https://github.com/lenguyenthanh/fide/blob/main/modules/domain/src/main/scala/Domain.scala)
- [ ] [Config](https:/…
-
The idea is that you can use a limited form of expression to constrain a type. The syntax could look like this:
```
type positiveInt = int where self > 0;
```
The difficulty is that static type …
-
e.g.,
```
φ :: (a -> a -> Bool)
-> (a, a -> Bool)
-> a -> (a, Bool)
{-@
φ :: p:(a -> a -> Bool)
-> (x::a, y:a -> {p x y})
-> z:a -> (w::a, {p w z})
@-}
φ p (x, pxy) = \y -> (x…
-
This is a further development of the idea of [tag types](https://github.com/Microsoft/TypeScript/issues/4895).
There are situations where being able to encode a certain predicate about a given value …
-
Refinement types are an important part of what we hope to add to Fathom. These should allow us to avoid the overflow and out-of-bounds access errors that are a common source of bugs and security vulne…
-
Allow refinement types to act as factory and be instantiated in different circumstances with varying parameters.
```
# define as
type GreaterThan(x :: a) := [y ~ a | y > x]
# use as
GreaterTh…
-
**Principal refinement types refine the native [Principal](https://docs.blockstack.org/smart-contracts/principals) type with optional [traits](https://github.com/blockstack/stacks-blockchain/issues/11…
-
**Clarity should support declaring _string refinement types_** that refine the native `string` type from issue #3 with an optional character set. This is similar to the _integer refinement types_ prop…
-
I've read through the chapters 1 to 7 and haven't come accross a definition of the syntax of refinement types. I was expecting to see it rather early in the book. A BNF would be helpful. It seems that…
-
Refinement types ala Wadler's complement to blame, e.g. `f(n:real{n>= 0})`