Sail ISA Specification Language
ToolFirst seen 7/3/2026
Last seen 8/6/2026
Evidence 6 chunks
NEIGHBORHOOD
No graph connections found for this entity yet. It may appear in future ingestion runs.
explore full graph →RELATIONSHIPS
30 connectionsSail ISA Specification Language is defined by a BNF grammar covering all its syntactic constructs.
Sail implements let bindings both as expressions and as top-level definitions.
Sail implements pattern matching with rich atomic patterns including wildcards, literals, identifiers, and struct patterns.
Sail implements termination measures for recursive functions both inline and as separate top-level definitions.
Sail implements attribute annotations that can be attached to definitions and expressions.
Sail implements type quantifiers via forall binders in type schemes.
Sail implements function definitions with optional recursion measures and multiple clauses.
Sail implements value specifications for declaring types and optional external bindings of functions.
Sail ISA specifications are used in CPU verification workflows.
Sail implements bidirectional mapping definitions with optional type schemes.
Sail implements a rich expression language including assignments, let bindings, conditionals, and returns.
Sail implements register types both as type-level constructs and top-level register definitions.
Sail implements union (variant) types with optional type parameters.
Sail implements overload definitions allowing a name to be resolved to multiple implementations.
Sail implements scattered definitions allowing constructs to be defined across multiple locations in a specification.
Sail implements vector types with indexing, slicing, and functional update expressions.
Sail implements bitvector literals in both binary and hexadecimal notation.
Sail is a specification language designed to implement formal ISA specifications.
Sail implements extern bindings to map Sail identifiers to backend-specific string names.
The paper presents ISA semantics using the Sail language for ARMv8-A, RISC-V, and CHERI-MIPS.
The paper uses Sail as the target formal language for ISA modeling.
Isla: Integrating Full-Scale ISA Semantics and Axiomatic Concurrency Models (armstrong:cav:2021) ← uses 93% 1e
Isla builds on Sail ISA specifications.
Sail is used to express formal ISA semantics for various architectures.
Sail implements a type system expressed through type schemes, kinds, and quantifiers in its grammar.
Sail supports type variables as a first-class syntactic element in its type grammar.
Sail supports kind annotations on type variables, with kinds including Int, Type, Order, and Bool.
Sail implements bitfield types as named definitions with a base type and field body.
Sail implements an effect system with explicit effect sets and a pure annotation in type schemes.
Sail implements struct types as named record types with typed fields.
Sail implements enum types with optional associated functions and expressions.