Cryptol
Cryptol Reference Manual
Basic Syntax
Expressions
Basic Types
Overloaded Operations
Type Declarations
Modules
Foreign Function Interface
Project Files
Cryptol
Cryptol Reference Manual
View page source
Cryptol Reference Manual
Cryptol Reference Manual
Basic Syntax
Declarations
Type Signatures
Numeric Constraint Guards
Layout
Comments
Documentation Comments
Identifiers
Keywords and Built-in Operators
Built-in Type-level Operators
Numeric Literals
Expressions
Calling Functions
Prefix Operators
Infix Functions
Type Annotations
Explicit Type Instantiation
Local Declarations
Block Arguments
Conditionals
Demoting Numeric Types to Values
Basic Types
Tuples and Records
Accessing Fields
Updating Fields
Sequences
Functions
Overloaded Operations
Equality
Comparisons
Signed Comparisons
Zero
Logical Operations
Basic Arithmetic
Integral Operations
Division
Rounding
Type Declarations
Type Synonyms
Newtypes
Enums
Modules
Hierarchical Module Names
Module Imports
Import Lists
Hiding Imports
Qualified Module Imports
Private Blocks
Nested Modules
Implicit Imports
Managing Module Names
Parameterized Modules
Interface Modules
Importing an Interface Module
Interface Constraints
Instantiating a Parameterized Module
Anonymous Interface Modules
Anonymous Instantiation Arguments
Anonymous Import Instantiations
Passing Through Module Parameters
Instantiation by Parametrizing Declarations
Foreign Function Interface
Platform support
Basic usage
Compiling C code
Converting between Cryptol and C types
Overall structure
Type parameters
Bit
Bit Vector Types
Floating point types
Math Types
Sequences
Tuples and records
Type synonyms
Return values
Quick reference
Memory
Evaluation
Cryptol implementation of foreign functions
Example
Project Files
cryproject.toml
Format
loadcache.toml
Format
Doc version
v: master
Versions
2.12.0
2.13.0
3.0.0
3.1.0
3.2.0
cryptol-python-3.2.1
cryptol-remote-api-3.0.1
cryptol-remote-api-3.1.1
master
Pull Requests
PR_1292
PR_1526
PR_1656
PR_1739
PR_1764
PR_1783
PR_1784