Skip to content

Reference Index

Chris Michael edited this page Oct 7, 2026 · 1 revision

Pudu

Reference Index

Every public module in @chrismichaelps/pudu-lang-environment@0.1.0, with its chapter.

Module Purpose Chapter
PuduLangEnvironment Problem, describe, isSkippable Problems And Strictness
PuduLangEnvironment.Options Options, defaults, validate, the Configuring chain Options And Discovery
PuduLangEnvironment.Source File, Text, Data, label, lines Sources And Encodings
PuduLangEnvironment.Discovery discover, probe, locate Options And Discovery
PuduLangEnvironment.Loader read, load, readOver, loadOver, the Loading chain Getting Started
PuduLangEnvironment.Variables Variables, typed reads, secret, require, apply, describe, process Variables And Secrets
PuduLangEnvironment.Binding Variable, Bind and Redacted with their derives Typed Settings
PuduLangEnvironment.Settings bind, check Typed Settings
PuduLangEnvironment.Configuration Overlaying.withVariables over Std.App.Config Application Configuration
PuduLangEnvironment.Domain.Encoding Utf8, Ascii, Latin1, Utf16Le, Utf16Be, Utf32Le, Utf32Be, decode, name Sources And Encodings

The pure rules behind them — Domain.Parser, Domain.Expander, Domain.Layers, Domain.Cascade, Domain.Keys, and Domain.Values — are exported for tools that want the same reading without loading, and documented page by page in the repository's source map.

Functions

Function Answers
Environment.describe(&problem) one sentence naming keys, lines, and paths, never a value
Environment.isSkippable(&problem) whether a lenient load records the problem and goes on
Options.defaults() lenient, .env, UTF-8, overwriting, inline comments on
Options.validate(&options) every conflict at once
Loader.read(&options) Result[Map[Str, Str], Problem]
Loader.load(&options) Result[Variables, Problem]
Loader.readOver(&options, &process) read over a process environment the caller gives
Loader.loadOver(&options, &process) load over a process environment the caller gives
Discovery.probe(start, levels, &names) the first directory upward holding one of the names
Discovery.locate(directory, path) a path located in a directory
Source.lines(&source, encoding) the source's lines, or why it has none
Variables.find / has / text the value of a key that is set and not empty
Variables.int / float / decimal / bool the converted value, Missing, or Malformed
Variables.findInt / findFloat / findDecimal / findBool the converted value or None
Variables.secret(&variables, key) the value as a Secret
Variables.require(&variables, &keys) every absent key at once
Variables.apply(&variables, &launch) the launch with every applied key
Variables.describe(&variables) the count of applied keys and the sources
Variables.process() the process environment as a view
Variables.settled(&loaded, &current, overwrite, sources, skipped) a view built by hand
Settings.bind(&variables, &validator) a derived record the validator accepted
Settings.check(record, &validator) the record when the validator accepts it
Encoding.decode(&bytes, encoding) the text, honouring a byte-order mark
config.withVariables(&variables) the configuration with each declared setting read from its variable

Clone this wiki locally