carpenter 🔨

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 example: table.Set(String, String) =
   table.build("table_name")
   |> table.set
   |> table.privacy(table.Private)
   |> table.write_concurrency(table.AutoWriteConcurrency)
   |> table.read_concurrency(True)
   |> table.decentralized_counters(True)
   |> table.compression(False)

 // 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.

Search Document