Releases: Philipp15b/probably
Releases · Philipp15b/probably
Probably 4.0.0
Probably 4.0.0 includes changes from Prodigy, which will be presented at CAV 2022. Thanks to all contributors, especially @Legotier for working on this merge (PR #3).
This release contains a number of breaking changes.
Breaking Changes
- Probably now requires Python 3.9.
- Renamed
Binop.LEtoBinop.LT. - The multiplication operator
*now has the same precedence as/. This means that:now binds less strongly than*. - Renamed
FloatLitExprtoRealLitExprandFloatTypetoRealType. - Renamed
UniformExprtoDUniformExpr. - Renamed
Assoc.Left/Assoc.RighttoAssoc.LEFT/Assoc.RIGHT. - Compared to prodigy's implementation, the type checker now allows non-constant expressions as distribution expression parameters.
Added
- Added parameters: These can be used and declared like variables, but cannot be assigned to. See
ParameterDecl. - Added new binops:
GT,GEQ,POWER, andMODULO. - New support for variables of
RealType. - Added
ObserveInstr. - Added
OptimizationQuery. - Added
ProbabilityQueryInstr. - Added
PrintInstr. - Added
PlotInstr. - Added
LoopInstr. - Added
ExpectationInstr. - Added more distribution expressions:
CUniformExpr,GeometricExpr,BernoulliExpr,PoissonExpr,LogDistExpr,BinomialExpr,IidSampleExprandDistrExpr.
Fixed
TickInstrare now type-checked.
Known Issues
- We currently rely on undocumented behavior of an old version of networkx. See #3 (comment)