yaegi
yaegi copied to clipboard
Yaegi is Another Elegant Go Interpreter
Up to now functions could be stored as node values in frame (as for interpreter defined functions) or function values, directly callable by the Go runtime. We now always store...
### The following program `sample.go` triggers an unexpected result ```go package main import ( "fmt" ) func SomeFunc(defaultValue interface{}) interface{} { switch v := defaultValue.(type) { case string: return v...
### The following program `sample.go` triggers an unexpected result ```go package main import ( "fmt" ) func SomeFunc[T int | string](defaultValue T) T { switch v := any(&defaultValue).(type) { case...
### The following program `sample.go` triggers an unexpected result ```go package main import ( _ "github.com/jackc/pgx/v4/pgxpool" ) func main() { println("Hello, playground") } ``` ### Expected result ```console $ yaegi...
### The following program `sample.go` triggers an unexpected result ```go package main import "fmt" type funclistItem func() type funclist struct { list []funclistItem } func main() { funcs := funclist{}...
### Proposal Hi there, Can we have support for adding third party dependencies which are implemented using golang generic type to an interpreter? Appreciate any comments! Thanks, ### Background Let's...
no gc ?
### The following program `sample.go` triggers an unexpected result ```go package main func main() { v, _ := p.Inter.Eval(fmt.Sprintf("%s.CallPlugin", n)) callPlugin := v.Interface().(func(*response.TWebResponse, string, string) response.Plugin) res := callPlugin(r, pluginName,...
### Proposal Wouldnt it be possible to combine yaegi with delve such, that in a debug session e.g. halted at a break point, all available variables etc. (which could be...
### The following program `sample.go` triggers an unexpected result ```go package main // yaegi:tags purego import ( "fmt" "github.com/corazawaf/coraza/v3" ) func main() { waf, err := coraza.NewWAF(coraza.NewWAFConfig(). WithDirectives(`SecRule REMOTE_ADDR "@rx...
### The following program `sample.go` triggers an unexpected result ```go package main import ( "fmt" "go.opentelemetry.io/otel" ) func main() { fmt.Println(otel.Version()) } ``` ### Expected result ```console 1.24.0 ``` ###...