yaegi

Yaegi is Another Elegant Go Interpreter

APACHE-2.0 License

Downloads
5
Stars
6.7K
Committers
39

Bot releases are visible (Hide)

yaegi - v0.9.17

Published by traefiker over 3 years ago

Changelog

428b658 Allow colon-equal to override variable type
9aeb78f interp: fix method lookup for aliased types
3e3f8d5 interp: implement unsafe.Offsetof
a241119 interp: improve handling of aliased types
7863456 interp: refactor slice type management

yaegi - v0.9.16

Published by traefiker over 3 years ago

Changelog

451c754 extract: process interface wrapper method with variadic parameter
84ad467 fix #1056, extract: replace the code for get package name.
9926767 interp: allow redeclaration of imports
ec5392d interp: do not skip use of tmp frame in multi-assign
aa2621f interp: fix a panic when embedding an error interface
2b1d6f0 interp: fix append on variadic recursive struct
d92051d interp: treat var declaration within a block as a define statement

yaegi - v0.9.15

Published by traefiker over 3 years ago

Changelog

51e0b46 Use fmt.Fprintln instead of fmt.Println in runCfg
fdfcb9c interp: do not check properties of incomplete types
a988459 interp: fix a memory management issue causing wrong closure context
7d8fdbc interp: fix closure in a struct field

yaegi - v0.9.14

Published by traefiker over 3 years ago

Changelog

8bb5daf feat: update stdlib mapping for go1.16
eb06aee fix: use portable path manipulation for choosing package names

yaegi - v0.9.13

Published by traefiker over 3 years ago

Changelog

ac80d1b interp: fix setting interface objects from operators

yaegi - v0.9.12

Published by traefiker over 3 years ago

Changelog

ff521ec fix: handle function references in composite bin map
d73111c fix: untyped check
bd60de5 interp: allow early constant evaluation from builtin call
6337f8b interp: clarify error about GOPATH probably not set
61b4980 interp: do not panic in case of invalid constant definition
2e17cfa interp: do not wrap empty interface
3f4e166 interp: fix default type for constants from runtime
b9b0897 interp: fix nil value check in case of interface
100d090 interp: fix sending object implementing an interface through channel

yaegi - v0.9.11

Published by traefiker over 3 years ago

Changelog

274eecd interp: fix type recursivity detection

yaegi - v0.9.10

Published by traefiker over 3 years ago

Changelog

a64fe5b interp: fix detection of type recursivity
8fa00f8 interp: fix map assignment from arithmetic operations
5c59dc4 interp: fix operators working on integer constants
8ad14d8 interp: handle aliased string used as a slice
8a1f9ef interp: parse circular interface definitions

yaegi - v0.9.8

Published by traefiker almost 4 years ago

Changelog

b25ee3f interp: fix method lookup on aliased types
662d2a6 interp: fix parsing of assign to dereferenced pointer
2db4579 interp: fix short-form type assertions
81e1e5f interp: handle getting address of interpreter interface value
92d65c2 interp: remove incorrect type check on array object
1e0f6ec interp: support more type assertion cases
101633c interp: support two more type assertion cases

yaegi - v0.9.7

Published by traefiker almost 4 years ago

Changelog

6da1107 fix: do not confuse function call with type conversion
d494f9e interp: support calling goto from sub-scope

yaegi - v0.9.6

Published by traefiker almost 4 years ago

Changelog

1378388 interp: avoid useless interface wrapping
d0a34d4 interp: fix getting unsigned constant value
38a7331 interp: fix type check on function signature
ed626f3 interp: support conversion of runtime func into interp func

yaegi - v0.9.5

Published by traefiker almost 4 years ago

Changelog

f0fc907 extract: support building/running yaegi with Go devel
8367657 fix: use the import path for types
b1ccfbf interp: apply type conversion on untyped variable at run
61f4704 interp: fix CFG in case of for loop with empty init and cond
c817823 interp: fix incorrect infinite loop on for statement
a38d192 interp: fix testing for nil interface values
7f8ffa6 interp: handle explicit nil values in literal composite values
0ed4b36 interp: implement conversion for interpreter function types
3cb8bca interp: on panic, look for node where offending exec originated from
9880738 interp: resolve type for untyped shift expressions

yaegi - v0.9.4

Published by traefiker almost 4 years ago

Changelog

68c02ce feature: expose extract package, previously internal
4b3e9ee feature: use environment in addition to flags to control test options
8916618 interp: API change for Symbols method
d47821b interp: add indexExpr check for reflect.Array
c74d050 interp: added kind to log for typecheck (#910)
d7ede8e interp: added sliceExpr and starExpr
22c63b2 interp: fix array size definition in case of forward declared constant
c0eaab0 interp: fix assignable check
804664c interp: fix type check in constant unary operations
513f5e3 interp: fix type conversion for constant expressions
9520a92 interp: fix type in assign of shift operations

yaegi - v0.9.3

Published by traefiker about 4 years ago

Changelog

6b652ea feature: provide a version sub-command
a83ec1f fix: allow yaegi command to interpret itself
e32da38 fix: append from / to runtime defined array
473bc63 fix: behavior of select and time ticker
b78d55c fix: compute array type size from constant expression
9491e58 fix: correct handling of select comm clause with empty body
b2b519c fix: correctly return constant expressions in functions
190dade fix: detect a wrong number of arguments at return
f362237 fix: perform constant type conversion when required
16f5586 interp: apply integer division when appropriate
ca196a5 interp: fix implicit type for bin composite lit case
57b49f4 interp: make Symbols method take into account type objects too
155ca4e interp: support implicit-type slice of pointers of struct composite literal

yaegi - v0.9.2

Published by traefiker about 4 years ago

Changelog

0dde990 feature: improve extract, add unrestricted syscalls
4cfeb19 fix: concurrent eval test
ec64b00 fix: convert struct tags properly
c3cf301 fix: replace playground link in docs
f36d4e0 fix: yaegi os.Args should contain the script name
5dfc3b8 interp: fix division for const

yaegi - v0.9.1

Published by traefiker about 4 years ago

Changelog

c06f83f fix: correct access to parameter type for variadic binary methods
3ae01a2 interp: refactor doComposite cases

yaegi - v0.9.0

Published by traefiker about 4 years ago

Changelog

cb0f3a7 REPL: retry with full wrapping for anonymous func calls
f4cc059 TestEvalScanner: "fix" data race
f3f9ffa feat: add builtin type checking
913680d feat: add call expression (not builtin) type checking
1029d10 feat: add slice expression type checking
358a57b feat: add star expression type checking
3640f2f feat: add type assertion expression type checking
341c69d feat: configure stdin, stdout and stderr per interpreter
b1279d0 feature: improve handling of interrupt signal in REPL
151699e feature: test subcommand to run test and benchmark functions
065d4fa fix: add mutual exclusion locks for cancelable select
e332a6b fix: check array size symbol kind
da9e6a0 fix: composite literal type check
9ddecfa fix: correct index for embedded binary method receiver
f1f3ca7 fix: handle interface fields in literal composite structs
42abedb fix: keep atomic counter aligned on 64 bits boundary
a004809 fix: main command for goreleaser.
1edb6a1 fix: native build of syscalls on android and illumos
535e7e1 interp: enable declaration errors detection at parsing time
a2f5643 interp: fix data race for composite literal creation
04770a4 interp: fix data races (#839)
332becf interp: more tests for ignoreScannerError
896bfeb interp: new EvalPath API
3faa47c interp: take into account embedded property of struct field

yaegi - v0.8.14

Published by ldez about 4 years ago

b0cd93a fix: correct interrupt signal handling in REPL
611a8c3 interp: make REPL stricter about parsing errors
1fe75f1 feat: update stdlib mapping for go1.15
cdc352c feat: add index and composite literal type checking
88569f5 fix: interface call regression from #787
2ac0c6f feature: command line provide sub-commands
bd4ce37 feat: refactor type checking
25c681c fix: regression on range following #787
9c51f6b fix: correct range on arrays of interface objects
589b2a0 fix: correct conversion to int in slice index expressions.
68911f8 fix: type assertion expression was not forwarding type
e5a7b0d extract: new package to extract symbols from a dependency

yaegi - v0.8.13

Published by traefiker over 4 years ago

Changelog

0c8f538 fix: apply method receiver offset when generating interface wrapper
5eecbe5 fix: compositeSparse handles fields of interface kind
0a79069 fix: correct control flow graph for range init expression
ca80ada fix: deal with untyped in type check
563270c interp: support yet another vendoring case

yaegi - v0.8.12

Published by traefiker over 4 years ago

Changelog

b376650 feature: restrict symbols which can exit the interpreter process
a8b1c2a fix: a const, non-const equality check must convert
8514444 fix: assert switch type from valueT in struct case (#747)
16ff52a fix: avoid a panic in CFG in case of incomplete type
2a70a71 fix: avoid infinite loop when parsing recursive types
659913e fix: convert type properly to the correct type
3c6df50 fix: dont allow calling init
98eacf3 fix: execute global variables in the correct order
d229c2a fix: handle Func Value in genFunctionWrapper params
9d4685d fix: handle interfaces in composite sparce (#749)
bc2b224 fix: make a copy of defined before detecting recursivness
640d142 fix: type assert when status is _