FileWrite

eff FileWriteSource

An effect used to write to the file system.

All operations on this effect are infalliable. If an operation fails the handler must deal with it.

Operations

def append(data: { str = String }, f: String): Unit Source

Appends str to the given file f.

Creates the file f if it does not exist.

def appendBytes(data: Vector[Int8], f: String): Unit Source

Appends data to the given file f.

Creates the file f if it does not exist.

def appendLines(data: { lines = List[String] }, f: String): Unit Source

Appends lines to the given file f.

Creates the file f if it does not exist.

def mkDir(d: String): Unit Source

Creates the directory d.

def mkDirs(d: String): Unit Source

Creates the directory d and all its parent directories.

def truncate(f: String): Unit Source

Truncates the given file f.

def write(data: { str = String }, f: String): Unit Source

Writes str to the given file f.

Creates file f if it does not exist. Overwrites it if it exists.

def writeBytes(data: Vector[Int8], f: String): Unit Source

Writes data to the given file f.

Creates file f if it does not exist. Overwrites it if it exists.

def writeLines(data: { lines = List[String] }, f: String): Unit Source

Writes lines to the given file f.

Creates f if it does not exist. Overwrites it if it exists.

Definitions

def handle(f: a -> b \ ef): a -> Result[IoError, b] \ (ef & (~FileWrite)) + IO Source

Handles the FileWrite effect of the given function f.

In other words, re-interprets the FileWrite effect using the IO effect.