hydra-python 0.17.5__tar.gz → 0.17.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hydra_python-0.17.5 → hydra_python-0.17.7}/.gitignore +3 -0
- {hydra_python-0.17.5 → hydra_python-0.17.7}/PKG-INFO +3 -3
- {hydra_python-0.17.5 → hydra_python-0.17.7}/README.md +1 -1
- hydra_python-0.17.7/build/main/digest.json +276 -0
- {hydra_python-0.17.5 → hydra_python-0.17.7}/pyproject.toml +2 -2
- {hydra_python-0.17.5 → hydra_python-0.17.7}/src/main/python/hydra/dsl/python/utils.py +3 -0
- {hydra_python-0.17.5 → hydra_python-0.17.7}/src/main/python/hydra/python/coder.py +46 -36
- {hydra_python-0.17.5 → hydra_python-0.17.7}/src/main/python/hydra/python/serde.py +6 -6
- {hydra_python-0.17.5 → hydra_python-0.17.7}/src/main/python/hydra/python/testing.py +1 -1
- {hydra_python-0.17.5 → hydra_python-0.17.7}/src/main/python/hydra/python/utils.py +106 -30
- hydra_python-0.17.5/build/main/digest.json +0 -123
- {hydra_python-0.17.5 → hydra_python-0.17.7}/LICENSE +0 -0
- {hydra_python-0.17.5 → hydra_python-0.17.7}/NOTICE +0 -0
- {hydra_python-0.17.5 → hydra_python-0.17.7}/src/main/python/hydra/dsl/python/environment.py +0 -0
- {hydra_python-0.17.5 → hydra_python-0.17.7}/src/main/python/hydra/dsl/python/names.py +0 -0
- {hydra_python-0.17.5 → hydra_python-0.17.7}/src/main/python/hydra/dsl/python/syntax.py +0 -0
- {hydra_python-0.17.5 → hydra_python-0.17.7}/src/main/python/hydra/python/environment.py +0 -0
- {hydra_python-0.17.5 → hydra_python-0.17.7}/src/main/python/hydra/python/language.py +0 -0
- {hydra_python-0.17.5 → hydra_python-0.17.7}/src/main/python/hydra/python/names.py +0 -0
- {hydra_python-0.17.5 → hydra_python-0.17.7}/src/main/python/hydra/python/pyproject.py +0 -0
- {hydra_python-0.17.5 → hydra_python-0.17.7}/src/main/python/hydra/python/syntax.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: hydra-python
|
|
3
|
-
Version: 0.17.
|
|
3
|
+
Version: 0.17.7
|
|
4
4
|
Summary: Python support for Hydra
|
|
5
5
|
Project-URL: Homepage, https://github.com/CategoricalData/hydra
|
|
6
6
|
Project-URL: Repository, https://github.com/CategoricalData/hydra
|
|
@@ -9,7 +9,7 @@ License: Apache-2.0
|
|
|
9
9
|
License-File: LICENSE
|
|
10
10
|
License-File: NOTICE
|
|
11
11
|
Requires-Python: >=3.12
|
|
12
|
-
Requires-Dist: hydra-kernel==0.17.
|
|
12
|
+
Requires-Dist: hydra-kernel==0.17.7
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
|
|
15
15
|
# Hydra-Python
|
|
@@ -398,7 +398,7 @@ of kwargs + explicit `field()`.
|
|
|
398
398
|
```python
|
|
399
399
|
@hydra_element(my_module, type_=T.function(T.int32(), T.string()))
|
|
400
400
|
def show_number(x):
|
|
401
|
-
return Strings.
|
|
401
|
+
return Strings.print_int32(x)
|
|
402
402
|
```
|
|
403
403
|
|
|
404
404
|
Idiomatic Python metadata mechanism. Risk: users may expect the
|
|
@@ -384,7 +384,7 @@ of kwargs + explicit `field()`.
|
|
|
384
384
|
```python
|
|
385
385
|
@hydra_element(my_module, type_=T.function(T.int32(), T.string()))
|
|
386
386
|
def show_number(x):
|
|
387
|
-
return Strings.
|
|
387
|
+
return Strings.print_int32(x)
|
|
388
388
|
```
|
|
389
389
|
|
|
390
390
|
Idiomatic Python metadata mechanism. Risk: users may expect the
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
{
|
|
2
|
+
"digestFormatVersion": 2,
|
|
3
|
+
"moduleFormatVersion": 1,
|
|
4
|
+
"generator": "7abcbab265fa1310",
|
|
5
|
+
"generation": {
|
|
6
|
+
"generatorId": "7abcbab265fa1310",
|
|
7
|
+
"mode": "published",
|
|
8
|
+
"host": "python",
|
|
9
|
+
"hydraVersion": "0.17.6",
|
|
10
|
+
"revision": "424d7c2260-dirty",
|
|
11
|
+
"timestamp": "2026-09-14T21:55:11Z"
|
|
12
|
+
},
|
|
13
|
+
"selfHash": "0736daac9936e0be4ec8f8e13bd081a5acb6d26caf193636363c966326e87aba",
|
|
14
|
+
"dependencyHashes": [
|
|
15
|
+
{
|
|
16
|
+
"key": "hydra-kernel",
|
|
17
|
+
"value": "9a236485c2eb5ac6a517d66ab064b143ae6439d323f9968a1670a4d690c594cf"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"inputs": [
|
|
21
|
+
{
|
|
22
|
+
"key": "hydra.python.coder",
|
|
23
|
+
"value": {
|
|
24
|
+
"kind": "other",
|
|
25
|
+
"hash": "2dcd40ec0777229e853704eb332bfbbf9790b70534b5e47fb11fb9be4996d22c"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"key": "hydra.python.environment",
|
|
30
|
+
"value": {
|
|
31
|
+
"kind": "other",
|
|
32
|
+
"hash": "c9fcaea745fbec176e40ba1f5015539afccce08dd9d64357c092b00a74b0ead7"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"key": "hydra.python.language",
|
|
37
|
+
"value": {
|
|
38
|
+
"kind": "other",
|
|
39
|
+
"hash": "023abc0b7f14a46a8ce25a51434878a81aae06093abb0c4bdc56e284a886de0b"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"key": "hydra.python.names",
|
|
44
|
+
"value": {
|
|
45
|
+
"kind": "other",
|
|
46
|
+
"hash": "309082902048042e83e9518bdad597cfbdc001400e5f21db59dfa13bb9f35f57"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"key": "hydra.python.pyproject",
|
|
51
|
+
"value": {
|
|
52
|
+
"kind": "other",
|
|
53
|
+
"hash": "881be5b9c94d452c99cbe3478f0f0bef48ce0662aa9f9b2591ddff8fef21548b"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"key": "hydra.python.serde",
|
|
58
|
+
"value": {
|
|
59
|
+
"kind": "other",
|
|
60
|
+
"hash": "c2f329584d68b5d1eacac7a8336bce84bef18b2ec728edceea8cd59bc4cbb45c"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"key": "hydra.python.syntax",
|
|
65
|
+
"value": {
|
|
66
|
+
"kind": "other",
|
|
67
|
+
"hash": "e98016197157f4afaab53d70d18bbbb107951e241e6ef87dbaed78eb7645ffcc"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"key": "hydra.python.testing",
|
|
72
|
+
"value": {
|
|
73
|
+
"kind": "other",
|
|
74
|
+
"hash": "8ab02cc21789bdae2221b90bc5664e1617b8d8cf93adea1f619fee05526c9267"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"key": "hydra.python.utils",
|
|
79
|
+
"value": {
|
|
80
|
+
"kind": "other",
|
|
81
|
+
"hash": "12d519e0d4e915452b962c16e7e45ec98f444dcc1cb4ee22a2a6c489db17c377"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"key": "jsonContent:hydra/dsl/python/environment.json",
|
|
86
|
+
"value": {
|
|
87
|
+
"kind": "other",
|
|
88
|
+
"hash": "c4915d2516067b18ce5b16a8464a47d5a59ba1376932e3987b6df607f7aebfd7"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"key": "jsonContent:hydra/dsl/python/names.json",
|
|
93
|
+
"value": {
|
|
94
|
+
"kind": "other",
|
|
95
|
+
"hash": "d3adb9f3e1d12ac227bb5d702b09dc4ce5efe88d2defddd94ec4b123dbf90a36"
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"key": "jsonContent:hydra/dsl/python/syntax.json",
|
|
100
|
+
"value": {
|
|
101
|
+
"kind": "other",
|
|
102
|
+
"hash": "54bdb29075c43afb543364420ff57de57a9c20188ad6d3f91581181a466fd2fa"
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"key": "jsonContent:hydra/dsl/python/utils.json",
|
|
107
|
+
"value": {
|
|
108
|
+
"kind": "other",
|
|
109
|
+
"hash": "3314f432e6d4003d2afe84ff2b24ddb84e1589255dd8ef4a7774a5eff07bd84a"
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"key": "jsonContent:hydra/python/coder.json",
|
|
114
|
+
"value": {
|
|
115
|
+
"kind": "other",
|
|
116
|
+
"hash": "a2b430eceb6212d2c2d4185aa3ca961c8992a8eea0f2b45317ae632f00802947"
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"key": "jsonContent:hydra/python/environment.json",
|
|
121
|
+
"value": {
|
|
122
|
+
"kind": "other",
|
|
123
|
+
"hash": "ac3e37f8a17ae29d2ef98d7a3b2ce2eaba7eec1bde18caeb9a28e94162ea4d19"
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"key": "jsonContent:hydra/python/language.json",
|
|
128
|
+
"value": {
|
|
129
|
+
"kind": "other",
|
|
130
|
+
"hash": "657c83931d77ee5efd92b5e7fc25d50aef2ebbf14b834293af0f56a107b914ff"
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"key": "jsonContent:hydra/python/names.json",
|
|
135
|
+
"value": {
|
|
136
|
+
"kind": "other",
|
|
137
|
+
"hash": "15523ffcae2f183b2e1282cafa98a8fb7ffb063bf3be597200afa449392bf6e5"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"key": "jsonContent:hydra/python/pyproject.json",
|
|
142
|
+
"value": {
|
|
143
|
+
"kind": "other",
|
|
144
|
+
"hash": "d2da2c56f2ef83033e3ec7e9e81db072413d4ea295c7884efcb4b10ab73d564e"
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"key": "jsonContent:hydra/python/serde.json",
|
|
149
|
+
"value": {
|
|
150
|
+
"kind": "other",
|
|
151
|
+
"hash": "4b39e1786bd38ceb73525956e73f5bdc24e7e2085ebcfc53682209de3057012e"
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"key": "jsonContent:hydra/python/syntax.json",
|
|
156
|
+
"value": {
|
|
157
|
+
"kind": "other",
|
|
158
|
+
"hash": "d6b15c193027c2f9cb381a4a8ecdb9541ce7f863b645d996923e7549c34796e0"
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"key": "jsonContent:hydra/python/testing.json",
|
|
163
|
+
"value": {
|
|
164
|
+
"kind": "other",
|
|
165
|
+
"hash": "f8564336b36351b02f733b8b6c132b842b42b8e908e31d18bd45e086d9c6abec"
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"key": "jsonContent:hydra/python/utils.json",
|
|
170
|
+
"value": {
|
|
171
|
+
"kind": "other",
|
|
172
|
+
"hash": "619771b6c8cfa4ac80c27dedba674978470f5846c8575bb3c7b60a1661ce2df4"
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"key": "jsonContent:manifest.json",
|
|
177
|
+
"value": {
|
|
178
|
+
"kind": "other",
|
|
179
|
+
"hash": "3f94b521766d042381d7bee84596308ea4e35c7e8fb45f8fd8338a8dbe27a0ac"
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
],
|
|
183
|
+
"outputs": [
|
|
184
|
+
{
|
|
185
|
+
"key": "hydra/dsl/python/environment.py",
|
|
186
|
+
"value": {
|
|
187
|
+
"kind": "targetFile",
|
|
188
|
+
"hash": "17b22fcaf759f776c959d41a749f506ff3c302815791e189a506c3f1af344f2c"
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"key": "hydra/dsl/python/names.py",
|
|
193
|
+
"value": {
|
|
194
|
+
"kind": "targetFile",
|
|
195
|
+
"hash": "c571b01c5d149d3e6f587ef4524c5b065dae0ffba1b44617197f68fc1a6122fb"
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"key": "hydra/dsl/python/syntax.py",
|
|
200
|
+
"value": {
|
|
201
|
+
"kind": "targetFile",
|
|
202
|
+
"hash": "5fe1c0c739cdac68d1b90d768153e23ebe7c805bafb96ac698a95425e2d7d7b5"
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"key": "hydra/dsl/python/utils.py",
|
|
207
|
+
"value": {
|
|
208
|
+
"kind": "targetFile",
|
|
209
|
+
"hash": "faf969debba4f9484e9e758a0d0eef2ec5255a757b368b8c593adf9b567fa56b"
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"key": "hydra/python/coder.py",
|
|
214
|
+
"value": {
|
|
215
|
+
"kind": "targetFile",
|
|
216
|
+
"hash": "b9e4d3a6b7975300ca9f51880df233283797d5dddee65fe2dbb23ba24fd23830"
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"key": "hydra/python/environment.py",
|
|
221
|
+
"value": {
|
|
222
|
+
"kind": "targetFile",
|
|
223
|
+
"hash": "1036eb9d285ba3e98c85095820f2e77900334340c9f0223fd4dfd6b3e847f4df"
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"key": "hydra/python/language.py",
|
|
228
|
+
"value": {
|
|
229
|
+
"kind": "targetFile",
|
|
230
|
+
"hash": "7ea0c3a6015ec1de92aebeed0963c1af9f3b70c8d57815e477c528c795383604"
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"key": "hydra/python/names.py",
|
|
235
|
+
"value": {
|
|
236
|
+
"kind": "targetFile",
|
|
237
|
+
"hash": "3e8498f205a99ebfaa570a44ccac515b69ced9d7f3669a32f74d4d05d48204b6"
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"key": "hydra/python/pyproject.py",
|
|
242
|
+
"value": {
|
|
243
|
+
"kind": "targetFile",
|
|
244
|
+
"hash": "1f9001d8d2273d4783105e099b874c273ce520b58456f9b447cb8d5e9a6a37d7"
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"key": "hydra/python/serde.py",
|
|
249
|
+
"value": {
|
|
250
|
+
"kind": "targetFile",
|
|
251
|
+
"hash": "1f36ea2dc8c50df72abe464cd395689c71f0af70a9f78e68d26013f9b436c383"
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"key": "hydra/python/syntax.py",
|
|
256
|
+
"value": {
|
|
257
|
+
"kind": "targetFile",
|
|
258
|
+
"hash": "24a72af882b47d80cc930f16f51a3e9c1a71c9d8da47a921829f40e847459fca"
|
|
259
|
+
}
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"key": "hydra/python/testing.py",
|
|
263
|
+
"value": {
|
|
264
|
+
"kind": "targetFile",
|
|
265
|
+
"hash": "5c8f352d976eeeebf14974e9df208b53c8db59810fdbd76e6454868627122635"
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"key": "hydra/python/utils.py",
|
|
270
|
+
"value": {
|
|
271
|
+
"kind": "targetFile",
|
|
272
|
+
"hash": "28508cfe1fa312c169c894bda18a920092fb8ce708d22f5bd76d7576527935e1"
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
]
|
|
276
|
+
}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
[project]
|
|
15
15
|
name = "hydra-python"
|
|
16
|
-
version = "0.17.
|
|
16
|
+
version = "0.17.7"
|
|
17
17
|
description = "Python support for Hydra"
|
|
18
18
|
readme = "README.md"
|
|
19
19
|
requires-python = ">=3.12"
|
|
@@ -22,7 +22,7 @@ authors = [
|
|
|
22
22
|
{ name = "Joshua Shinavier", email = "josh@fortytwo.net" },
|
|
23
23
|
]
|
|
24
24
|
dependencies = [
|
|
25
|
-
"hydra-kernel == 0.17.
|
|
25
|
+
"hydra-kernel == 0.17.7",
|
|
26
26
|
]
|
|
27
27
|
|
|
28
28
|
[project.urls]
|
|
@@ -59,6 +59,9 @@ def comment_statement(arg0: hydra.typed.TypedTerm[str]) -> hydra.typed.TypedTerm
|
|
|
59
59
|
return hydra.typed.TypedTerm(cast(hydra.core.Term,
|
|
60
60
|
hydra.core.TermApplication(hydra.core.Application(cast(hydra.core.Term, hydra.core.TermVariable(hydra.core.Name("hydra.python.utils.commentStatement"))), arg0.value))))
|
|
61
61
|
|
|
62
|
+
# DSL reference to hydra.python.utils.decimalVariantMethods.
|
|
63
|
+
decimal_variant_methods = hydra.typed.TypedTerm(cast(hydra.core.Term, hydra.core.TermVariable(hydra.core.Name("hydra.python.utils.decimalVariantMethods"))))
|
|
64
|
+
|
|
62
65
|
def decode_py_comparison_to_py_await_primary(arg0: hydra.typed.TypedTerm[hydra.python.syntax.Comparison]) -> hydra.typed.TypedTerm[Optional[hydra.python.syntax.Primary]]:
|
|
63
66
|
r"""DSL reference to hydra.python.utils.decodePyComparisonToPyAwaitPrimary."""
|
|
64
67
|
|
|
@@ -8,6 +8,7 @@ from decimal import Decimal
|
|
|
8
8
|
from functools import lru_cache
|
|
9
9
|
from hydra.overlay.python.dsl.python import Either, Given, Left, None_, Optional, Right
|
|
10
10
|
from hydra.overlay.python.util import ConsList, Lazy, PersistentMap, PersistentSet
|
|
11
|
+
from hydra.overlay.python.util._decimal import decimal_node_eq, decimal_node_hash
|
|
11
12
|
from typing import TypeVar, cast
|
|
12
13
|
import hydra.analysis
|
|
13
14
|
import hydra.annotations
|
|
@@ -343,7 +344,7 @@ def deduplicate_case_variables(cases_: Sequence[hydra.core.CaseAlternative]) ->
|
|
|
343
344
|
(lambda : (hydra.overlay.python.lib.maps.insert(v, 1, count_by_name()), hydra.overlay.python.lib.lists.cons(field, done()))),
|
|
344
345
|
(lambda count: (
|
|
345
346
|
count2 := Lazy((lambda : hydra.overlay.python.lib.math.add(count, 1))),
|
|
346
|
-
v2 := Lazy((lambda : hydra.core.Name(hydra.overlay.python.lib.strings.concat2(v.value, hydra.overlay.python.lib.literals.
|
|
347
|
+
v2 := Lazy((lambda : hydra.core.Name(hydra.overlay.python.lib.strings.concat2(v.value, hydra.overlay.python.lib.literals.print_int32(count2.get()))))),
|
|
347
348
|
new_body := Lazy((lambda : hydra.reduction.alpha_convert(v, v2.get(), body))),
|
|
348
349
|
new_lam := Lazy((lambda : hydra.core.Lambda(v2.get(), mdom, new_body.get()))),
|
|
349
350
|
new_term := Lazy((lambda : cast(hydra.core.Term, hydra.core.TermLambda(new_lam.get())))),
|
|
@@ -444,7 +445,7 @@ def encode_float_value_py_special_float(value: str) -> hydra.python.syntax.Expre
|
|
|
444
445
|
ConsList.of(hydra.python.utils.single_quoted_string(value)))
|
|
445
446
|
|
|
446
447
|
def encode_float_value_encode_float32(v: float) -> Either[T0, hydra.python.syntax.Expression]:
|
|
447
|
-
s = Lazy((lambda : hydra.overlay.python.lib.literals.
|
|
448
|
+
s = Lazy((lambda : hydra.overlay.python.lib.literals.print_float32(v)))
|
|
448
449
|
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.equality.equal(s(), "NaN"),
|
|
449
450
|
(lambda : Right(encode_float_value_py_special_float("nan"))),
|
|
450
451
|
(lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.equality.equal(s(), "Infinity"),
|
|
@@ -455,7 +456,7 @@ def encode_float_value_encode_float32(v: float) -> Either[T0, hydra.python.synta
|
|
|
455
456
|
hydra.python.syntax.AtomNumber(cast(hydra.python.syntax.Number, hydra.python.syntax.NumberFloat(hydra.overlay.python.lib.literals.float32_to_float64(v)))))))))))))
|
|
456
457
|
|
|
457
458
|
def encode_float_value_encode_float64(v: float) -> Either[T0, hydra.python.syntax.Expression]:
|
|
458
|
-
s = Lazy((lambda : hydra.overlay.python.lib.literals.
|
|
459
|
+
s = Lazy((lambda : hydra.overlay.python.lib.literals.print_float64(v)))
|
|
459
460
|
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.equality.equal(s(), "NaN"),
|
|
460
461
|
(lambda : Right(encode_float_value_py_special_float("nan"))),
|
|
461
462
|
(lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.equality.equal(s(), "Infinity"),
|
|
@@ -538,7 +539,7 @@ def encode_literal(lit: hydra.core.Literal) -> Either[T0, hydra.python.syntax.Ex
|
|
|
538
539
|
|
|
539
540
|
case hydra.core.LiteralDecimal(value=d):
|
|
540
541
|
return Right(hydra.python.utils.function_call(hydra.python.utils.py_name_to_py_primary(hydra.python.syntax.Name("Decimal")),
|
|
541
|
-
ConsList.of(hydra.python.utils.single_quoted_string(hydra.overlay.python.lib.literals.
|
|
542
|
+
ConsList.of(hydra.python.utils.single_quoted_string(hydra.overlay.python.lib.literals.print_decimal(d)))))
|
|
542
543
|
|
|
543
544
|
case hydra.core.LiteralFloat(value=f):
|
|
544
545
|
return encode_float_value(f)
|
|
@@ -891,7 +892,7 @@ def lazy_dot_get(expr: hydra.python.syntax.Expression) -> hydra.python.syntax.Ex
|
|
|
891
892
|
def make_simple_lambda(arity: int, lhs: hydra.python.syntax.Expression) -> hydra.python.syntax.Expression:
|
|
892
893
|
r"""Wrap a bare reference to a polymorphic function in an uncurried lambda."""
|
|
893
894
|
|
|
894
|
-
args = Lazy((lambda : hydra.overlay.python.lib.lists.map((lambda i: hydra.python.syntax.Name(hydra.overlay.python.lib.strings.concat2("x", hydra.overlay.python.lib.literals.
|
|
895
|
+
args = Lazy((lambda : hydra.overlay.python.lib.lists.map((lambda i: hydra.python.syntax.Name(hydra.overlay.python.lib.strings.concat2("x", hydra.overlay.python.lib.literals.print_int32(i)))),
|
|
895
896
|
hydra.overlay.python.lib.math.range_(1, hydra.overlay.python.lib.math.add(arity, 1)))))
|
|
896
897
|
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.equality.equal(arity, 0),
|
|
897
898
|
(lambda : lhs),
|
|
@@ -945,7 +946,7 @@ args: Sequence[hydra.python.syntax.Expression]) -> Either[hydra.errors.Error, hy
|
|
|
945
946
|
as_function_call = Lazy((lambda : hydra.python.utils.function_call(hydra.python.utils.py_name_to_py_primary(hydra.python.names.encode_name(True, hydra.util.CaseConvention.LOWER_SNAKE, env, name)),
|
|
946
947
|
args)))
|
|
947
948
|
as_lazy_call = Lazy((lambda : hydra.python.utils.function_call(hydra.python.utils.py_expression_to_py_primary(lazy_dot_get(as_variable())), args)))
|
|
948
|
-
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.
|
|
949
|
+
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.is_empty(args)),
|
|
949
950
|
(lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.sets.member(name, inline_vars),
|
|
950
951
|
(lambda : Right(as_lazy_call())),
|
|
951
952
|
(lambda : hydra.overlay.python.lib.optionals.match(hydra.lexical.lookup_primitive(g(), name),
|
|
@@ -957,7 +958,7 @@ args: Sequence[hydra.python.syntax.Expression]) -> Either[hydra.errors.Error, hy
|
|
|
957
958
|
(lambda : (
|
|
958
959
|
num_remaining := Lazy((lambda : hydra.overlay.python.lib.math.sub(prim_arity.get(), hydra.overlay.python.lib.lists.length(args)))),
|
|
959
960
|
(
|
|
960
|
-
remaining_params := Lazy((lambda : hydra.overlay.python.lib.lists.map((lambda i: hydra.python.syntax.Name(hydra.overlay.python.lib.strings.concat2("x", hydra.overlay.python.lib.literals.
|
|
961
|
+
remaining_params := Lazy((lambda : hydra.overlay.python.lib.lists.map((lambda i: hydra.python.syntax.Name(hydra.overlay.python.lib.strings.concat2("x", hydra.overlay.python.lib.literals.print_int32(i)))),
|
|
961
962
|
hydra.overlay.python.lib.math.range_(1, hydra.overlay.python.lib.math.add(num_remaining.get(), 1))))),
|
|
962
963
|
(
|
|
963
964
|
remaining_exprs := Lazy((lambda : hydra.overlay.python.lib.lists.map((lambda n: cast(hydra.python.syntax.Expression,
|
|
@@ -1001,7 +1002,7 @@ args: Sequence[hydra.python.syntax.Expression]) -> Either[hydra.errors.Error, hy
|
|
|
1001
1002
|
hydra.overlay.python.lib.logic.not_(el_trivial1.get())),
|
|
1002
1003
|
(lambda : Right(as_function_call())),
|
|
1003
1004
|
(lambda : (
|
|
1004
|
-
as_function_ref := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.
|
|
1005
|
+
as_function_ref := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.is_empty(ts.variables)),
|
|
1005
1006
|
(lambda : make_simple_lambda(hydra.arity.type_arity(ts.body), as_variable())),
|
|
1006
1007
|
(lambda : as_variable())))),
|
|
1007
1008
|
Right(as_function_ref.get()))[1])))))[1]))),
|
|
@@ -1012,7 +1013,7 @@ args: Sequence[hydra.python.syntax.Expression]) -> Either[hydra.errors.Error, hy
|
|
|
1012
1013
|
(lambda : (
|
|
1013
1014
|
ts := Lazy((lambda : hydra.scoping.term_signature_to_type_scheme(prim.definition.signature))),
|
|
1014
1015
|
(
|
|
1015
|
-
as_function_ref := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.
|
|
1016
|
+
as_function_ref := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.is_empty(ts.get().variables)),
|
|
1016
1017
|
(lambda : make_simple_lambda(hydra.arity.type_arity(ts.get().body), as_variable())),
|
|
1017
1018
|
(lambda : as_variable())))),
|
|
1018
1019
|
Right(as_function_ref.get()))[1])[1])))[1]))))))),
|
|
@@ -1022,14 +1023,14 @@ args: Sequence[hydra.python.syntax.Expression]) -> Either[hydra.errors.Error, hy
|
|
|
1022
1023
|
(lambda : (
|
|
1023
1024
|
unwrapped := Lazy((lambda : lazy_dot_get(as_variable()))),
|
|
1024
1025
|
(
|
|
1025
|
-
as_function_ref := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.sets.
|
|
1026
|
+
as_function_ref := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.sets.is_empty(hydra.variables.free_variables_in_type(typ))),
|
|
1026
1027
|
(lambda : make_simple_lambda(hydra.arity.type_arity(typ), unwrapped.get())),
|
|
1027
1028
|
(lambda : unwrapped.get())))),
|
|
1028
1029
|
Right(as_function_ref.get()))[1])[1]),
|
|
1029
1030
|
(lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.maps.member(name, tc_metadata)),
|
|
1030
1031
|
(lambda : hydra.overlay.python.lib.optionals.match(hydra.lexical.lookup_binding(g(), name),
|
|
1031
1032
|
(lambda : (
|
|
1032
|
-
as_function_ref := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.sets.
|
|
1033
|
+
as_function_ref := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.sets.is_empty(hydra.variables.free_variables_in_type(typ))),
|
|
1033
1034
|
(lambda : make_simple_lambda(hydra.arity.type_arity(typ), as_variable())),
|
|
1034
1035
|
(lambda : as_variable())))),
|
|
1035
1036
|
Right(as_function_ref.get()))[1]),
|
|
@@ -1040,7 +1041,7 @@ args: Sequence[hydra.python.syntax.Expression]) -> Either[hydra.errors.Error, hy
|
|
|
1040
1041
|
hydra.overlay.python.lib.logic.not_(el_trivial.get())),
|
|
1041
1042
|
(lambda : Right(as_function_call())),
|
|
1042
1043
|
(lambda : (
|
|
1043
|
-
as_function_ref := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.sets.
|
|
1044
|
+
as_function_ref := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.sets.is_empty(hydra.variables.free_variables_in_type(typ))),
|
|
1044
1045
|
(lambda : make_simple_lambda(hydra.arity.type_arity(typ), as_variable())),
|
|
1045
1046
|
(lambda : as_variable())))),
|
|
1046
1047
|
Right(as_function_ref.get()))[1]))),
|
|
@@ -1048,14 +1049,14 @@ args: Sequence[hydra.python.syntax.Expression]) -> Either[hydra.errors.Error, hy
|
|
|
1048
1049
|
hydra.overlay.python.lib.logic.not_(el_trivial.get())),
|
|
1049
1050
|
(lambda : Right(as_function_call())),
|
|
1050
1051
|
(lambda : (
|
|
1051
|
-
as_function_ref := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.sets.
|
|
1052
|
+
as_function_ref := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.sets.is_empty(hydra.variables.free_variables_in_type(typ))),
|
|
1052
1053
|
(lambda : make_simple_lambda(hydra.arity.type_arity(typ), as_variable())),
|
|
1053
1054
|
(lambda : as_variable())))),
|
|
1054
1055
|
Right(as_function_ref.get()))[1])))))[1]))),
|
|
1055
1056
|
(lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.and_(hydra.overlay.python.lib.equality.equal(hydra.arity.type_arity(typ), 0), hydra.predicates.is_complex_variable(tc, name)),
|
|
1056
1057
|
(lambda : Right(as_function_call())),
|
|
1057
1058
|
(lambda : (
|
|
1058
|
-
as_function_ref := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.sets.
|
|
1059
|
+
as_function_ref := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.sets.is_empty(hydra.variables.free_variables_in_type(typ))),
|
|
1059
1060
|
(lambda : make_simple_lambda(hydra.arity.type_arity(typ), as_variable())),
|
|
1060
1061
|
(lambda : as_variable())))),
|
|
1061
1062
|
Right(as_function_ref.get()))[1]))))))))))))
|
|
@@ -1205,7 +1206,7 @@ rargs: Sequence[hydra.python.syntax.Expression]) -> Either[hydra.errors.Error, t
|
|
|
1205
1206
|
hydra.overlay.python.lib.lists.head(hargs))))
|
|
1206
1207
|
rest_args = Lazy((lambda : hydra.overlay.python.lib.lists.drop(1, hargs)))
|
|
1207
1208
|
def with_rest(e: hydra.python.syntax.Expression) -> hydra.python.syntax.Expression:
|
|
1208
|
-
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
1209
|
+
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(rest_args()),
|
|
1209
1210
|
(lambda : e),
|
|
1210
1211
|
(lambda : hydra.python.utils.function_call(hydra.python.utils.py_expression_to_py_primary(e), rest_args())))
|
|
1211
1212
|
default_case = Lazy((lambda : hydra.overlay.python.lib.eithers.bind(encode_term_inline(cx, env, False, fun),
|
|
@@ -1222,7 +1223,7 @@ rargs: Sequence[hydra.python.syntax.Expression]) -> Either[hydra.errors.Error, t
|
|
|
1222
1223
|
case hydra.core.TermUnwrap():
|
|
1223
1224
|
value_expr = Lazy((lambda : hydra.python.utils.project_from_expression(first_arg(), hydra.python.syntax.Name("value"))))
|
|
1224
1225
|
all_args = Lazy((lambda : hydra.overlay.python.lib.lists.concat2(rest_args(), rargs)))
|
|
1225
|
-
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
1226
|
+
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(all_args()),
|
|
1226
1227
|
(lambda : Right((value_expr(), ConsList.of()))),
|
|
1227
1228
|
(lambda : Right((
|
|
1228
1229
|
hydra.python.utils.function_call(hydra.python.utils.py_expression_to_py_primary(value_expr()), all_args()),
|
|
@@ -1246,7 +1247,7 @@ rargs: Sequence[hydra.python.syntax.Expression]) -> Either[hydra.errors.Error, t
|
|
|
1246
1247
|
consume_count := Lazy((lambda : hydra.overlay.python.lib.ordering.min(el_arity.get(), hydra.overlay.python.lib.lists.length(all_args())))),
|
|
1247
1248
|
consumed_args := Lazy((lambda : hydra.overlay.python.lib.lists.take(consume_count.get(), all_args()))),
|
|
1248
1249
|
remaining_args := Lazy((lambda : hydra.overlay.python.lib.lists.drop(consume_count.get(), all_args()))),
|
|
1249
|
-
hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
1250
|
+
hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(consumed_args.get()),
|
|
1250
1251
|
(lambda : hydra.overlay.python.lib.eithers.bind(encode_variable(cx, env, name, ConsList.of()), (lambda expr: Right((expr, rargs))))),
|
|
1251
1252
|
(lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.sets.member(name, inline_vars),
|
|
1252
1253
|
(lambda : Right((
|
|
@@ -1350,7 +1351,7 @@ def encode_term_inline(cx: hydra.typing.InferenceContext, env: hydra.python.envi
|
|
|
1350
1351
|
(lambda pbody: (
|
|
1351
1352
|
pparams := Lazy((lambda : hydra.overlay.python.lib.lists.map((lambda v1: hydra.python.names.encode_name(False, hydra.util.CaseConvention.LOWER_SNAKE, inner_env.get(), v1)),
|
|
1352
1353
|
params.get()))),
|
|
1353
|
-
hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
1354
|
+
hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(bindings.get()),
|
|
1354
1355
|
(lambda : Right(make_uncurried_lambda(pparams.get(), pbody))),
|
|
1355
1356
|
(lambda : hydra.overlay.python.lib.eithers.bind(hydra.overlay.python.lib.eithers.map_list((lambda v1: encode_binding_as_assignment(cx, False, inner_env.get(), v1)), bindings.get()),
|
|
1356
1357
|
(lambda pbinding_exprs: (
|
|
@@ -1408,7 +1409,7 @@ def encode_term_inline(cx: hydra.typing.InferenceContext, env: hydra.python.envi
|
|
|
1408
1409
|
case hydra.core.TermLet(value=lt):
|
|
1409
1410
|
bindings = lt.bindings
|
|
1410
1411
|
body = lt.body
|
|
1411
|
-
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
1412
|
+
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(bindings),
|
|
1412
1413
|
(lambda : encode_term_inline(cx, env, False, body)),
|
|
1413
1414
|
(lambda : with_let_inline(env,
|
|
1414
1415
|
lt,
|
|
@@ -1799,7 +1800,7 @@ def encode_binding_as(cx: hydra.typing.InferenceContext, env: hydra.python.envir
|
|
|
1799
1800
|
Right(cast(hydra.python.syntax.Statement,
|
|
1800
1801
|
hydra.python.syntax.StatementCompound(cast(hydra.python.syntax.CompoundStatement,
|
|
1801
1802
|
hydra.python.syntax.CompoundStatementFunction(hydra.python.syntax.FunctionDefinition(None_(), func_def_raw.get())))))))[5])))))[5])))[3])))[1]),
|
|
1802
|
-
(lambda csa: hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
1803
|
+
(lambda csa: hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(lambda_params.get()),
|
|
1803
1804
|
(lambda : (
|
|
1804
1805
|
mcs := Lazy((lambda : extract_case_elimination(term1))),
|
|
1805
1806
|
hydra.overlay.python.lib.optionals.match(mcs.get(),
|
|
@@ -1909,7 +1910,7 @@ comment: Optional[str]) -> Either[hydra.errors.Error, hydra.python.syntax.Statem
|
|
|
1909
1910
|
is_complex := Lazy((lambda : hydra.predicates.is_complex_binding(tc.get(), binding.get()))),
|
|
1910
1911
|
is_trivial := Lazy((lambda : hydra.predicates.is_trivial_term(term))),
|
|
1911
1912
|
hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.and_(is_complex.get(), hydra.overlay.python.lib.logic.not_(is_trivial.get())),
|
|
1912
|
-
(lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.and_(hydra.overlay.python.lib.logic.not_(top_level), hydra.overlay.python.lib.lists.
|
|
1913
|
+
(lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.and_(hydra.overlay.python.lib.logic.not_(top_level), hydra.overlay.python.lib.lists.is_empty(params.get())),
|
|
1913
1914
|
(lambda : hydra.overlay.python.lib.eithers.bind(encode_term_inline(cx, env2.get(), False, term),
|
|
1914
1915
|
(lambda body_expr: (
|
|
1915
1916
|
py_name := Lazy((lambda : hydra.python.names.encode_name(False, hydra.util.CaseConvention.LOWER_SNAKE, env2.get(), name))),
|
|
@@ -1931,7 +1932,7 @@ def encode_term_multiline(cx: hydra.typing.InferenceContext, env: hydra.python.e
|
|
|
1931
1932
|
bindings := Lazy((lambda : fs.bindings)),
|
|
1932
1933
|
inner_body := Lazy((lambda : fs.body)),
|
|
1933
1934
|
env2 := Lazy((lambda : fs.environment)),
|
|
1934
|
-
hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
1935
|
+
hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(bindings.get()),
|
|
1935
1936
|
(lambda : hydra.overlay.python.lib.eithers.bind(encode_term_inline(cx, env, False, term), (lambda expr: Right(ConsList.of(hydra.python.utils.return_single(expr)))))),
|
|
1936
1937
|
(lambda : hydra.overlay.python.lib.eithers.bind(hydra.overlay.python.lib.eithers.map_list((lambda v1: encode_binding_as(cx, env2.get(), v1)), bindings.get()),
|
|
1937
1938
|
(lambda binding_stmts: hydra.overlay.python.lib.eithers.bind(encode_term_multiline(cx, env2.get(), inner_body.get()),
|
|
@@ -1988,7 +1989,7 @@ prefixes: Sequence[hydra.python.syntax.Statement]) -> Either[hydra.errors.Error,
|
|
|
1988
1989
|
(lambda py_args: (
|
|
1989
1990
|
py_params := Lazy((lambda : cast(hydra.python.syntax.Parameters,
|
|
1990
1991
|
hydra.python.syntax.ParametersParamNoDefault(hydra.python.syntax.ParamNoDefaultParameters(py_args, ConsList.of(), None_()))))),
|
|
1991
|
-
is_t_c_o := Lazy((lambda : hydra.overlay.python.lib.logic.and_(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.
|
|
1992
|
+
is_t_c_o := Lazy((lambda : hydra.overlay.python.lib.logic.and_(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.is_empty(args)),
|
|
1992
1993
|
hydra.analysis.is_self_tail_recursive(name, body)))),
|
|
1993
1994
|
hydra.overlay.python.lib.eithers.bind(hydra.overlay.python.lib.logic.if_else(is_t_c_o.get(),
|
|
1994
1995
|
(lambda : hydra.overlay.python.lib.eithers.bind(encode_term_multiline_t_c_o(cx, env, name, args, body),
|
|
@@ -2009,7 +2010,7 @@ prefixes: Sequence[hydra.python.syntax.Statement]) -> Either[hydra.errors.Error,
|
|
|
2009
2010
|
py_tparams := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(use_inline_type_params(),
|
|
2010
2011
|
(lambda : hydra.overlay.python.lib.lists.map((lambda arg_: hydra.python.utils.py_name_to_py_type_parameter(hydra.python.names.encode_type_variable(arg_))), tparams)),
|
|
2011
2012
|
(lambda : ConsList.of())))),
|
|
2012
|
-
is_thunk := Lazy((lambda : hydra.overlay.python.lib.lists.
|
|
2013
|
+
is_thunk := Lazy((lambda : hydra.overlay.python.lib.lists.is_empty(args))),
|
|
2013
2014
|
m_decorators := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(is_thunk.get(), (lambda : Given(hydra.python.syntax.Decorators(ConsList.of(lru_cache_decorator())))), (lambda : None_())))),
|
|
2014
2015
|
py_name := Lazy((lambda : hydra.python.names.encode_name(False, hydra.util.CaseConvention.LOWER_SNAKE, env, name))),
|
|
2015
2016
|
Right(cast(hydra.python.syntax.Statement,
|
|
@@ -2050,7 +2051,7 @@ def encode_name_constants(env: hydra.python.environment.PythonEnvironment, name:
|
|
|
2050
2051
|
def generic_arg(tparam_list: Sequence[hydra.core.Name]) -> Optional[hydra.python.syntax.Expression]:
|
|
2051
2052
|
r"""Create Generic[...] argument expression for class definition."""
|
|
2052
2053
|
|
|
2053
|
-
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
2054
|
+
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(tparam_list),
|
|
2054
2055
|
(lambda : None_()),
|
|
2055
2056
|
(lambda : Given(hydra.python.utils.py_primary_to_py_expression(hydra.python.utils.primary_with_expression_slices(cast(hydra.python.syntax.Primary,
|
|
2056
2057
|
hydra.python.syntax.PrimarySimple(cast(hydra.python.syntax.Atom, hydra.python.syntax.AtomName(hydra.python.syntax.Name("Generic"))))),
|
|
@@ -2261,7 +2262,7 @@ def encode_type_quoted(env: hydra.python.environment.PythonEnvironment, typ: hyd
|
|
|
2261
2262
|
r"""Encode a type to a Python expression, quoting if the type has free variables."""
|
|
2262
2263
|
|
|
2263
2264
|
return hydra.overlay.python.lib.eithers.bind(encode_type(env, typ),
|
|
2264
|
-
(lambda pytype: Right(hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.sets.
|
|
2265
|
+
(lambda pytype: Right(hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.sets.is_empty(hydra.variables.free_variables_in_type(typ)),
|
|
2265
2266
|
(lambda : pytype),
|
|
2266
2267
|
(lambda : hydra.python.utils.double_quoted_string(hydra.serialization.print_expr(hydra.python.serde.expression_to_expr(pytype))))))))
|
|
2267
2268
|
|
|
@@ -2289,17 +2290,21 @@ def encode_union_field(cx: T0, env: hydra.python.environment.PythonEnvironment,
|
|
|
2289
2290
|
return hydra.overlay.python.lib.eithers.bind(hydra.annotations.get_type_description(cx, python_environment_get_graph(env), ftype),
|
|
2290
2291
|
(lambda fcomment: (
|
|
2291
2292
|
is_unit := Lazy((lambda : hydra.overlay.python.lib.equality.equal(hydra.strip.deannotate_type(ftype), cast(hydra.core.Type, hydra.core.TypeUnit())))),
|
|
2293
|
+
is_decimal := Lazy((lambda : hydra.overlay.python.lib.equality.equal(hydra.strip.deannotate_type(ftype),
|
|
2294
|
+
cast(hydra.core.Type, hydra.core.TypeLiteral(cast(hydra.core.LiteralType, hydra.core.LiteralTypeDecimal())))))),
|
|
2292
2295
|
var_name := Lazy((lambda : deconflict_variant_name(False, env, union_name, fname, env.graph))),
|
|
2293
2296
|
tparam_names := Lazy((lambda : find_type_params(env, ftype))),
|
|
2294
2297
|
tparam_py_names := Lazy((lambda : hydra.overlay.python.lib.lists.map((lambda x1: hydra.python.names.encode_type_variable(x1)), tparam_names.get()))),
|
|
2295
2298
|
field_params := Lazy((lambda : hydra.overlay.python.lib.lists.map((lambda x1: hydra.python.utils.py_name_to_py_type_parameter(x1)), tparam_py_names.get()))),
|
|
2296
2299
|
body := Lazy((lambda : hydra.overlay.python.lib.logic.if_else(is_unit.get(),
|
|
2297
2300
|
(lambda : hydra.python.utils.indented_block(fcomment, ConsList.of(hydra.python.utils.unit_variant_methods(var_name.get())))),
|
|
2298
|
-
(lambda : hydra.python.
|
|
2301
|
+
(lambda : hydra.overlay.python.lib.logic.if_else(is_decimal.get(),
|
|
2302
|
+
(lambda : hydra.python.utils.indented_block(fcomment, ConsList.of(hydra.python.utils.decimal_variant_methods()))),
|
|
2303
|
+
(lambda : hydra.python.utils.indented_block(fcomment, ConsList.of()))))))),
|
|
2299
2304
|
hydra.overlay.python.lib.eithers.bind(hydra.overlay.python.lib.logic.if_else(is_unit.get(),
|
|
2300
2305
|
(lambda : Right(None_())),
|
|
2301
2306
|
(lambda : hydra.overlay.python.lib.eithers.bind(encode_type_quoted(env, ftype), (lambda quoted_type: Right(Given(variant_args(quoted_type, ConsList.of()))))))),
|
|
2302
|
-
(lambda margs: Right(hydra.python.utils.py_class_definition_to_py_statement(hydra.python.syntax.ClassDefinition(None_(), var_name.get(), field_params.get(), margs, body.get()))))))[
|
|
2307
|
+
(lambda margs: Right(hydra.python.utils.py_class_definition_to_py_statement(hydra.python.syntax.ClassDefinition(None_(), var_name.get(), field_params.get(), margs, body.get()))))))[7]))
|
|
2303
2308
|
|
|
2304
2309
|
def encode_union_field_alt(env: hydra.python.environment.PythonEnvironment, union_name: hydra.core.Name, field_type: hydra.core.FieldType) -> hydra.python.syntax.Primary:
|
|
2305
2310
|
r"""Encode a union field as a primary expression for | alternatives."""
|
|
@@ -2309,7 +2314,7 @@ def encode_union_field_alt(env: hydra.python.environment.PythonEnvironment, unio
|
|
|
2309
2314
|
tparam_names = Lazy((lambda : find_type_params(env, ftype)))
|
|
2310
2315
|
tparams = Lazy((lambda : hydra.overlay.python.lib.lists.map((lambda x1: hydra.python.names.encode_type_variable(x1)), tparam_names())))
|
|
2311
2316
|
name_prim = Lazy((lambda : hydra.python.utils.py_name_to_py_primary(hydra.python.names.variant_name(False, env, union_name, fname))))
|
|
2312
|
-
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
2317
|
+
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(tparams()),
|
|
2313
2318
|
(lambda : name_prim()),
|
|
2314
2319
|
(lambda : (
|
|
2315
2320
|
tparam_exprs := Lazy((lambda : hydra.overlay.python.lib.lists.map((lambda x1: hydra.python.utils.py_name_to_py_expression(x1)), tparams()))),
|
|
@@ -2448,7 +2453,9 @@ def encode_definition(cx: hydra.typing.InferenceContext, env: hydra.python.envir
|
|
|
2448
2453
|
name = td.name
|
|
2449
2454
|
term = td.body
|
|
2450
2455
|
typ = Lazy((lambda : hydra.overlay.python.lib.optionals.match(td.signature,
|
|
2451
|
-
(lambda : hydra.core.TypeScheme(ConsList.of(),
|
|
2456
|
+
(lambda : hydra.core.TypeScheme(ConsList.of(),
|
|
2457
|
+
cast(hydra.core.Type, hydra.core.TypeVariable(hydra.core.Name("hydra.core.Unit"))),
|
|
2458
|
+
hydra.overlay.python.lib.maps.empty())),
|
|
2452
2459
|
(lambda sig: hydra.scoping.term_signature_to_type_scheme(sig)))))
|
|
2453
2460
|
return hydra.overlay.python.lib.eithers.bind(hydra.annotations.get_term_description(cx, python_environment_get_graph(env), term),
|
|
2454
2461
|
(lambda comment: (
|
|
@@ -2818,7 +2825,7 @@ def extend_meta_for_type(top_level: bool, is_term_annot: bool, typ: hydra.core.T
|
|
|
2818
2825
|
case hydra.core.TypeUnion(value=rt):
|
|
2819
2826
|
return hydra.overlay.python.lib.logic.if_else(hydra.predicates.is_enum_row_type(rt),
|
|
2820
2827
|
(lambda : set_meta_uses_enum(meta_with_subtypes(), True)),
|
|
2821
|
-
(lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.
|
|
2828
|
+
(lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.is_empty(rt)),
|
|
2822
2829
|
(lambda : set_meta_uses_node(meta_with_subtypes(), True)),
|
|
2823
2830
|
(lambda : meta_with_subtypes()))))
|
|
2824
2831
|
|
|
@@ -2836,7 +2843,7 @@ def extend_meta_for_type(top_level: bool, is_term_annot: bool, typ: hydra.core.T
|
|
|
2836
2843
|
|
|
2837
2844
|
case hydra.core.TypeRecord(value=rt2):
|
|
2838
2845
|
has_annotated = Lazy((lambda : hydra.overlay.python.lib.lists.foldl((lambda b, ft: hydra.overlay.python.lib.logic.or_(b, hydra.annotations.has_type_description(ft.type))), False, rt2)))
|
|
2839
|
-
meta1 = Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
2846
|
+
meta1 = Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(rt2),
|
|
2840
2847
|
(lambda : meta_with_subtypes()),
|
|
2841
2848
|
(lambda : set_meta_uses_dataclass(meta_with_subtypes(), True)))))
|
|
2842
2849
|
return hydra.overlay.python.lib.logic.if_else(has_annotated(), (lambda : set_meta_uses_annotated(meta1(), True)), (lambda : meta1()))
|
|
@@ -3126,7 +3133,7 @@ def gather_metadata(overlay_subs: Set[str], focus_ns: hydra.packaging.ModuleName
|
|
|
3126
3133
|
result = Lazy((lambda : hydra.overlay.python.lib.lists.foldl((lambda x1, x2: add_def(x1, x2)), start(), defs)))
|
|
3127
3134
|
tvars = result().type_variables
|
|
3128
3135
|
result2 = Lazy((lambda : set_meta_uses_cast(True, set_meta_uses_lru_cache(True, result()))))
|
|
3129
|
-
return set_meta_uses_type_var(result2(), hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.sets.
|
|
3136
|
+
return set_meta_uses_type_var(result2(), hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.sets.is_empty(tvars)))
|
|
3130
3137
|
|
|
3131
3138
|
# The target Python version for code generation.
|
|
3132
3139
|
target_python_version = hydra.python.utils.target_python_version
|
|
@@ -3153,7 +3160,7 @@ def is_type_module_check(defs: Sequence[hydra.packaging.Definition]) -> bool:
|
|
|
3153
3160
|
|
|
3154
3161
|
case _:
|
|
3155
3162
|
return False
|
|
3156
|
-
return hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.
|
|
3163
|
+
return hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.is_empty(hydra.overlay.python.lib.lists.filter((lambda d: _hoist_hydra_python_coder_is_type_module_check_1(d)), defs)))
|
|
3157
3164
|
|
|
3158
3165
|
def module_domain_imports(namespaces: hydra.util.ModuleNames[hydra.python.syntax.DottedName]) -> Sequence[hydra.python.syntax.ImportStatement]:
|
|
3159
3166
|
r"""Generate domain import statements from namespace mappings."""
|
|
@@ -3203,6 +3210,9 @@ def module_standard_imports(meta: hydra.python.environment.PythonModuleMetadata)
|
|
|
3203
3210
|
cond_import_symbol("Lazy", True),
|
|
3204
3211
|
cond_import_symbol("PersistentMap", meta.uses_frozen_dict),
|
|
3205
3212
|
cond_import_symbol("PersistentSet", meta.uses_frozen_set))),
|
|
3213
|
+
(
|
|
3214
|
+
"hydra.overlay.python.util._decimal",
|
|
3215
|
+
ConsList.of(cond_import_symbol("decimal_node_eq", meta.uses_decimal), cond_import_symbol("decimal_node_hash", meta.uses_decimal))),
|
|
3206
3216
|
(
|
|
3207
3217
|
"typing",
|
|
3208
3218
|
ConsList.of(cond_import_symbol("Annotated", meta.uses_annotated),
|
|
@@ -3213,7 +3223,7 @@ def module_standard_imports(meta: hydra.python.environment.PythonModuleMetadata)
|
|
|
3213
3223
|
simplified = Lazy((lambda : hydra.overlay.python.lib.optionals.givens(hydra.overlay.python.lib.lists.map((lambda p: (
|
|
3214
3224
|
mod_name := Lazy((lambda : hydra.overlay.python.lib.pairs.first(p))),
|
|
3215
3225
|
symbols := Lazy((lambda : hydra.overlay.python.lib.optionals.givens(hydra.overlay.python.lib.pairs.second(p)))),
|
|
3216
|
-
hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
3226
|
+
hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(symbols.get()),
|
|
3217
3227
|
(lambda : None_()),
|
|
3218
3228
|
(lambda : Given((mod_name.get(), symbols.get())))))[2]),
|
|
3219
3229
|
pairs()))))
|
|
@@ -3318,7 +3328,7 @@ defs0: Sequence[hydra.packaging.Definition]) -> Either[hydra.errors.Error, hydra
|
|
|
3318
3328
|
(lambda : hydra.overlay.python.lib.sets.empty())))),
|
|
3319
3329
|
tvar_stmts := Lazy((lambda : hydra.overlay.python.lib.lists.map((lambda tv: tvar_statement(hydra.python.names.encode_type_variable(tv))),
|
|
3320
3330
|
hydra.overlay.python.lib.sets.to_list(tvars.get())))),
|
|
3321
|
-
body := Lazy((lambda : hydra.overlay.python.lib.lists.filter((lambda group: hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.
|
|
3331
|
+
body := Lazy((lambda : hydra.overlay.python.lib.lists.filter((lambda group: hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.is_empty(group))),
|
|
3322
3332
|
hydra.overlay.python.lib.lists.concat(ConsList.of(ConsList.of(comment_stmts.get(), import_stmts.get(), tvar_stmts.get()), def_stmts))))),
|
|
3323
3333
|
Right(hydra.python.syntax.Module(body.get())))[8]))))
|
|
3324
3334
|
|
|
@@ -89,13 +89,13 @@ def number_to_expr(num: hydra.python.syntax.Number) -> hydra.ast.Expr:
|
|
|
89
89
|
|
|
90
90
|
match num:
|
|
91
91
|
case hydra.python.syntax.NumberFloat(value=f):
|
|
92
|
-
return hydra.serialization.cst(python_float_literal_text(hydra.overlay.python.lib.literals.
|
|
92
|
+
return hydra.serialization.cst(python_float_literal_text(hydra.overlay.python.lib.literals.print_float64(f)))
|
|
93
93
|
|
|
94
94
|
case hydra.python.syntax.NumberImaginary(value=f2):
|
|
95
|
-
return hydra.serialization.cst(hydra.overlay.python.lib.strings.concat2(python_float_literal_text(hydra.overlay.python.lib.literals.
|
|
95
|
+
return hydra.serialization.cst(hydra.overlay.python.lib.strings.concat2(python_float_literal_text(hydra.overlay.python.lib.literals.print_float64(f2)), "j"))
|
|
96
96
|
|
|
97
97
|
case hydra.python.syntax.NumberInteger(value=i):
|
|
98
|
-
return hydra.serialization.cst(hydra.overlay.python.lib.literals.
|
|
98
|
+
return hydra.serialization.cst(hydra.overlay.python.lib.literals.print_bigint(i))
|
|
99
99
|
|
|
100
100
|
case _:
|
|
101
101
|
raise AssertionError("Unreachable: all variants handled")
|
|
@@ -274,7 +274,7 @@ def comparison_to_expr(cmp: hydra.python.syntax.Comparison) -> hydra.ast.Expr:
|
|
|
274
274
|
|
|
275
275
|
lhs = cmp.lhs
|
|
276
276
|
rhs = cmp.rhs
|
|
277
|
-
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
277
|
+
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(rhs),
|
|
278
278
|
(lambda : bitwise_or_to_expr(lhs)),
|
|
279
279
|
(lambda : hydra.serialization.space_sep(hydra.overlay.python.lib.lists.cons(bitwise_or_to_expr(lhs), hydra.overlay.python.lib.lists.map((lambda x1: compare_op_bitwise_or_pair_to_expr(x1)), rhs)))))
|
|
280
280
|
|
|
@@ -882,7 +882,7 @@ def type_alias_to_expr(ta: hydra.python.syntax.TypeAlias) -> hydra.ast.Expr:
|
|
|
882
882
|
tparams = ta.type_params
|
|
883
883
|
expr = ta.expression
|
|
884
884
|
alias = Lazy((lambda : hydra.serialization.no_sep(hydra.overlay.python.lib.optionals.givens(ConsList.of(Given(name_to_expr(name)),
|
|
885
|
-
hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
885
|
+
hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(tparams),
|
|
886
886
|
(lambda : None_()),
|
|
887
887
|
(lambda : Given(hydra.serialization.bracket_list(hydra.serialization.inline_style, hydra.overlay.python.lib.lists.map((lambda x1: type_parameter_to_expr(x1)), tparams))))))))))
|
|
888
888
|
return hydra.serialization.space_sep(ConsList.of(hydra.serialization.cst("type"), alias(), hydra.serialization.cst("="), expression_to_expr(expr)))
|
|
@@ -1249,7 +1249,7 @@ def function_def_raw_to_expr(fdr: hydra.python.syntax.FunctionDefRaw) -> hydra.a
|
|
|
1249
1249
|
ret_type = fdr.return_type
|
|
1250
1250
|
block = fdr.block
|
|
1251
1251
|
async_kw = Lazy((lambda : hydra.overlay.python.lib.logic.if_else(async_, (lambda : Given(hydra.serialization.cst("async"))), (lambda : None_()))))
|
|
1252
|
-
tparam_part = Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
1252
|
+
tparam_part = Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(tparams),
|
|
1253
1253
|
(lambda : None_()),
|
|
1254
1254
|
(lambda : Given(hydra.serialization.bracket_list(hydra.serialization.inline_style, hydra.overlay.python.lib.lists.map((lambda x1: type_parameter_to_expr(x1)), tparams)))))))
|
|
1255
1255
|
param_part = Lazy((lambda : hydra.overlay.python.lib.optionals.map((lambda x1: parameters_to_expr(x1)), params)))
|
|
@@ -49,7 +49,7 @@ def generate_python_test_case(group_path: Sequence[str], tcm: hydra.testing.Test
|
|
|
49
49
|
case hydra.testing.TestCaseUniversal(value=ucase):
|
|
50
50
|
actual_ = Lazy((lambda : ucase.actual(None)))
|
|
51
51
|
expected_ = Lazy((lambda : ucase.expected(None)))
|
|
52
|
-
full_name = Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
52
|
+
full_name = Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(group_path),
|
|
53
53
|
(lambda : name_),
|
|
54
54
|
(lambda : hydra.overlay.python.lib.strings.join("__", hydra.overlay.python.lib.lists.concat2(group_path, ConsList.of(name_)))))))
|
|
55
55
|
formatted_name = Lazy((lambda : format_python_test_name(full_name())))
|
|
@@ -197,6 +197,109 @@ def comment_statement(s: str) -> hydra.python.syntax.Statement:
|
|
|
197
197
|
|
|
198
198
|
return py_expression_to_py_statement(triple_quoted_string(s))
|
|
199
199
|
|
|
200
|
+
def indented_block(mcomment: Optional[str], stmts: Sequence[Sequence[hydra.python.syntax.Statement]]) -> hydra.python.syntax.Block:
|
|
201
|
+
r"""Create an indented block with optional comment."""
|
|
202
|
+
|
|
203
|
+
comment_group = Lazy((lambda : hydra.overlay.python.lib.optionals.match(mcomment, (lambda : ConsList.of()), (lambda s: ConsList.of(comment_statement(s))))))
|
|
204
|
+
groups = Lazy((lambda : hydra.overlay.python.lib.lists.filter((lambda g: hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.is_empty(g))),
|
|
205
|
+
hydra.overlay.python.lib.lists.cons(comment_group(), stmts))))
|
|
206
|
+
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(groups()),
|
|
207
|
+
(lambda : cast(hydra.python.syntax.Block,
|
|
208
|
+
hydra.python.syntax.BlockIndented(ConsList.of(ConsList.of(cast(hydra.python.syntax.Statement,
|
|
209
|
+
hydra.python.syntax.StatementSimple(ConsList.of(py_expression_to_py_simple_statement(py_atom_to_py_expression(cast(hydra.python.syntax.Atom, hydra.python.syntax.AtomEllipsis()))))))))))),
|
|
210
|
+
(lambda : cast(hydra.python.syntax.Block, hydra.python.syntax.BlockIndented(groups()))))
|
|
211
|
+
|
|
212
|
+
@lru_cache(1)
|
|
213
|
+
def self_only_params() -> hydra.python.syntax.Parameters:
|
|
214
|
+
return cast(hydra.python.syntax.Parameters,
|
|
215
|
+
hydra.python.syntax.ParametersParamNoDefault(hydra.python.syntax.ParamNoDefaultParameters(ConsList.of(hydra.python.syntax.ParamNoDefault(hydra.python.syntax.Param(hydra.python.syntax.Name("self"), None_()), None_())),
|
|
216
|
+
ConsList.of(),
|
|
217
|
+
None_())))
|
|
218
|
+
|
|
219
|
+
@lru_cache(1)
|
|
220
|
+
def self_other_params() -> hydra.python.syntax.Parameters:
|
|
221
|
+
return cast(hydra.python.syntax.Parameters,
|
|
222
|
+
hydra.python.syntax.ParametersParamNoDefault(hydra.python.syntax.ParamNoDefaultParameters(ConsList.of(hydra.python.syntax.ParamNoDefault(hydra.python.syntax.Param(hydra.python.syntax.Name("self"), None_()), None_()),
|
|
223
|
+
hydra.python.syntax.ParamNoDefault(hydra.python.syntax.Param(hydra.python.syntax.Name("other"), None_()), None_())),
|
|
224
|
+
ConsList.of(),
|
|
225
|
+
None_())))
|
|
226
|
+
|
|
227
|
+
@lru_cache(1)
|
|
228
|
+
def decimal_variant_methods() -> Sequence[hydra.python.syntax.Statement]:
|
|
229
|
+
r"""Generate __eq__ and __hash__ methods for the Decimal-typed union variant, delegating to hydra.overlay.python.util._decimal (scale-aware per docs/specification/ordering-and-equality.md; Node's generic derivation delegates to Decimal's own scale-blind equality/hash)."""
|
|
230
|
+
|
|
231
|
+
eq_body = Lazy((lambda : py_simple_statement_to_py_statement(cast(hydra.python.syntax.SimpleStatement,
|
|
232
|
+
hydra.python.syntax.SimpleStatementReturn(hydra.python.syntax.ReturnStatement(ConsList.of(cast(hydra.python.syntax.StarExpression,
|
|
233
|
+
hydra.python.syntax.StarExpressionSimple(function_call(cast(hydra.python.syntax.Primary,
|
|
234
|
+
hydra.python.syntax.PrimarySimple(cast(hydra.python.syntax.Atom, hydra.python.syntax.AtomName(hydra.python.syntax.Name("decimal_node_eq"))))),
|
|
235
|
+
ConsList.of(cast(hydra.python.syntax.Expression,
|
|
236
|
+
hydra.python.syntax.ExpressionSimple(hydra.python.syntax.Disjunction(ConsList.of(hydra.python.syntax.Conjunction(ConsList.of(cast(hydra.python.syntax.Inversion,
|
|
237
|
+
hydra.python.syntax.InversionSimple(hydra.python.syntax.Comparison(hydra.python.syntax.BitwiseOr(None_(),
|
|
238
|
+
hydra.python.syntax.BitwiseXor(None_(),
|
|
239
|
+
hydra.python.syntax.BitwiseAnd(None_(),
|
|
240
|
+
hydra.python.syntax.ShiftExpression(None_(),
|
|
241
|
+
hydra.python.syntax.Sum(None_(),
|
|
242
|
+
hydra.python.syntax.Term(None_(),
|
|
243
|
+
cast(hydra.python.syntax.Factor,
|
|
244
|
+
hydra.python.syntax.FactorSimple(hydra.python.syntax.Power(hydra.python.syntax.AwaitPrimary(False,
|
|
245
|
+
cast(hydra.python.syntax.Primary,
|
|
246
|
+
hydra.python.syntax.PrimarySimple(cast(hydra.python.syntax.Atom, hydra.python.syntax.AtomName(hydra.python.syntax.Name("self")))))),
|
|
247
|
+
None_()))))))))),
|
|
248
|
+
ConsList.of()))))))))),
|
|
249
|
+
cast(hydra.python.syntax.Expression,
|
|
250
|
+
hydra.python.syntax.ExpressionSimple(hydra.python.syntax.Disjunction(ConsList.of(hydra.python.syntax.Conjunction(ConsList.of(cast(hydra.python.syntax.Inversion,
|
|
251
|
+
hydra.python.syntax.InversionSimple(hydra.python.syntax.Comparison(hydra.python.syntax.BitwiseOr(None_(),
|
|
252
|
+
hydra.python.syntax.BitwiseXor(None_(),
|
|
253
|
+
hydra.python.syntax.BitwiseAnd(None_(),
|
|
254
|
+
hydra.python.syntax.ShiftExpression(None_(),
|
|
255
|
+
hydra.python.syntax.Sum(None_(),
|
|
256
|
+
hydra.python.syntax.Term(None_(),
|
|
257
|
+
cast(hydra.python.syntax.Factor,
|
|
258
|
+
hydra.python.syntax.FactorSimple(hydra.python.syntax.Power(hydra.python.syntax.AwaitPrimary(False,
|
|
259
|
+
cast(hydra.python.syntax.Primary,
|
|
260
|
+
hydra.python.syntax.PrimarySimple(cast(hydra.python.syntax.Atom, hydra.python.syntax.AtomName(hydra.python.syntax.Name("other")))))),
|
|
261
|
+
None_()))))))))),
|
|
262
|
+
ConsList.of()))))))))))))))))))))
|
|
263
|
+
eq_method = Lazy((lambda : cast(hydra.python.syntax.Statement,
|
|
264
|
+
hydra.python.syntax.StatementCompound(cast(hydra.python.syntax.CompoundStatement,
|
|
265
|
+
hydra.python.syntax.CompoundStatementFunction(hydra.python.syntax.FunctionDefinition(None_(),
|
|
266
|
+
hydra.python.syntax.FunctionDefRaw(False,
|
|
267
|
+
hydra.python.syntax.Name("__eq__"),
|
|
268
|
+
ConsList.of(),
|
|
269
|
+
Given(self_other_params()),
|
|
270
|
+
None_(),
|
|
271
|
+
None_(),
|
|
272
|
+
indented_block(None_(), ConsList.of(ConsList.of(eq_body())))))))))))
|
|
273
|
+
hash_body = Lazy((lambda : py_simple_statement_to_py_statement(cast(hydra.python.syntax.SimpleStatement,
|
|
274
|
+
hydra.python.syntax.SimpleStatementReturn(hydra.python.syntax.ReturnStatement(ConsList.of(cast(hydra.python.syntax.StarExpression,
|
|
275
|
+
hydra.python.syntax.StarExpressionSimple(function_call(cast(hydra.python.syntax.Primary,
|
|
276
|
+
hydra.python.syntax.PrimarySimple(cast(hydra.python.syntax.Atom, hydra.python.syntax.AtomName(hydra.python.syntax.Name("decimal_node_hash"))))),
|
|
277
|
+
ConsList.of(cast(hydra.python.syntax.Expression,
|
|
278
|
+
hydra.python.syntax.ExpressionSimple(hydra.python.syntax.Disjunction(ConsList.of(hydra.python.syntax.Conjunction(ConsList.of(cast(hydra.python.syntax.Inversion,
|
|
279
|
+
hydra.python.syntax.InversionSimple(hydra.python.syntax.Comparison(hydra.python.syntax.BitwiseOr(None_(),
|
|
280
|
+
hydra.python.syntax.BitwiseXor(None_(),
|
|
281
|
+
hydra.python.syntax.BitwiseAnd(None_(),
|
|
282
|
+
hydra.python.syntax.ShiftExpression(None_(),
|
|
283
|
+
hydra.python.syntax.Sum(None_(),
|
|
284
|
+
hydra.python.syntax.Term(None_(),
|
|
285
|
+
cast(hydra.python.syntax.Factor,
|
|
286
|
+
hydra.python.syntax.FactorSimple(hydra.python.syntax.Power(hydra.python.syntax.AwaitPrimary(False,
|
|
287
|
+
cast(hydra.python.syntax.Primary,
|
|
288
|
+
hydra.python.syntax.PrimarySimple(cast(hydra.python.syntax.Atom, hydra.python.syntax.AtomName(hydra.python.syntax.Name("self")))))),
|
|
289
|
+
None_()))))))))),
|
|
290
|
+
ConsList.of()))))))))))))))))))))
|
|
291
|
+
hash_method = Lazy((lambda : cast(hydra.python.syntax.Statement,
|
|
292
|
+
hydra.python.syntax.StatementCompound(cast(hydra.python.syntax.CompoundStatement,
|
|
293
|
+
hydra.python.syntax.CompoundStatementFunction(hydra.python.syntax.FunctionDefinition(None_(),
|
|
294
|
+
hydra.python.syntax.FunctionDefRaw(False,
|
|
295
|
+
hydra.python.syntax.Name("__hash__"),
|
|
296
|
+
ConsList.of(),
|
|
297
|
+
Given(self_only_params()),
|
|
298
|
+
None_(),
|
|
299
|
+
None_(),
|
|
300
|
+
indented_block(None_(), ConsList.of(ConsList.of(hash_body())))))))))))
|
|
301
|
+
return ConsList.of(eq_method(), hash_method())
|
|
302
|
+
|
|
200
303
|
def decode_py_power_to_py_primary(p: hydra.python.syntax.Power) -> Optional[hydra.python.syntax.Primary]:
|
|
201
304
|
r"""Decode a Power to a Primary if possible."""
|
|
202
305
|
|
|
@@ -229,7 +332,7 @@ def decode_py_comparison_to_py_await_primary(c: hydra.python.syntax.Comparison)
|
|
|
229
332
|
|
|
230
333
|
case _:
|
|
231
334
|
return None_()
|
|
232
|
-
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.
|
|
335
|
+
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.is_empty(rhs)),
|
|
233
336
|
(lambda : None_()),
|
|
234
337
|
(lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.optionals.is_given(or_lhs),
|
|
235
338
|
(lambda : None_()),
|
|
@@ -303,18 +406,6 @@ def get_item_params() -> hydra.python.syntax.Parameters:
|
|
|
303
406
|
ConsList.of(),
|
|
304
407
|
None_())))
|
|
305
408
|
|
|
306
|
-
def indented_block(mcomment: Optional[str], stmts: Sequence[Sequence[hydra.python.syntax.Statement]]) -> hydra.python.syntax.Block:
|
|
307
|
-
r"""Create an indented block with optional comment."""
|
|
308
|
-
|
|
309
|
-
comment_group = Lazy((lambda : hydra.overlay.python.lib.optionals.match(mcomment, (lambda : ConsList.of()), (lambda s: ConsList.of(comment_statement(s))))))
|
|
310
|
-
groups = Lazy((lambda : hydra.overlay.python.lib.lists.filter((lambda g: hydra.overlay.python.lib.logic.not_(hydra.overlay.python.lib.lists.null(g))),
|
|
311
|
-
hydra.overlay.python.lib.lists.cons(comment_group(), stmts))))
|
|
312
|
-
return hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.null(groups()),
|
|
313
|
-
(lambda : cast(hydra.python.syntax.Block,
|
|
314
|
-
hydra.python.syntax.BlockIndented(ConsList.of(ConsList.of(cast(hydra.python.syntax.Statement,
|
|
315
|
-
hydra.python.syntax.StatementSimple(ConsList.of(py_expression_to_py_simple_statement(py_atom_to_py_expression(cast(hydra.python.syntax.Atom, hydra.python.syntax.AtomEllipsis()))))))))))),
|
|
316
|
-
(lambda : cast(hydra.python.syntax.Block, hydra.python.syntax.BlockIndented(groups()))))
|
|
317
|
-
|
|
318
409
|
def primary_and_params(prim: hydra.python.syntax.Primary, params: Sequence[hydra.python.syntax.Expression]) -> hydra.python.syntax.Expression:
|
|
319
410
|
r"""Create a primary with parameters (subscript)."""
|
|
320
411
|
|
|
@@ -358,7 +449,7 @@ def or_expression(prims: Sequence[hydra.python.syntax.Primary]) -> hydra.python.
|
|
|
358
449
|
(lambda : hydra.python.syntax.BitwiseOr(prev,
|
|
359
450
|
py_primary_to_py_bitwise_xor(cast(hydra.python.syntax.Primary,
|
|
360
451
|
hydra.python.syntax.PrimarySimple(cast(hydra.python.syntax.Atom, hydra.python.syntax.AtomEllipsis())))))),
|
|
361
|
-
(lambda p: hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
452
|
+
(lambda p: hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(hydra.overlay.python.lib.pairs.second(p)),
|
|
362
453
|
(lambda : hydra.python.syntax.BitwiseOr(prev, py_primary_to_py_bitwise_xor(hydra.overlay.python.lib.pairs.first(p)))),
|
|
363
454
|
(lambda : build(Given(hydra.python.syntax.BitwiseOr(prev, py_primary_to_py_bitwise_xor(hydra.overlay.python.lib.pairs.first(p)))),
|
|
364
455
|
hydra.overlay.python.lib.pairs.second(p))))))
|
|
@@ -485,21 +576,6 @@ def return_single(expr: hydra.python.syntax.Expression) -> hydra.python.syntax.S
|
|
|
485
576
|
return py_simple_statement_to_py_statement(cast(hydra.python.syntax.SimpleStatement,
|
|
486
577
|
hydra.python.syntax.SimpleStatementReturn(hydra.python.syntax.ReturnStatement(ConsList.of(cast(hydra.python.syntax.StarExpression, hydra.python.syntax.StarExpressionSimple(expr)))))))
|
|
487
578
|
|
|
488
|
-
@lru_cache(1)
|
|
489
|
-
def self_only_params() -> hydra.python.syntax.Parameters:
|
|
490
|
-
return cast(hydra.python.syntax.Parameters,
|
|
491
|
-
hydra.python.syntax.ParametersParamNoDefault(hydra.python.syntax.ParamNoDefaultParameters(ConsList.of(hydra.python.syntax.ParamNoDefault(hydra.python.syntax.Param(hydra.python.syntax.Name("self"), None_()), None_())),
|
|
492
|
-
ConsList.of(),
|
|
493
|
-
None_())))
|
|
494
|
-
|
|
495
|
-
@lru_cache(1)
|
|
496
|
-
def self_other_params() -> hydra.python.syntax.Parameters:
|
|
497
|
-
return cast(hydra.python.syntax.Parameters,
|
|
498
|
-
hydra.python.syntax.ParametersParamNoDefault(hydra.python.syntax.ParamNoDefaultParameters(ConsList.of(hydra.python.syntax.ParamNoDefault(hydra.python.syntax.Param(hydra.python.syntax.Name("self"), None_()), None_()),
|
|
499
|
-
hydra.python.syntax.ParamNoDefault(hydra.python.syntax.Param(hydra.python.syntax.Name("other"), None_()), None_())),
|
|
500
|
-
ConsList.of(),
|
|
501
|
-
None_())))
|
|
502
|
-
|
|
503
579
|
def single_quoted_string(s: str) -> hydra.python.syntax.Expression:
|
|
504
580
|
r"""Create a single-quoted string expression."""
|
|
505
581
|
|
|
@@ -595,7 +671,7 @@ extra_stmts: Sequence[hydra.python.syntax.Statement]) -> Sequence[hydra.python.s
|
|
|
595
671
|
ConsList.of())))))))))))),
|
|
596
672
|
indented_block(None_(), ConsList.of(ConsList.of(get_item_method())))))))
|
|
597
673
|
doc_stmt = Lazy((lambda : py_expression_to_py_statement(triple_quoted_string(doc_string()))))
|
|
598
|
-
body_groups = Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.
|
|
674
|
+
body_groups = Lazy((lambda : hydra.overlay.python.lib.logic.if_else(hydra.overlay.python.lib.lists.is_empty(extra_stmts),
|
|
599
675
|
(lambda : (
|
|
600
676
|
pass_stmt := Lazy((lambda : py_simple_statement_to_py_statement(cast(hydra.python.syntax.SimpleStatement, hydra.python.syntax.SimpleStatementPass())))),
|
|
601
677
|
ConsList.of(ConsList.of(doc_stmt()), ConsList.of(pass_stmt.get())))[1]),
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"digestFormatVersion": 2,
|
|
3
|
-
"moduleFormatVersion": 1,
|
|
4
|
-
"generator": "9de7bd43d8cafa93",
|
|
5
|
-
"generation": {
|
|
6
|
-
"generatorId": "9de7bd43d8cafa93",
|
|
7
|
-
"mode": "published",
|
|
8
|
-
"host": "python",
|
|
9
|
-
"hydraVersion": "0.17.4",
|
|
10
|
-
"revision": "9571823830-dirty",
|
|
11
|
-
"timestamp": "2026-08-19T17:44:59Z"},
|
|
12
|
-
"selfHash": "f628802be436ebb317632a9429323b63f0ae5045bda0ba24aa263ccf2092e014",
|
|
13
|
-
"dependencyHashes": [{"key": "hydra-kernel", "value": "5b5813a6dabbc89ed0e4ddd918744636da84f3542d7961284c423aea53629b02"}],
|
|
14
|
-
"inputs": [
|
|
15
|
-
{
|
|
16
|
-
"key": "hydra.python.coder",
|
|
17
|
-
"value": {"kind": "other", "hash": "0b1e385015be90731b3a461486eec1c2ab2448e1643f3a9e4f1f7427ec0e085a"}},
|
|
18
|
-
{
|
|
19
|
-
"key": "hydra.python.environment",
|
|
20
|
-
"value": {"kind": "other", "hash": "663b02271ddd4a6ad9ab8a2bdc152a64802a675a59280909f605d6dedcc4017e"}},
|
|
21
|
-
{
|
|
22
|
-
"key": "hydra.python.language",
|
|
23
|
-
"value": {"kind": "other", "hash": "78fb867a1d0fa6654f46f5d9fd72c2c5607d2934b7c7fbd5f5d830786b4ad91e"}},
|
|
24
|
-
{
|
|
25
|
-
"key": "hydra.python.names",
|
|
26
|
-
"value": {"kind": "other", "hash": "5bc2e53c63d41de79877fbe331aada2c7f43175b09d4245b7ac61cf8261b0ca3"}},
|
|
27
|
-
{
|
|
28
|
-
"key": "hydra.python.pyproject",
|
|
29
|
-
"value": {"kind": "other", "hash": "249512648b2b008db234ee348a72056d4d625cfeb0a80d8caacbda95002569a2"}},
|
|
30
|
-
{
|
|
31
|
-
"key": "hydra.python.serde",
|
|
32
|
-
"value": {"kind": "other", "hash": "83e48906bdec70d3d0d427c0e1b02b5e4d08bb172d3f85be13992ef4c1120859"}},
|
|
33
|
-
{
|
|
34
|
-
"key": "hydra.python.syntax",
|
|
35
|
-
"value": {"kind": "other", "hash": "88a9154b48fd429f06efa0ba8981bdf12af3fed4de5a057b3304fadc623dbc19"}},
|
|
36
|
-
{
|
|
37
|
-
"key": "hydra.python.testing",
|
|
38
|
-
"value": {"kind": "other", "hash": "113853c870177388fbcc53800768d872fae34fdbfd1a0e2f30d2b2aefb966451"}},
|
|
39
|
-
{
|
|
40
|
-
"key": "hydra.python.utils",
|
|
41
|
-
"value": {"kind": "other", "hash": "f480bc8a4c39e62ea073357517964a2175e582fd220de0fbc1bc27b9b108d327"}},
|
|
42
|
-
{
|
|
43
|
-
"key": "jsonContent:hydra/dsl/python/environment.json",
|
|
44
|
-
"value": {"kind": "other", "hash": "684965cea67ad57d492b50f408c6575f679b073c5de5e76826fb0941da86ec21"}},
|
|
45
|
-
{
|
|
46
|
-
"key": "jsonContent:hydra/dsl/python/names.json",
|
|
47
|
-
"value": {"kind": "other", "hash": "2118b0194fde923feeda9877728e6a50813601ad5892dc122f3cf577e35bff6f"}},
|
|
48
|
-
{
|
|
49
|
-
"key": "jsonContent:hydra/dsl/python/syntax.json",
|
|
50
|
-
"value": {"kind": "other", "hash": "a99b94b1f3e542d606da15fd6dafa32d858ce7d71ba02f7b21d8bb4881daa4e3"}},
|
|
51
|
-
{
|
|
52
|
-
"key": "jsonContent:hydra/dsl/python/utils.json",
|
|
53
|
-
"value": {"kind": "other", "hash": "7a3b84d522c420db0db03a77f9e54635b33544f73eb49ed67cdc3a4d5dac04ae"}},
|
|
54
|
-
{
|
|
55
|
-
"key": "jsonContent:hydra/python/coder.json",
|
|
56
|
-
"value": {"kind": "other", "hash": "e2f66b5c16393d8050923aab1f832f430334e4bddfc101f4cebc1f158daee01d"}},
|
|
57
|
-
{
|
|
58
|
-
"key": "jsonContent:hydra/python/environment.json",
|
|
59
|
-
"value": {"kind": "other", "hash": "889380dd3664c763437475b2e5146b38f865f4a20a308332633a33a4d038fce1"}},
|
|
60
|
-
{
|
|
61
|
-
"key": "jsonContent:hydra/python/language.json",
|
|
62
|
-
"value": {"kind": "other", "hash": "221e68d68030945db181fdd079be4ff619cb4cd1ad5d4b72b4e70f2aa1bd5230"}},
|
|
63
|
-
{
|
|
64
|
-
"key": "jsonContent:hydra/python/names.json",
|
|
65
|
-
"value": {"kind": "other", "hash": "afaa99c99874efa5e02a10973651a7a74ab1089feedb9de0f8a74904a8ec4eb7"}},
|
|
66
|
-
{
|
|
67
|
-
"key": "jsonContent:hydra/python/pyproject.json",
|
|
68
|
-
"value": {"kind": "other", "hash": "c94de46f1615e6e82d2f706d01ef04293373f6241a9a42882bb394d51b4f7f53"}},
|
|
69
|
-
{
|
|
70
|
-
"key": "jsonContent:hydra/python/serde.json",
|
|
71
|
-
"value": {"kind": "other", "hash": "e987b94392abfc72cedc08d2e6b8a4528479a9023c9eff636f8980e9af6e6cfb"}},
|
|
72
|
-
{
|
|
73
|
-
"key": "jsonContent:hydra/python/syntax.json",
|
|
74
|
-
"value": {"kind": "other", "hash": "8dc3a26ac927fa338b273c9deee6317906977a2deec4c2df1e44ff0bbe0a64cd"}},
|
|
75
|
-
{
|
|
76
|
-
"key": "jsonContent:hydra/python/testing.json",
|
|
77
|
-
"value": {"kind": "other", "hash": "9c75b534004194396935b1dd3331bae4d8d5cbb31c3959fa3794dda00960c09a"}},
|
|
78
|
-
{
|
|
79
|
-
"key": "jsonContent:hydra/python/utils.json",
|
|
80
|
-
"value": {"kind": "other", "hash": "0ef54f39243803add5f5634d67bf8c949d89159b3fc1c4ff82d9cb0bf829f4b9"}},
|
|
81
|
-
{
|
|
82
|
-
"key": "jsonContent:manifest.json",
|
|
83
|
-
"value": {"kind": "other", "hash": "3f94b521766d042381d7bee84596308ea4e35c7e8fb45f8fd8338a8dbe27a0ac"}}],
|
|
84
|
-
"outputs": [
|
|
85
|
-
{
|
|
86
|
-
"key": "hydra/dsl/python/environment.py",
|
|
87
|
-
"value": {"kind": "targetFile", "hash": "17b22fcaf759f776c959d41a749f506ff3c302815791e189a506c3f1af344f2c"}},
|
|
88
|
-
{
|
|
89
|
-
"key": "hydra/dsl/python/names.py",
|
|
90
|
-
"value": {"kind": "targetFile", "hash": "c571b01c5d149d3e6f587ef4524c5b065dae0ffba1b44617197f68fc1a6122fb"}},
|
|
91
|
-
{
|
|
92
|
-
"key": "hydra/dsl/python/syntax.py",
|
|
93
|
-
"value": {"kind": "targetFile", "hash": "5fe1c0c739cdac68d1b90d768153e23ebe7c805bafb96ac698a95425e2d7d7b5"}},
|
|
94
|
-
{
|
|
95
|
-
"key": "hydra/dsl/python/utils.py",
|
|
96
|
-
"value": {"kind": "targetFile", "hash": "3fed9996a3f875a53675b6c8620884949adf7d155b0e68cacfba9007d5d07b29"}},
|
|
97
|
-
{
|
|
98
|
-
"key": "hydra/python/coder.py",
|
|
99
|
-
"value": {"kind": "targetFile", "hash": "eb662817f2e3390220a06eb6eda9cc7adce67d3e22b47f3e2823ab273d688af6"}},
|
|
100
|
-
{
|
|
101
|
-
"key": "hydra/python/environment.py",
|
|
102
|
-
"value": {"kind": "targetFile", "hash": "1036eb9d285ba3e98c85095820f2e77900334340c9f0223fd4dfd6b3e847f4df"}},
|
|
103
|
-
{
|
|
104
|
-
"key": "hydra/python/language.py",
|
|
105
|
-
"value": {"kind": "targetFile", "hash": "7ea0c3a6015ec1de92aebeed0963c1af9f3b70c8d57815e477c528c795383604"}},
|
|
106
|
-
{
|
|
107
|
-
"key": "hydra/python/names.py",
|
|
108
|
-
"value": {"kind": "targetFile", "hash": "3e8498f205a99ebfaa570a44ccac515b69ced9d7f3669a32f74d4d05d48204b6"}},
|
|
109
|
-
{
|
|
110
|
-
"key": "hydra/python/pyproject.py",
|
|
111
|
-
"value": {"kind": "targetFile", "hash": "1f9001d8d2273d4783105e099b874c273ce520b58456f9b447cb8d5e9a6a37d7"}},
|
|
112
|
-
{
|
|
113
|
-
"key": "hydra/python/serde.py",
|
|
114
|
-
"value": {"kind": "targetFile", "hash": "a783457c64ea85769cd2ab757bd429be4d0c7333ab5765b0c04f3b0bf86b1e80"}},
|
|
115
|
-
{
|
|
116
|
-
"key": "hydra/python/syntax.py",
|
|
117
|
-
"value": {"kind": "targetFile", "hash": "24a72af882b47d80cc930f16f51a3e9c1a71c9d8da47a921829f40e847459fca"}},
|
|
118
|
-
{
|
|
119
|
-
"key": "hydra/python/testing.py",
|
|
120
|
-
"value": {"kind": "targetFile", "hash": "069c706253e0c41695c8becd42c27c84b7f6ac54b14be14975757ff09416ba92"}},
|
|
121
|
-
{
|
|
122
|
-
"key": "hydra/python/utils.py",
|
|
123
|
-
"value": {"kind": "targetFile", "hash": "b53dbe52de14f67d6a3c74d8f6bd7051fbaa65dbf686362565bb5cda61f15075"}}]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|