awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
d5 avatar

d5/tengo

0
View on GitHub↗
3,821 stele·330 fork-uri·Go·MIT·12 vizualizăritengolang.com↗

Tengo

Tengo is a dynamic, embeddable scripting language for Go applications that allows for the execution of custom scripts without requiring the host binary to be recompiled. It operates as a bytecode-compiled virtual machine, transforming source code into a compact intermediate representation for execution on a stack-based engine.

The system is designed as a secure scripting sandbox, enforcing strict limits on memory allocation and execution time to safely run untrusted code. It supports concurrent script execution by cloning compiled bytecode and using recursive immutability conversion to share data safely across multiple threads.

The engine provides a comprehensive set of capabilities including modular code organization, custom object type definitions, and interface-based data exchange. Its functional surface covers mathematical computation, time and date management, text manipulation, and structured JSON data processing.

Users can execute scripts via a command-line interface or an interactive read-eval-print loop.

Features

  • Embedded Script Execution - Provides a complete scripting language runtime that can be embedded into Go applications for dynamic logic execution.
  • Go Scripting Runtimes - Provides a dynamic scripting runtime specifically designed for native integration into Go applications.
  • Code Execution Sandboxes - Provides a secure, isolated environment to execute scripts with strict memory and time limits.
  • Bytecode Compilation - Transforms source code into a compact intermediate representation to enable efficient execution on a virtual machine.
  • Bytecode Virtual Machines - Implements a high-performance stack-based virtual machine that executes bytecode compiled from source code.
  • Embedded Scripting Languages - Provides a dynamically typed language designed specifically for integration into host applications.
  • Embedded Scripting Sandboxes - Provides a secure execution environment with strict memory and time limits to safely run untrusted embedded scripts.
  • Execution Flow Control - Implements essential language constructs like loops and conditionals to manage the execution flow of scripts.
  • Interface-Based Marshalling - Uses interface-based wrappers to map native Go structures to objects accessible within the scripting environment.
  • Stack-Based Virtual Machines - Utilizes a stack-based architecture to process bytecode instructions for computations and logic.
  • Sandbox Resource Caps - Enforces strict memory and execution time limits to prevent scripts from exhausting host resources.
  • JSON and Data Parsing - Includes built-in capabilities for parsing, serializing, and manipulating JSON data for host-script communication.
  • Dynamic Logic Configuration - Provides a framework for managing application behavior and configuration through dynamic, non-recompiling external scripts.
  • Read-Eval-Print Loops - Ships an interactive read-eval-print loop for real-time testing of code snippets and expressions.
  • Array Manipulations - Supports common array operations such as appending, removing, and splicing elements.
  • Bytecode Cloning - Enables concurrent script execution by creating independent copies of compiled bytecode for safe parallel processing.
  • Custom Type Definitions - Enables the creation of new first-class types through the implementation of custom interfaces.
  • Script Module Resolution - Manages the discovery and import of external script files using configurable search paths.
  • Relative Import Resolvers - Resolves module imports using relative paths based on the location of the importing script.
  • Immutability Converters - Implements recursive conversion of mutable data structures into immutable versions for safe concurrent sharing.
  • Application Logic Automation - Allows the creation of scripts to handle complex decision-making and repetitive tasks within a host environment.
  • Concurrent Execution Cloning - Supports parallel script execution by cloning compiled bytecode and state across multiple threads.
  • Module Import Resolution - Locates and loads external script files using relative paths to support modular code organization.
  • Immutable Data Management - Enforces read-only constraints on primitive types and marks collections as immutable to ensure thread safety.
  • Immutable Data Snapshotting - Ensures thread safety by creating read-only snapshots of arrays and maps for concurrent script instances.
  • Modular Code Organization - Supports modular code organization by importing external files and exporting values for reuse.
  • Dynamic Configuration Management - Enables real-time updating and application of behavior and settings during an active session via embedded scripts.
  • Compilers and Interpreters - Scripting language written in Go.
  • Embedded Scripting - Bytecode-compiled scripting language.
  • Scripting - Fast scripting language for Go.
  • Scripting Languages - Bytecode-compiled scripting language for Go.

Istoric stele

Graficul istoricului de stele pentru d5/tengoGraficul istoricului de stele pentru d5/tengo

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Tengo

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Tengo.
  • yuin/gopher-luaAvatar yuin

    yuin/gopher-lua

    6,933Vezi pe GitHub↗

    Gopher-lua is a complete implementation of the Lua language and its standard libraries written natively in Go. It serves as an embedded scripting engine and virtual machine that allows Go applications to execute Lua scripts and exchange data between the host and the script environment. The project provides a bytecode compiler to transform source code into a binary format for faster execution. It enables deep integration between the two languages by allowing the registration of native Go functions to be called from scripts, and the invocation of script functions directly from Go. The engine c

    Gogogopher-lualua
    Vezi pe GitHub↗6,933
  • antonmedv/exprAvatar antonmedv

    antonmedv/expr

    7,905Vezi pe GitHub↗

    Expr is a high-performance expression evaluation engine and language for Go applications. It functions as a dynamic rule engine that parses and executes custom logic and data validations at runtime without requiring the application to be recompiled. The system utilizes a sandboxed logic executor to run expressions without side effects. It ensures program termination by employing instruction-level loop detection to prevent infinite loops and isolates the evaluation process from the host system. The engine employs a bytecode-based virtual machine and abstract syntax tree analysis to achieve ex

    Go
    Vezi pe GitHub↗7,905
  • shopify/go-luaAvatar Shopify

    Shopify/go-lua

    3,443Vezi pe GitHub↗

    A Lua VM in Go

    Go
    Vezi pe GitHub↗3,443
  • rhaiscript/rhaiAvatar rhaiscript

    rhaiscript/rhai

    5,453Vezi pe GitHub↗

    Rhai is an embedded scripting engine and dynamically typed language designed for integration into Rust applications. It functions as an abstract syntax tree compiler and native interop layer, allowing developers to map Rust types and functions into a scripting environment for bidirectional communication. The project serves as a framework for creating customizable domain-specific languages. It allows for the definition of custom operators, syntax, and restricted execution environments, enabling the creation of specialized languages with tailored functional sets. The engine covers a broad rang

    Rustembeddedembedded-scripting-languageno-std
    Vezi pe GitHub↗5,453
Vezi toate cele 30 alternative pentru Tengo→

Întrebări frecvente

Ce face d5/tengo?

Tengo is a dynamic, embeddable scripting language for Go applications that allows for the execution of custom scripts without requiring the host binary to be recompiled. It operates as a bytecode-compiled virtual machine, transforming source code into a compact intermediate representation for execution on a stack-based engine.

Care sunt principalele funcționalități ale d5/tengo?

Principalele funcționalități ale d5/tengo sunt: Embedded Script Execution, Go Scripting Runtimes, Code Execution Sandboxes, Bytecode Compilation, Bytecode Virtual Machines, Embedded Scripting Languages, Embedded Scripting Sandboxes, Execution Flow Control.

Care sunt câteva alternative open-source pentru d5/tengo?

Alternativele open-source pentru d5/tengo includ: yuin/gopher-lua — Gopher-lua is a complete implementation of the Lua language and its standard libraries written natively in Go. It… antonmedv/expr — Expr is a high-performance expression evaluation engine and language for Go applications. It functions as a dynamic… shopify/go-lua — A Lua VM in Go. rhaiscript/rhai — Rhai is an embedded scripting engine and dynamically typed language designed for integration into Rust applications.… janet-lang/janet — Janet is a Lisp-based dynamic programming language featuring a register-based bytecode virtual machine and an… gopl-zh/gopl-zh.github.com — This project is a Chinese translation of a comprehensive guide to the Go programming language. It serves as a…