How phunkie/effect works
Phunkie Effect is a PHP functional effects library centered on lazy IO values: application code builds effect descriptions, composes them, and runs them at an application boundary. Its domain capabilities include sequential composition, error recovery, resource safety, parallel combination, and asynchronous/racing execution; IOApp adds command-line parsing and process output. The graph preserves documented capabilities even where implementation excerpts are absent. Edges are limited to relationships shown in excerpts, the source index, or README; unsampled resource and helper internals are not inferred.
Main entry points: IO.php Lazy IO · Options.php Option Parser · ExecutionContext.php Execution Context · ConcurrentOps.php Race And Timeout
Components 27
IO Effects
- Lazy IO
src/IO/IO.php - IO Constructors
src/Functions/io.php - Resource Safety
src/IO/Resource.php - Exit Cases
src/IO/ExitCase.php
Composition Ops
- Functor Ops
src/Ops/IO/FunctorOps.php - Applicative Ops
src/Ops/IO/ApplicativeOps.php - Monad Ops
src/Ops/IO/MonadOps.php - Error Recovery
src/Ops/IO/MonadErrorOps.php - Parallel Ops
src/Ops/IO/ParallelOps.php - Parallel Contract
src/Cats/Parallel.php
Concurrency
- Race And Timeout
src/Ops/IO/ConcurrentOps.php - Blocking Work
src/Concurrent/Blocker.php - Execution Context
src/Concurrent/ExecutionContext.php - Fiber Context
src/Concurrent/FiberExecutionContext.php - Thread Context
src/Concurrent/ParallelExecutionContext.php - Async Handle
src/Concurrent/AsyncHandle.php - Cancellable Handle
src/Concurrent/CancellableHandle.php - Timeout Error
src/Concurrent/TimeoutException.php
Application Runtime
- IO App Entry
src/IO/IOApp.php - Option Parser
src/IO/IOApp/Options.php - Option Definitions
src/IO/IOApp/OptionDefinition.php - Option Formats
src/IO/IOApp/OptionFormat.php - Parsed Options
src/IO/IOApp/ParsedOptions.php - CLI Errors
src/IO/IOApp/Error.php - CLI Builders
src/Functions/ioapp.php - Console Effects
src/Functions/console.php
Other components
- Application Code
Connections 35
- Application Code → IO Constructors: constructs effects
README.md - IO Constructors → Lazy IO: creates IO
src/Functions/io.php - Application Code → IO App Entry: defines app
src/IO/IOApp.php - IO App Entry → Option Parser: parses arguments
src/IO/IOApp.php - Option Parser → Option Definitions: uses definitions
src/IO/IOApp/Options.php - Option Parser → Option Formats: checks formats
src/IO/IOApp/Options.php - Option Parser → Parsed Options: produces options
src/IO/IOApp/Options.php - Option Parser → CLI Errors: returns parse errors
src/IO/IOApp/Options.php - CLI Builders → Option Parser: builds definitions
src/Functions/ioapp.php - Lazy IO → Functor Ops: uses operations
src/IO/IO.php - Lazy IO → Applicative Ops: uses operations
src/IO/IO.php - Lazy IO → Monad Ops: uses operations
src/IO/IO.php - Lazy IO → Error Recovery: uses operations
src/IO/IO.php - Lazy IO → Parallel Ops: uses operations
src/IO/IO.php - Lazy IO → Race And Timeout: uses operations
src/IO/IO.php - Lazy IO → Fiber Context: defaults to
src/IO/IO.php - Lazy IO → Execution Context: accepts context
src/IO/IO.php - Parallel Ops → Thread Context: requires context
src/Ops/IO/ParallelOps.php - Parallel Ops → Blocking Work: runs blockers
src/Ops/IO/ParallelOps.php - Parallel Ops → Parallel Contract: combines values
src/Ops/IO/ParallelOps.php - Race And Timeout → Blocking Work: dispatches blocking
src/Ops/IO/ConcurrentOps.php - Race And Timeout → Execution Context: dispatches effects
src/Ops/IO/ConcurrentOps.php - Race And Timeout → Cancellable Handle: polls and cancels
src/Ops/IO/ConcurrentOps.php - Race And Timeout → Timeout Error: raises timeout
src/Ops/IO/ConcurrentOps.php - Blocking Work → Execution Context: delegates execution
src/Concurrent/Blocker.php - Execution Context → Async Handle: returns handle
src/Concurrent/ExecutionContext.php - Fiber Context → Execution Context: implements context
src/Concurrent/FiberExecutionContext.php - Fiber Context → Async Handle: returns handle
src/Concurrent/FiberExecutionContext.php - Thread Context → Execution Context: implements context
src/Concurrent/ParallelExecutionContext.php - Thread Context → Cancellable Handle: returns handle
src/Concurrent/ParallelExecutionContext.php - Thread Context → Async Handle: returns handle
src/Concurrent/ParallelExecutionContext.php - IO App Entry → Lazy IO: returns program
src/IO/IOApp.php - IO App Entry → Console Effects: writes output
- Lazy IO → Resource Safety: supports resource safety
README.md - Application Code → Parallel Ops: combines in parallel
README.md