Published November 20, 2025
| Version v0.15.0
Software
Open
Spade 0.15.0
Description
A hardware description language inspired by modern software languages.
Changes in 0.15.0:
Added
- !469 (merged) Expose
zipas a standalone function - !469 (merged) Added
interleaveandinterleave_arrays - !469 (merged) Added
interleavetouint - !469 (merged) Added
interleaveto arrays - !471 (merged) Add an
#strmeta-type and type-level string literals - !472 (merged) Support for impl on the same type with the same trait as long as trait's generics differ
- !473 (merged) Added
read_write_inoutto interact withinoutports - !477 (merged)
unsafe { }blocks - !488 (merged) Allow the array shorthand syntax
[expr; N]for the initial contents of a memory - !492 (merged) Parser now keeps track of parentheses for
spadefmt - !499 (merged) Allow methods to be pipelines
- !499 (merged) Add
.readonstd::mem::ReadPortand.writeonstd::mem::WritePort - !501 (merged) Add support for lambda pipelines and entities
- !501 (merged) Add
Option::pmap - !502 (merged) Allow lambda units to capture
- !519 (merged) Added
bool_to_int,bool_to_uint,bool::to_intandbool::to_uint.
Fixed
- !469 (merged) Use
N == 0as base case forzip - !470 (merged)
add_changelognow createschangelogsif it does not exist - !473 (merged)
inoutis now forbidden inside structs, enums and wires - !474 (merged) Fixed handling and codegen of
inv clock - !483 (merged) Fix panic when unsafe is used as a keyword
- !490 (merged) Fix a regression in typeinference with fully specified integer literals
- !491 (merged) Fix panic when defining a closure in an entity that takes a bare generic
T - !495 (merged) Fix panic when using generic non-types as tuple elements
- !499 (merged) Lift restriction on
fns on port types - !507 (merged) Fix a panic when error types are used in match statements
- !510 (merged) Actually check the latency of unit arguments and pipelines
- !517 (merged) Set on ports with both
invand noninvcomponents now generates correct code - !395 (merged) Improve type errors in nested generics
- !395 (merged) Improve error reporting for constraint errors
- !395 (merged) Fix a panic when there are non-fatal AST errors that cause codegen problems
- !395 (merged) Stop emitting errors for missing methods on unknown types
Changed
- !476 (merged) Breaking change make
sethandle all port types, not only wires, which now need& - !477 (merged) Every
std::MOD::unsafe::*method is nowunsafeand lives instd::MOD - !477 (merged)
std::conv::unsafe::unsafe_castis now calledstd::conv::transmuteand also is markedunsafe - !477 (merged) The safeness of trait definition and implementation must match
- !477 (merged) Lambdas reset the safeness context
- !479 (merged) Enum and struct initializers now can be used in
constscenarios - !482 (merged) Save compiler state as bincode instead of RON. This requires updating
swimto the latest version - !496 (merged) Improved the error messages when referring to unavailable pipeline variables
- !501 (merged) Allow
_in pipelineinst(_) - !501 (merged) Improve error messages for incorrect or missing
inst - !515 (merged) Breaking change Lambdas now use vertical bars to enclose parameters.
- !515 (merged) Lambdas now may have a single expression body.
- !518 (merged) Breaking change Renamed
bittype totriandbit_to_booltotri_to_bool.
Files
spade-v0.15.0.zip
Files
(2.3 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:2a92ca4f7ecc16d9c906dbc5ba458488
|
2.3 MB | Preview Download |
Additional details
Related works
- Is continued by
- https://gitlab.com/spade-lang/spade (URL)
- Is identical to
- https://gitlab.com/spade-lang/spade/-/tree/v0.15.0 (URL)
Software
- Repository URL
- https://gitlab.com/spade-lang/spade
- Programming language
- Rust
- Development Status
- Active