-
Using the issues as a comment form for https://bernsteinbear.com/blog/row-poly/ .
I think I've implemented something similar in Yeti. I also documented the algorithm that I wrote (I learned that it…
-
1. "Row polymorphism" means that a record type `{ a : Text, b : Bool }` is a subtype of `{ a : Text}`. Any function taking a record of type `{ a : Text }` can be directly applied to an argument of typ…
-
When copying row types, we assume that any two row types sharing a 'row more' [can be combined as a shared type](https://github.com/ocaml/ocaml/blob/35af4cddfd31129391f904167236270a004037f8/typing/cty…
-
For example a document explaining these would be useful
```rescript
type userLike string = user => user["name"]
let name = extractName({"name": "John", "age": 20})
let name' = extractName({"name…
-
I'm not sure if this came up before, but would it be possible to add a relaxed type checking / projection for records?
e.g. if I have a function of type
```dhall
\(record: { foo : Natural }) -> r…
-
Have you given any thought on recursive row types? The classic implementation for a list goes as follow (in F#):
```fsharp
type List
-
(Original post in https://gist.github.com/osa1/38fd51abe5247462eddb7d014f320cd2)
Fir should have convenient handling of error values, using polymorphic variants.
Fir won't have subtyping for nam…
osa1 updated
3 months ago
-
Given that [`Request` includes a backend-specific request object](https://github.com/Woody88/purescript-wai/blob/master/src/Network/Wai/Internal.purs#L34), it might be better to redefine that type via…
-
In the constrained rows implementation the `lacks` constraints are part of the type variables instead of being part of the type schemes like it is in the papers I read about row polymorphism, where qu…
-
Trying to annotate `cleanup` with its higher-order stack effect reveals another bug in the row polymorphism implementation:
``` factor
: cleanup' ( ..a try: ( ..a -- ..a ) cleanup-always: ( ..a -- .…