Skip to main content

Permafrost

Permafrost

A Luau library for working with immutable data structures, including many built-in data manipulation functions.

 

Immutable data structures provide a variety of benefits as a result of not being able to be modified after creation, including being:

  • easier to reason about, and test,
  • easier to use in concurrent environments.

Installation

Permafrost is available as a Luau module or as a roblox-ts Typescript package.

Luau module via Wally

If you're using Wally to manage your Luau packages, you can add Permafrost by adding to the [dependencies] section of your wally.toml file:

Permafrost = "lastlevelstudios/permafrost@1.0.0"

And then run wally install to install the package.

Luau module manually

For a manual installation into Roblox Studio, you can download the rbxm file from the Releases tab on GitHub, or build your own by running:

rojo build --output permafrost.rbxm

Then, right-click on the desired parent in Roblox Studio (e.g. ServerScriptStorage) and choose "Insert from file..."; select the rbxm file.

Typescript module

Simply run the following in your roblox-ts project:

npm i @rbxts/permafrost

Documentation

You can see the full docs for the Permafrost library at permafrost.docs.lastlevel.dev.

Documentation can also be generated and published by a contributor using the command:

moonwave build --publish

License

Licensed under the MIT license (LICENSE.txt or http://opensource.org/licenses/MIT).