@@ -31,21 +31,12 @@ julia> Model{(:y,)}(f, (x = 1.0, y = 2.0), (x = 42,)) # with special definition
31
31
Model{typeof(f),(:x, :y),(:x,),(:y,),Tuple{Float64,Float64},Tuple{Int64}}(f, (x = 1.0, y = 2.0), (x = 42,))
32
32
```
33
33
"""
34
- struct Model{
35
- F,
36
- argnames,
37
- defaultnames,
38
- missings,
39
- Targs,
40
- Tdefaults,
41
- Ctx<: AbstractContext ,
42
- IsStatic<: Union{Val{false},Val{true}} ,
43
- } <: AbstractProbabilisticProgram
34
+ struct Model{F,argnames,defaultnames,missings,Targs,Tdefaults,Ctx<: AbstractContext } < :
35
+ AbstractProbabilisticProgram
44
36
f:: F
45
37
args:: NamedTuple{argnames,Targs}
46
38
defaults:: NamedTuple{defaultnames,Tdefaults}
47
39
context:: Ctx
48
- has_static_support:: IsStatic
49
40
50
41
@doc """
51
42
Model{missings}(f, args::NamedTuple, defaults::NamedTuple)
@@ -58,10 +49,9 @@ struct Model{
58
49
args:: NamedTuple{argnames,Targs} ,
59
50
defaults:: NamedTuple{defaultnames,Tdefaults} ,
60
51
context:: Ctx = DefaultContext (),
61
- has_static_support:: Union{Val{false},Val{true}} = Val {false} (),
62
52
) where {missings,F,argnames,Targs,defaultnames,Tdefaults,Ctx}
63
- return new {F,argnames,defaultnames,missings,Targs,Tdefaults,Ctx,typeof(isstatic) } (
64
- f, args, defaults, context, has_static_support
53
+ return new {F,argnames,defaultnames,missings,Targs,Tdefaults,Ctx} (
54
+ f, args, defaults, context
65
55
)
66
56
end
67
57
end
@@ -88,38 +78,6 @@ function Model(f, args::NamedTuple, context::AbstractContext=DefaultContext(); k
88
78
return Model (f, args, NamedTuple (kwargs), context)
89
79
end
90
80
91
- """
92
- has_static_support(model::Model)
93
-
94
- Return `true` if `model` has static support.
95
- """
96
- has_static_support (model:: Model ) = model. has_static_support isa Val{true }
97
-
98
- """
99
- set_static_support(model::Model, isstatic::Val{true},Val{false})
100
-
101
- Set `model` to have static support if `isstatic` is `true`, otherwise not.
102
- """
103
- function set_static_support (model:: Model , isstatic:: Union{Val{true},Val{false}} )
104
- return Model {getmissings(model)} (
105
- model. f, model. args, model. defaults, model. context, isstatic
106
- )
107
- end
108
-
109
- """
110
- mark_as_static_support(model::Model)
111
-
112
- Mark `model` as having static support.
113
- """
114
- mark_as_static_support (model:: Model ) = set_static_support (model, Val {true} ())
115
-
116
- """
117
- mark_as_dynamic_support(model::Model)
118
-
119
- Mark `model` as not having static support.
120
- """
121
- mark_as_dynamic_support (model:: Model ) = set_static_support (model, Val {false} ())
122
-
123
81
function contextualize (model:: Model , context:: AbstractContext )
124
82
return Model (model. f, model. args, model. defaults, context)
125
83
end
0 commit comments