lux/codata/io
A method for abstracting I/O and effectful computations to make it safe while writing pure functional code.
Types
IO
A type that represents synchronous, effectful computations that may interact with the outside world.
(type: (IO a)
(-> lux;Void a))
Macros
io
## Delays the evaluation of an expression, by wrapping it in an IO 'thunk'.
## Great for wrapping effectful computations (which won't be performed until the IO is "run").
(io (exec
(log! msg)
"Some value..."))
Structs
Applicative<IO>
(lux/control/applicative;Applicative IO)
Functor<IO>
(lux/control/functor;Functor IO)
Monad<IO>
(lux/control/monad;Monad IO)
Values
(run action)
A way to execute IO computations and perform their side-effects.
(All [a] (-> (IO a) a))