Skip to content
STIMSMITH

Sail ISA Specification Language

Tool
First 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 connections
BNF Grammar implements → 4e
Sail ISA Specification Language is defined by a BNF grammar covering all its syntactic constructs.
Let Binding implements → 3e
Sail implements let bindings both as expressions and as top-level definitions.
Pattern Matching implements → 3e
Sail implements pattern matching with rich atomic patterns including wildcards, literals, identifiers, and struct patterns.
Termination Measure implements → 2e
Sail implements termination measures for recursive functions both inline and as separate top-level definitions.
Attribute Annotation implements → 2e
Sail implements attribute annotations that can be attached to definitions and expressions.
Type Quantifier implements → 2e
Sail implements type quantifiers via forall binders in type schemes.
Function Definition implements → 2e
Sail implements function definitions with optional recursion measures and multiple clauses.
Value Specification implements → 2e
Sail implements value specifications for declaring types and optional external bindings of functions.
CPU Verification ← uses 90% 2e
Sail ISA specifications are used in CPU verification workflows.
Mapping Definition implements → 2e
Sail implements bidirectional mapping definitions with optional type schemes.
Expression Language implements → 2e
Sail implements a rich expression language including assignments, let bindings, conditionals, and returns.
Register Type implements → 2e
Sail implements register types both as type-level constructs and top-level register definitions.
Union Type implements → 1e
Sail implements union (variant) types with optional type parameters.
Overload Definition implements → 1e
Sail implements overload definitions allowing a name to be resolved to multiple implementations.
Scattered Definition implements → 1e
Sail implements scattered definitions allowing constructs to be defined across multiple locations in a specification.
Vector Type implements → 1e
Sail implements vector types with indexing, slicing, and functional update expressions.
Bitvector Literal implements → 1e
Sail implements bitvector literals in both binary and hexadecimal notation.
ISA specification implements → 98% 1e
Sail is a specification language designed to implement formal ISA specifications.
Extern Binding implements → 1e
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 builds on Sail ISA specifications.
ISA Semantics implements → 97% 1e
Sail is used to express formal ISA semantics for various architectures.
Type System implements → 1e
Sail implements a type system expressed through type schemes, kinds, and quantifiers in its grammar.
Type Variable implements → 1e
Sail supports type variables as a first-class syntactic element in its type grammar.
Kind Annotation implements → 1e
Sail supports kind annotations on type variables, with kinds including Int, Type, Order, and Bool.
Bitfield Type implements → 1e
Sail implements bitfield types as named definitions with a base type and field body.
Effect System implements → 1e
Sail implements an effect system with explicit effect sets and a pure annotation in type schemes.
Struct Type implements → 1e
Sail implements struct types as named record types with typed fields.
Enum Type implements → 1e
Sail implements enum types with optional associated functions and expressions.