| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This introduces an external function for HashMaps to perform an outer
join so that you can do a unionWith but with more power by having a new
tagert type.
Using outer_join and recursively looking through records of records we
have an implementation for combining records.
|
|\ \ \
| | |/
| |/| |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The implementation checks the types and kinds of the LHS and RHS.
In the happy path it unions the HashMap prefering keys on the RHS over
the LHS, and the result is the type of the resulting HashMap.
The error cases are:
- If the kinds of the records differ it results in a RecordMismatch error.
- If either the LHS or RHS are not records it results in a
MustCombineRecord error.
|
|/
|
|
|
|
|
|
|
|
| |
The implementation brings with it intersection_with_key over HashMaps to
help with the type checking of records of records.
The implementation first checks that the Const values line up with the
LHS and RHS. Then checks that combining the records does not result in a
FieldCollision. It will finally return the shared Const type of the
arguments.
|
|
|
|
| |
Closes #39
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|