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.1.0
Name Modified Size InfoDownloads / Week
Parent folder
cryptol-3.1.0-macos-12-x86_64.tar.gz 2024-02-05 22.0 MB
cryptol-3.1.0-macos-12-x86_64.tar.gz.sig 2024-02-05 566 Bytes
cryptol-3.1.0-macos-12-x86_64-with-solvers.tar.gz 2024-02-05 56.9 MB
cryptol-3.1.0-macos-12-x86_64-with-solvers.tar.gz.sig 2024-02-05 566 Bytes
cryptol-3.1.0-ubuntu-20.04-x86_64.tar.gz 2024-02-05 39.8 MB
cryptol-3.1.0-ubuntu-20.04-x86_64.tar.gz.sig 2024-02-05 566 Bytes
cryptol-3.1.0-ubuntu-20.04-x86_64-with-solvers.tar.gz 2024-02-05 79.7 MB
cryptol-3.1.0-ubuntu-20.04-x86_64-with-solvers.tar.gz.sig 2024-02-05 566 Bytes
cryptol-3.1.0-ubuntu-22.04-x86_64.tar.gz 2024-02-05 39.8 MB
cryptol-3.1.0-ubuntu-22.04-x86_64.tar.gz.sig 2024-02-05 566 Bytes
cryptol-3.1.0-ubuntu-22.04-x86_64-with-solvers.tar.gz 2024-02-05 80.9 MB
cryptol-3.1.0-ubuntu-22.04-x86_64-with-solvers.tar.gz.sig 2024-02-05 566 Bytes
cryptol-3.1.0-windows-2019-x86_64.tar.gz 2024-02-05 51.6 MB
cryptol-3.1.0-windows-2019-x86_64.tar.gz.sig 2024-02-05 566 Bytes
cryptol-3.1.0-windows-2019-x86_64-with-solvers.tar.gz 2024-02-05 89.3 MB
cryptol-3.1.0-windows-2019-x86_64-with-solvers.tar.gz.sig 2024-02-05 566 Bytes
3.1.0 source code.tar.gz 2024-02-05 35.9 MB
3.1.0 source code.zip 2024-02-05 36.4 MB
README.md 2024-02-05 1.9 kB
Totals: 19 Items   532.1 MB 0

Language changes

  • Cryptol now supports enum declarations. An enum is a named type which is defined by one or more constructors. Enums correspond to the notion of algebraic data types, which are commonly found in other programming languages. See the manual section for more information.

  • Add two enum declarations to the Cryptol standard library:

``` enum Option a = None | Some a

enum Result t e = Ok t | Err e ```

These types are useful for representing optional values (Option) or values that may fail in some way (Result).

  • foreign functions can now have an optional Cryptol implementation, which by default is used when the foreign implementation cannot be found, or if the FFI is unavailable. The :set evalForeign REPL option controls this behavior.

Bug fixes

  • Fixed [#1455], making anything in scope of the functor in scope at the REPL as well when an instantiation of the functor is loaded and focused, design choice (3) on the ticket. In particular, the prelude will be in scope.

  • Fix [#1578], which caused parmap to crash when evaluated on certain types of sequences.

  • Closed issues [#813], [#1237], [#1397], [#1446], [#1486], [#1492], [#1495], [#1537], [#1538], [#1542], [#1544], [#1548], [#1551], [#1552], [#1554], [#1556], [#1561], [#1562], [#1566], [#1567], [#1569], [#1571], [#1584], [#1588], [#1590], [#1598], [#1599], [#1604], [#1605], [#1606], [#1607], [#1609], [#1610], [#1611], [#1612], [#1613], [#1615], [#1616], [#1617], [#1618], and [#1619].

  • Merged pull requests [#1429], [#1512], [#1534], [#1535], [#1536], [#1540], [#1541], [#1543], [#1547], [#1549], [#1550], [#1555], [#1557], [#1558], [#1559], [#1564], [#1565], [#1568], [#1570], [#1572], [#1573], [#1577], [#1579], [#1580], [#1583], [#1585], [#1586], [#1592], [#1600], [#1601], and [#1602].

Source: README.md, updated 2024-02-05