Được TopGit lập chỉ mục từ metadata GitHub: traefik/yaegi có 8.4k sao, viết chủ yếu bằng Go. Yaegi is Another Elegant Go Interpreter
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
Yaegi is Another Elegant Go Interpreter.
It powers executable Go scripts and plugins, in embedded interpreters or interactive shells, on top of the Go runtime.
Features
Complete support of Go specification
Written in pure Go, using only the standard library
Simple interpreter API: New(), Eval(), Use()
Works everywhere Go works
All Go & runtime resources accessible from script (with control)
Security: unsafe and syscall packages neither used nor exported by default
Support the latest 2 major releases of Go (Go 1.21 and Go 1.22)
Install
Go package
import "github.com/traefik/yaegi/interp"
Command-line executable
go install github.com/traefik/yaegi/cmd/yaegi@latest
Note that you can use rlwrap (install with your favorite package manager),
and alias the yaegi command in alias yaegi='rlwrap yaegi' in your ~/.bashrc, to have history and command line edition.
$ cat /tmp/test
#!/usr/bin/env yaegi
package main
import "fmt"
func main() {
fmt.Println("test")
}
$ ls -la /tmp/test
-rwxr-xr-x 1 dow184 dow184 93 Jan 6 13:38 /tmp/test
$ /tmp/test
test
Documentation
Documentation about Yaegi commands and libraries can be found at usual godoc.org.
Key documentation of the internal design: https://marc.vertes.org/yaegi-internals/ Also see interp/trace.go for helpful printing commands to see what is happening under the hood during compilation.
Limitations
Beside the known bugs which are supposed to be fixed in the short term, there are some limitations not planned to be addressed soon:
Assembly files (.s) are not supported.
Calling C code is not supported (no virtual "C" package).
Directives about the compiler, the linker, or embedding files are not supported.
Interfaces to be used from the pre-compiled code can not be added dynamically, as it is required to pre-compile interface wrappers.
Representation of types by reflect and printing values using %T may give different results between compiled mode and interpreted mode.
Interpreting computation intensive code is likely to remain significantly slower than in compiled mode.
Go modules are not supported yet. Until that, it is necessary to install the source into $GOPATH/src/github.com/traefik/yaegi to pass all the tests.
traefik/yaegi thuộc nhóm Backend trên TopGit, cùng 3 topic GitHub. Trang Trending và Topics liệt kê các repo cùng số sao và cùng ngôn ngữ để so sánh.
Đọc thêm về traefik/yaegi ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/traefik/yaegi là nguồn chính thức.
traefik/yaegi có phải mã nguồn mở không?
Có — traefik/yaegi phát hành theo license Apache-2.0, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/traefik/yaegi.
traefik/yaegi có trang demo không?
Dự án có trang chủ ở https://pkg.go.dev/github.com/traefik/yaegi. Tab "Readme" ở trang này thường có ảnh chụp và hướng dẫn bắt đầu nhanh.
traefik/yaegi dùng license gì?
traefik/yaegi phát hành theo license Apache-2.0. Nên mở file LICENSE trên GitHub để xác nhận — license metadata đôi khi lệch với thực tế dự án.
traefik/yaegi là gì?
traefik/yaegi (traefik/yaegi) là dự án Go trên GitHub. Theo mô tả gốc: Yaegi is Another Elegant Go Interpreter
Vì sao traefik/yaegi được xếp vào nhóm Backend?
TopGit xếp traefik/yaegi vào nhóm Backend dựa trên GitHub topics và mô tả của repo (gắn thẻ: "go", "golang", "interpreter"). Việc phân loại dựa trên metadata thật của repo, không phải đoán theo cảm tính biên tập.
Đọc đầy đủ README ở tab phía trên.
Chưa chắc yaegi có hợp với bạn?
Để ChatGPT, Claude hoặc Perplexity tìm hiểu giúp — bấm bên dưới và xem AI nói gì về yaegi.