{"@context":"https://w3id.org/codemeta/3.0","@type":"SoftwareSourceCode","identifier":"pkg:golang/github.com/aabbtree77/determinism","name":"github.com/aabbtree77/determinism","description":"Package starlark provides a Starlark interpreter.\n\nStarlark values are represented by the Value interface.\nThe following built-in Value types are known to the evaluator:\n\nClient applications may define new data types that satisfy at least\nthe Value interface.  Such types may provide additional operations by\nimplementing any of these optional interfaces:\n\nClient applications may also define domain-specific functions in Go\nand make them available to Starlark programs.  Use NewBuiltin to\nconstruct a built-in value that wraps a Go function.  The\nimplementation of the Go function may use UnpackArgs to make sense of\nthe positional and keyword arguments provided by the caller.\n\nStarlark's None value is not equal to Go's nil, but nil may be\nassigned to a Starlark Value.  Be careful to avoid allowing Go nil\nvalues to leak into Starlark data structures.\n\nThe Compare operation requires two arguments of the same\ntype, but this constraint cannot be expressed in Go's type system.\n(This is the classic \"binary method problem\".)\nSo, each Value type's CompareSameType method is a partial function\nthat compares a value only against others of the same type.\nUse the package's standalone Compare (or Equal) function to compare\nan arbitrary pair of values.\n\nTo parse and evaluate a Starlark source file, use ExecFile.  The Eval\nfunction evaluates a single expression.  All evaluator functions\nrequire a Thread parameter which defines the \"thread-local storage\"\nof a Starlark thread and may be used to plumb application state\nthrough Sklyark code and into callbacks.  When evaluation fails it\nreturns an EvalError from which the application may obtain a\nbacktrace of active Starlark calls.","license":"https://spdx.org/licenses/BSD-3-Clause","codeRepository":"https://github.com/aabbtree77/determinism","issueTracker":"https://github.com/aabbtree77/determinism/issues","url":"https://github.com/aabbtree77/determinism","programmingLanguage":{"@type":"ComputerLanguage","name":"Go"},"dateModified":"2025-12-23","datePublished":"2025-12-23","softwareHelp":{"@type":"WebSite","url":"https://pkg.go.dev/github.com/aabbtree77/determinism#section-documentation"},"applicationCategory":"go","runtimePlatform":"go","developmentStatus":"active","sameAs":["https://pkg.go.dev/github.com/aabbtree77/determinism"]}