Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
harel documentation
harel documentation

Tutorial

  • 1. Your first machine
  • 2. Making states do something
  • 3. Reaching a conclusion: terminals and outcomes
  • 4. Guarding transitions
  • 5. Computed branching with selectors
  • 6. Hierarchy: composite states
  • 7. Time: durable timers
  • 8. Doing things at once: orthogonal regions
  • 9. Reuse: parametrized fragments
  • 10. Splitting across files: imports
  • 11. Composing machines: submachine invoke
  • 12. Data-parallel work: fan-out
  • 13. Passing data across boundaries
  • 14. Catching mistakes early: static validation
  • 15. Out-of-order events: defer

Operations & reference

  • Command-line interface
  • Visualization & tooling
  • Durability
  • Stores
    • DictStore — in-memory (default)
    • SqliteStore — one machine, zero infrastructure
    • LibsqlStore — libSQL / Turso (experimental)
    • RedisStore — all-network, no shared filesystem
    • PostgresStore — distributed SQL
    • RqliteStore — distributed SQLite over Raft
    • MongoStore — document store
    • DynamoDBStore — AWS serverless
  • Distribution
  • Transports
    • InMemoryTransport — in-process
    • SqliteTransport — durable, one host
    • LibsqlTransport — libSQL / Turso (experimental)
    • RedisTransport — pure-Redis, no global lock
    • PostgresTransport — per-group row, SKIP LOCKED
    • RqliteTransport — Raft-replicated queue
    • MongoTransport — per-group ready-index document
    • SqsTransport — AWS SQS FIFO (native fit)
  • Machine resolvers
  • Control plane
  • Remote actions (FaaS — Lambda / HTTP functions)
  • Monitoring TUI (harel monitor)
  • Architecture — how harel works
  • DSL reference
  • Public API
Back to top
Copyright ©
Made with Sphinx and @pradyunsg's Furo