RepositoryRust
state-machines

state-machines/state-machines-rs

Compile-time state machine DSL for Rust, inspired by the Ruby state_machines gem.

138sao
3fork
0issue
0lượt xem

Thành tựu nổi bật

Những danh hiệu mới nhất của dự án

1
TINIX TRENDING·Chủ đề: procedural-macro

#1 Repository Của Tháng

1
TINIX TRENDING·Chủ đề: state-machines

#1 Repository Của Tháng

6
TINIX TRENDING·Chủ đề: no-std

#6 Repository Của Tháng

🚀 state-machines-rs: State Machine Thời Gian Compile Cho Rust

Library Rust cho state machine an toàn ngay từ thời gian compile, kết hợp tính năng mạnh mẽ với giáo trình học tập chi tiết.

state-machines-rs là một port của Ruby state_machines gem, được thiết kế chủ yếu như một nền tảng học tập cho các Rubyist chuyển sang Rust. Dù định hướng giáo dục, dự án vẫn đầy đủ tính năng sản xuất, với code được chú giải kỹ thuật để giải thích các pattern Rust một cách dễ hiểu. Nhờ typestate pattern, các chuyển trạng thái bị kiểm tra tại compile time, loại bỏ lỗi runtime.

✨ Điểm nổi bật

  • Typestate Pattern: An toàn thời gian compile với zero runtime overhead, mỗi chuyển đổi trả về typed machine mới.
  • Guards & Unless: Điều kiện chuyển tiếp ở cả cấp sự kiện và chuyển tiếp, kiểm tra logic linh hoạt.
  • Callbacks: Hook before/after ở cấp sự kiện, hỗ trợ around callbacks cho semantics như transaction.
  • Async Support: Hỗ trợ async/await đầu-class cho guards và callbacks.
  • No-std Compatible: Hoạt động trên các target nhúng như ESP32, bare metal.
  • Type-safe: Chuyển tiếp không hợp lệ thành lỗi compile, không phát sinh runtime.
  • Hierarchical States: Superstates với polymorphic transitions qua trait SubstateOf.
  • Dynamic Dispatch: Phát sự kiện runtime tùy chọn, phù hợp hệ thống event-driven.

💡 Vì sao值得关注

Điểm biệt của state-machines-rs nằm ở định hướng học tập: codebase được chú giải kỹ thuật, giúp Rubyist làm quen với ownership, trait bounds, và macro một cách tự nhiên. Dù vậy, nó không kém phần mạnh mẽ – zero-cost abstractions, PhantomData, và move semantics đảm bảo hiệu năng cao. Phù hợp cho cả dự án nhúng và hệ thống cần độ tin cậy tối đa, đây là lựa chọn thú vị cho ai muốn kết hợp học tập và thực tế.


#Rust #StateMachines #Embedded #NoStd #TiniX

Dự án tương tự

Khám phá các dự án và mô hình AI khác có sự tương đồng.

Modelsentence-similarity
sentence-transformers/all-MiniLM-L6-v2

all-MiniLM-L6-v2 This is a sentence-transformers(https://www.SBERT.net) model: It maps sentences & paragraphs to a 384 dimensional dense vector space and can be used for tasks like clustering or semantic search. Usage (Sentence-Transformers) Using t...

♥0
190.8M
Jun 1, 2026
RepositoryRust
rhaiscript/rhai

Rhai - An embedded scripting language for Rust.

5.8k
Oct 27, 2026
RepositoryRust
farion1231/cc-switch

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

149.3k
Oct 27, 2026
RepositoryRust
spacedriveapp/spacedrive

Spacedrive is an open source cross-platform file explorer, powered by a virtual distributed filesystem written in Rust.

39.3k
Oct 13, 2026
RepositoryC
raysan5/raylib

A simple and easy-to-use library to enjoy videogames programming

35.4k
Oct 25, 2026
RepositoryTypeScript
nilbuild/developer-roadmap

Interactive roadmaps, guides and other educational content to help developers grow in their careers.

370.5k
Oct 27, 2026
RepositoryMarkdown
DigitalPlatDev/FreeDomain

Free domain registration and practical DNS learning resources for everyone.

206.0k
Aug 12, 2026
RepositoryC++
tensorflow/tensorflow

An Open Source Machine Learning Framework for Everyone

201.2k
Oct 24, 2026
RepositoryRust
rustdesk/rustdesk

An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.

127.3k
Oct 27, 2026