Bindings for Erlang's ETS tables. Forked and updated from gts.
If you aren't familiar with ETS tables, this is a good introduction.
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
}
This package is available on hex:
gleam add carpenter
Its documentation can be found at https://hexdocs.pm/carpenter.