Luau Library for Immutable Data
Hello all! Since I do not do much Roblox game development these days (among other reasons), I will no longer be maintaining Llama.
Thank you to all of Llama's contributors, and I am verry sorry for any inconveniences I have caused.
If you have a good alternative to Llama, email me at [email protected] so I can link to it in this readme and archive Llama.
I recommend you do not fork Llama for these reasons:
If I do return to Roblox development in the future and no alternatives have been created yet, I may create a new immutable collections library. I will then hopefully have more experience with open-source projects and software development in general.
Thank you all again!
There are a few ways to get started with Llama.
.rbxmx
model file from the latest release on the Llama releases page.src
directory of Llama into your project.Llama
.t
under the Llama directory. (this step will hopefully be resolved in the future by package managers or Luau type-checking)git submodule add https://github.com/F-RDY/llama.git
.Llama/src
into Roblox Studio!Coming Soon™
To use Llama, simply require it as a module from where you installed it! It is also recommended that you set Llama.Dictionary
, Llama.List
, and Llama.Set
to their own variables; otherwise, you'll be typing a lot!
-- Other modules...
local Llama = require(LlamaPath)
local Dictionary = Llama.Dictionary
local List = Llama.List
local Set = Llama.Set
Rodux requires your state to be immutable, so Llama is a great choice for manipulating it!
local function reducer(state, action)
if action.type == "Add" then
return Dictionary.merge(state, {
counter = counter + 1
})
elseif action.type == "Subtract" then
return Dictionary.merge(state, {
counter = counter - 1
})
end
end
Visit the docs for examples and API reference.
Llamas are members of the Camelid group of mammals along with alpacas, camels, and dromedaries, which are known for being very stubborn but reliable animals.