carpenter ๐Ÿ”จ

April 8, 2024 ยท View on GitHub

Package Version Hex Docs

Bindings for Erlang's ETS tables. Forked and updated from gts.

If you aren't familiar with ETS tables, this is a good introduction.

Quick start

import gleam/io
import carpenter/table

pub fn main() {
  // Set up and configure an ETS table
  let assert Ok(example) =
    table.build("table_name")
    |> table.privacy(table.Private)
    |> table.write_concurrency(table.AutoWriteConcurrency)
    |> table.read_concurrency(True)
    |> table.decentralized_counters(True)
    |> table.compression(False)
    |> table.set

  // Insert a value
  example
  |> table.insert([#("hello", "world")])

  // Retrieve a key-value tuple
  example
  |> table.lookup("hello")
  |> io.debug

  // Delete an object
  example
  |> table.delete("hello")

  // Delete a table
  example
  |> table.drop
}

Installation

This package is available on hex:

gleam add carpenter

Its documentation can be found at https://hexdocs.pm/carpenter.