Download Latest Version cryptol-3.3.0-windows-2019-X64-with-solvers.tar.gz (103.0 MB)
Email in envelope

Get an email when there's a new version of Cryptol

Home / 3.3.0
Name Modified Size InfoDownloads / Week
Parent folder
cryptol-3.3.0-windows-2019-X64.tar.gz.sig 2025-03-24 566 Bytes
cryptol-3.3.0-windows-2019-X64-with-solvers.tar.gz.sig 2025-03-24 566 Bytes
cryptol-3.3.0-windows-2019-X64.tar.gz 2025-03-24 63.3 MB
cryptol-3.3.0-ubuntu-22.04-X64.tar.gz.sig 2025-03-24 566 Bytes
cryptol-3.3.0-windows-2019-X64-with-solvers.tar.gz 2025-03-24 103.0 MB
cryptol-3.3.0-ubuntu-22.04-X64-with-solvers.tar.gz.sig 2025-03-24 566 Bytes
cryptol-3.3.0-ubuntu-22.04-X64.tar.gz 2025-03-24 45.9 MB
cryptol-3.3.0-ubuntu-20.04-X64.tar.gz.sig 2025-03-24 566 Bytes
cryptol-3.3.0-ubuntu-22.04-X64-with-solvers.tar.gz 2025-03-24 87.2 MB
cryptol-3.3.0-ubuntu-20.04-X64-with-solvers.tar.gz.sig 2025-03-24 566 Bytes
cryptol-3.3.0-ubuntu-20.04-X64.tar.gz 2025-03-24 45.9 MB
cryptol-3.3.0-macos-14-ARM64.tar.gz.sig 2025-03-24 566 Bytes
cryptol-3.3.0-ubuntu-20.04-X64-with-solvers.tar.gz 2025-03-24 86.0 MB
cryptol-3.3.0-macos-14-ARM64.tar.gz 2025-03-24 66.8 MB
cryptol-3.3.0-macos-14-ARM64-with-solvers.tar.gz.sig 2025-03-24 566 Bytes
cryptol-3.3.0-macos-14-ARM64-with-solvers.tar.gz 2025-03-24 96.1 MB
cryptol-3.3.0-macos-13-X64.tar.gz.sig 2025-03-24 566 Bytes
cryptol-3.3.0-macos-13-X64-with-solvers.tar.gz.sig 2025-03-24 566 Bytes
cryptol-3.3.0-macos-13-X64.tar.gz 2025-03-24 24.9 MB
cryptol-3.3.0-macos-13-X64-with-solvers.tar.gz 2025-03-24 57.9 MB
3.3.0 source code.tar.gz 2025-03-21 36.1 MB
3.3.0 source code.zip 2025-03-21 36.6 MB
README.md 2025-03-21 3.7 kB
Totals: 23 Items   749.7 MB 4

Language changes

None

Bug fixes

  • Fix a bug where setting at timeout would cause sbv-yices, sbv-cvc4 and sbc-cvc5 to crash. Uses a deadman timer workaround for yices, due to a known issue. (#1808)

  • Update Yices build in CI to fix a crash when running test issue_1807.icry on Mac OS X (ARM64). (what4-solvers [#58])

  • Fix a bug where using a timeout with a subset of the what4 solvers would cause a runtime error. Includes a version bump for what4 to address a nondeterministic crash when using timeouts with cvc4/5. (what4 PR [#288]) (#1807)

  • Fix [#1437], enforce the VSeq invariant that it is not a sequence of bits. Replaces the VSeq constructor with a view-only pattern, and smart constructors mkSeq and finSeq. (#1437)

  • Fix [#1740], removes duplicated width from word values. Note that since this changes the types, it may require changes to libraries depending on Cryptol.

  • Fix a bug in which splitting a [0] value into type [inf][0] would panic. (#1749)

  • Fix a bug in which the free variables of types mentioning newtypes or enums were incorrectly computed. (#1773)

  • The reference evaluator now evaluates the toSignedInteger and deepseq primitives instead of panicking.

  • Fix a bug in which a ^^ (x ^^ y) could be incorrectly simplified to a ^^ (x * y) at the type level. (#1799)

New features

  • Improved error messages during type inference for bindings. Adds a specific error message for when a binding has more arguments than expected, given its type signature. (#1744)

  • Improved warning messages for non-exhaustive guards. Warnings are now ordered by source location. (#1798)

  • More aggressive exhaustivity check that is less dependent on guard ordering. (#1796)

  • Improved error messages mentioning module parameters (#1560)

  • Improved the naming convention for anonymous modules generated by the module system (#1810)

  • REPL command :dumptests <FILE> <EXPR> updated to write to stdout when invoked as :dumptests - <EXPR> allowing for easier experimentation and testing.

  • The REPL properly supports tab completion for the :t and :check commands. (#1780)

  • Add support for incrementally loading projects via cryptol's --project flag as documented in the reference manual. (#1641)

  • Add support for the Bitwuzla SMT solver, which can be selected with :set prover=bitwuzla. If you want to specify a What4 or SBV backend, you can use :set prover=w4-bitwuzla or :set prover=sbv-bitwuzla, respectively. (#1786)

  • Add a REPL option tcSmtFile that allows writing typechecker-related SMT solver interactions to a file.

  • The typechecker can now simplify types of the form width (2^^n) to n + 1. (#1802)

Source: README.md, updated 2025-03-21