File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change 1
1
# DynamicPPL Changelog
2
2
3
+ ## 0.36.0
4
+
5
+ ** Breaking changes**
6
+
7
+ ### VarName prefixing behaviour
8
+
9
+ Previously, a prefixed varname would concatenate its prefixes with the symbol.
10
+ Now, a prefixed varname creates a new field on the prefix.
11
+ This is rather abstract, so it's best explained through an example.
12
+ Consider this model and submodel:
13
+
14
+ ``` julia
15
+ using DynamicPPL, Distributions
16
+ @model inner () = x ~ Normal ()
17
+ @model outer () = a ~ to_submodel (inner ())
18
+ ```
19
+
20
+ In previous versions, the inner variable ` x ` would be saved as ` a.x ` .
21
+ However, this was represented as a single symbol ` Symbol("a.x") ` :
22
+
23
+ ``` julia
24
+ julia> dump (keys (VarInfo (outer ()))[1 ])
25
+ VarName{Symbol (" a.x" ), typeof (identity)}
26
+ optic: identity (function of type typeof (identity))
27
+ ```
28
+
29
+ Now, the inner variable is stored as a field ` x ` on the VarName ` a ` :
30
+
31
+ ``` julia
32
+ julia> dump (keys (VarInfo (outer ()))[1 ])
33
+ VarName{:a , Accessors. PropertyLens{:x }}
34
+ optic: Accessors. PropertyLens{:x } (@o _. x)
35
+ ```
36
+
3
37
## 0.35.5
4
38
5
39
Several internal methods have been removed:
You can’t perform that action at this time.
0 commit comments