blob: 2b2d260db90c4daad1914211a4e509480feb4609 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
Explanation: You can combine records if they don't share any fields in common,
like this:
┌───────────────────────────────────────────┐
│ { foo = 1, bar = "ABC" } ∧ { baz = True } │
└───────────────────────────────────────────┘
┌────────────────────────────────────────┐
│ λ(r : { baz : Bool}) → { foo = 1 } ∧ r │
└────────────────────────────────────────┘
... but you cannot merge two records that share the same field
For example, the following expression is $_NOT valid:
┌───────────────────────────────────────────┐
│ { foo = 1, bar = "ABC" } ∧ { foo = True } │ Invalid: Colliding ❰foo❱ fields
└───────────────────────────────────────────┘
You combined two records that share the following field:
↳ $txt0
... which is not allowed
Some common reasons why you might get this error:
● You tried to use ❰∧❱ to update a field's value, like this:
┌────────────────────────────────────────┐
│ { foo = 1, bar = "ABC" } ∧ { foo = 2 } │
└────────────────────────────────────────┘
⇧
Invalid attempt to update ❰foo❱'s value to ❰2❱
Field updates are intentionally not allowed as the Dhall language discourages
patch-oriented programming
|