GitHub

Repl primitive for the circuits ecosystem: commit / emit dual, turn, channel, session — plus the shared Cursor over append-only logs.

-- process token + free In/Out (open)
replCommit :: Repl -> [Text] -> IO ()   -- write TO the agent
replEmit   :: Repl -> IO [Text]         -- read FROM the agent
openRepl   :: Repl -> (Out (Kleisli IO) (,) [Text], In (Kleisli IO) (,) [Text])
-- unit plug: runOut inR outU / runIn outR inU  with openK ()

Backends: FIFO, PTY, inject, MusterRepl via Comm (openMusterRepl / attachMusterRepl — identity in ChannelConfig, self-echo filtered on emit).

Concrete transports (TCP/WebSocket, timers) live in circuits-io.

Formerly the cursor package; expanded to own the free REPL surface.

Read the original on github.com ↗