Overview

Mutable references in the IO monad


Table of contents


IORef (class)

Signature

export class IORef<A> {
  constructor(private value: A) { ... }
  ...
}

Example

import { newIORef } from 'fp-ts/lib/IORef'

assert.strictEqual(
  newIORef(1)
    .chain(ref => ref.write(2).chain(() => ref.read))
    .run(),
  2
)

Added in v1.8.0

write (method)

Signature

write(a: A): IO<void> { ... }

Added in v1.8.0

modify (method)

Signature

modify(f: (a: A) => A): IO<void> { ... }

Added in v1.8.0

newIORef (function)

Signature

export const newIORef = <A>(a: A): IO<IORef<A>> => ...

Added in v1.8.0