Skip to content

Probably 4.0.0

Latest
Compare
Choose a tag to compare
@Philipp15b Philipp15b released this 10 Jun 09:20
· 9 commits to master since this release
b09f7f4

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.LE to Binop.LT.
  • The multiplication operator * now has the same precedence as /. This means that : now binds less strongly than *.
  • Renamed FloatLitExpr to RealLitExpr and FloatType to RealType.
  • Renamed UniformExpr to DUniformExpr.
  • Renamed Assoc.Left/Assoc.Right to Assoc.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, and MODULO.
  • 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, IidSampleExpr and DistrExpr.

Fixed

  • TickInstr are now type-checked.

Known Issues

  • We currently rely on undocumented behavior of an old version of networkx. See #3 (comment)