[package]
name = "lambdust"
version = "0.1.1"
edition = "2024"
authors = ["Mitsuki Akasaka <m.akasaka@miraina-step.co.jp>"]
description = "A Scheme dialect with gradual typing and effect systems"
license = "MIT OR Apache-2.0"
repository = "https://github.com/username/lambdust"
keywords = ["scheme", "lisp", "functional", "types", "compiler"]
categories = ["compilers", "development-tools"]
include = [
"src/**/*.rs",
"stdlib/**/*.scm",
"Cargo.toml",
"README.md",
"LICENSE*",
]
[lib]
name = "lambdust"
path = "src/lib.rs"
[[bin]]
name = "lambdust"
path = "src/main.rs"
[[bin]]
name = "performance-monitor"
path = "src/bin/performance_monitor.rs"
[dependencies]
chrono = { version = "0.4", features = ["serde"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
indexmap = "2.0"
im = "15.1"
petgraph = "0.6"
ena = "0.14"
gc = { version = "0.5", features = [
"derive",
] }
once_cell = "1.19"
lazy_static = "1.4"
tokio = { version = "1.0", features = [
"full",
"io-util",
"net",
"fs",
"process",
"macros",
"rt-multi-thread",
"time",
"sync",
], optional = true }
tokio-util = { version = "0.7", features = ["codec", "io"], optional = true }
async-std = { version = "1.12", optional = true }
rayon = "1.8"
crossbeam = "0.8"
num_cpus = "1.16"
ariadne = "0.4"
log = "0.4"
libloading = "0.8"
dlopen2 = "0.7"
libc = "0.2"
libffi = { version = "3.2", optional = true, features = ["system"] }
cc = { version = "1.0", optional = true }
criterion = { version = "0.5", optional = true }
flame = { version = "0.2", optional = true }
rustyline = { version = "13.0", optional = true }
colored = { version = "2.0", optional = true }
dirs = { version = "5.0", optional = true }
reedline = { version = "0.29", optional = true }
nu-ansi-term = { version = "0.49", optional = true }
crossterm = { version = "0.27", optional = true }
syntect = { version = "5.1", optional = true }
mio = { version = "0.8", features = ["os-poll", "net"] }
socket2 = "0.5"
nix = { version = "0.28", features = [
"event",
"fs",
], optional = true }
winapi = { version = "0.3", features = [
"winnt",
"winsock2",
"ws2ipdef",
"ws2tcpip",
], optional = true }
memmap2 = "0.9"
notify = "6.1"
walkdir = "2.4"
ignore = "0.4"
globset = "0.4"
url = "2.5"
percent-encoding = "2.3"
hickory-resolver = "0.24"
flate2 = { version = "1.0", optional = true }
zstd = { version = "0.13", optional = true }
lz4_flex = { version = "0.11", optional = true }
ring = "0.17"
rustls = { version = "0.23", features = [
"std",
], optional = true }
tokio-rustls = { version = "0.26", optional = true }
webpki-roots = { version = "0.26", optional = true }
proptest = { version = "1.4", optional = true }
rand = "0.8"
futures = "0.3"
unicode-normalization = "0.1"
unicode-segmentation = "1.10"
icu_collator = { version = "1.4", optional = true }
icu_locid = { version = "1.4", optional = true }
lru = "0.12"
num-traits = "0.2"
async-trait = "0.1"
uuid = { version = "1.6", features = ["v4", "serde"] }
[dev-dependencies]
pretty_assertions = "1.4"
insta = "1.34"
tempfile = "3.8"
tokio-test = "0.4"
criterion = { version = "0.5", features = ["html_reports"] }
rand = "0.8"
futures = "0.3"
[features]
default = ["minimal-repl"]
minimal-repl = ["dep:colored"]
repl = ["minimal-repl", "dep:rustyline", "dep:dirs"]
enhanced-repl = [
"repl",
"dep:reedline",
"dep:nu-ansi-term",
"dep:crossterm",
"dep:syntect",
]
async-runtime = ["tokio", "tokio-util"]
network-io = ["async-runtime", "rustls", "tokio-rustls", "webpki-roots"]
platform-extensions = ["unix-extensions", "windows-extensions"]
async = ["async-runtime"]
advanced-io = ["network-io", "platform-extensions"]
text-processing = ["icu_collator", "icu_locid"]
compression = ["flate2", "zstd", "lz4_flex"]
tls = ["rustls", "tokio-rustls", "webpki-roots"]
unix-extensions = ["nix"]
windows-extensions = ["winapi"]
benchmarks = ["criterion", "flame"]
property-testing = ["proptest"]
multithreaded-tests = ["async", "tokio/test-util"]
ffi = ["libffi", "cc"]
jit = []
simd-benchmarks = ["benchmarks"]
[[bench]]
name = "parallel_evaluation_benchmarks"
path = "benchmarks/parallel_evaluation_benchmarks.rs"
harness = false
required-features = ["benchmarks"]
[[bench]]
name = "memory_usage_benchmarks"
path = "benchmarks/memory_usage_benchmarks.rs"
harness = false
required-features = ["benchmarks"]
[[bench]]
name = "latency_benchmarks"
path = "benchmarks/latency_benchmarks.rs"
harness = false
required-features = ["benchmarks"]
[[bench]]
name = "core_performance_benchmarks"
path = "benches/core_performance_benchmarks.rs"
harness = false
required-features = ["benchmarks"]
[[bench]]
name = "optimization_benchmarks"
path = "benches/optimization_benchmarks.rs"
harness = false
required-features = ["benchmarks"]
[[bench]]
name = "migration_impact_benchmarks"
path = "benches/migration_impact_benchmarks.rs"
harness = false
required-features = ["benchmarks"]
[[bench]]
name = "scheme_operation_benchmarks"
path = "benches/scheme_operation_benchmarks.rs"
harness = false
required-features = ["benchmarks"]
[[bench]]
name = "core_operation_benchmarks"
path = "benches/core_operation_benchmarks.rs"
harness = false
required-features = ["benchmarks"]
[[bench]]
name = "system_performance_benchmarks"
path = "benches/system_performance_benchmarks.rs"
harness = false
required-features = ["benchmarks"]
[[bench]]
name = "regression_testing_benchmarks"
path = "benches/regression_testing_benchmarks.rs"
harness = false
required-features = ["benchmarks"]
[[bench]]
name = "performance_analysis_benchmarks"
path = "benches/performance_analysis_benchmarks.rs"
harness = false
required-features = ["benchmarks"]
[[bench]]
name = "containers"
path = "benches/containers.rs"
harness = false
required-features = ["benchmarks"]
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
[profile.dev]
opt-level = 0
debug = true
overflow-checks = true
[profile.test]
opt-level = 1
[lints.rust]
missing_docs = "warn"
unused_variables = "warn"
unused_imports = "warn"
dead_code = "warn"
[workspace]
members = [
".",
]