docs.rs failed to build lambdust-0.1.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
lambdust-0.1.0
Lambdust
A comprehensive R7RS-large compliant Scheme interpreter written in Rust, featuring advanced type systems, effect handling, and high-performance concurrent execution.
Features
- R7RS-large Compliance: Full support for the R7RS-large standard with extensive SRFI implementations
- Advanced Type System: Gradual typing, algebraic data types, and type classes
- Effect System: Monadic programming with effect handlers for managing side effects
- Concurrency: Actor model, futures, Software Transactional Memory (STM)
- FFI Support: C interoperability with dynamic library loading
- Performance Optimization: Bytecode compilation and SIMD operations
Quick Start
# Clone the repository
# Build the project
# Run the REPL
# Run performance monitor
Example
;; Factorial with gradual typing
(define (factorial (n : Integer)) : Integer
(if (<= n 1)
1
(* n (factorial (- n 1)))))
;; Actor-based concurrency
(define counter-actor
(spawn-actor
(lambda (msg)
(match msg
((increment) (update-state (+ (get-state) 1)))
((get) (reply (get-state)))))))
;; Effect handling
(with-effects
(IO State)
(log-info "Starting computation")
(let ((result (expensive-computation)))
(save-state result)))
Documentation
For comprehensive documentation, see:
Building
Prerequisites
- Rust 1.75.0 or later
- Cargo package manager
Available Features
minimal-repl: Lightweight REPLenhanced-repl: Full-featured REPL with syntax highlightingasync-runtime: Asynchronous runtime supportnetwork-io: Network I/O capabilitiesffi: Foreign Function Interface support
Testing
# Run all tests
# Run with specific features
# Check code quality
Performance
Lambdust is designed for high performance with:
- Zero-copy operations where possible
- SIMD-optimized numeric computations
- JIT compilation for hot paths
- Efficient memory management
Contributing
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch
- Make your changes with tests
- Ensure
cargo clippypasses with zero warnings - Submit a pull request
License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT License (LICENSE-MIT)
at your option.
Acknowledgments
This project builds upon decades of Scheme language development and the Rust ecosystem. Special thanks to the R7RS working group and the Rust community.