seq-runtime 0.21.0

Runtime library for the Seq programming language
Documentation
[package]
name = "seq-runtime"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "Runtime library for the Seq programming language"
repository = "https://github.com/navicore/patch-seq"
readme = "README.md"
keywords = ["runtime", "language", "seq"]
categories = ["compilers", "development-tools"]

[lib]
crate-type = ["staticlib", "rlib"]  # staticlib for LLVM linking, rlib for testing

[features]
default = ["diagnostics"]
diagnostics = ["signal-hook"]  # Strand registry + SIGQUIT handler for production debugging

[dependencies]
# Core runtime primitives (shared foundation for stack-based languages)
seq-core = { path = "../core", version = "=0.21.0" }

# May - Erlang-style green threads / coroutines for CSP concurrency
may.workspace = true

# Bumpalo - Fast bump allocation for strand-local arenas
bumpalo.workspace = true

# libc - System call interface
libc.workspace = true

# Serialization (for Value persistence/exchange with external systems)
serde.workspace = true
bincode.workspace = true

# Encoding (Base64, Hex)
base64.workspace = true
hex.workspace = true

# Crypto (SHA-256, HMAC, Random, UUID, AES-GCM, PBKDF2)
sha2.workspace = true
hmac.workspace = true
rand.workspace = true
uuid.workspace = true
subtle.workspace = true
aes-gcm.workspace = true
pbkdf2.workspace = true
ed25519-dalek.workspace = true

# HTTP client
ureq.workspace = true
url.workspace = true

# Regular expressions
regex.workspace = true

# Compression
flate2.workspace = true
zstd.workspace = true

# Signal handling for SIGQUIT diagnostics (Unix only, optional via diagnostics feature)
[target.'cfg(unix)'.dependencies]
signal-hook = { workspace = true, optional = true }

[dev-dependencies]
tempfile.workspace = true