This repository was archived by the owner on Sep 8, 2026. It is now read-only.
v0.1.0
Changelog
- 2f86800 'enum' module (#166)
- 9e73f40 1. Added documentation on operators. 2. Add (char)-(int) operators
- 0e9c523 1. fix bytecode compile bug 2. update CLI
- 029a3c1 1. remove some stdmod functions for the latest Go version 2. add .travis.yml
- 90aafc8 Add 'is_function' and 'is_callable' builtin functions
- c1899f3 Add gpython to benchmark result
- 93fbccd Added Go mod hooks to goreleaser (#228)
- e94b3da Added builtin function from_json
- c4e6e61 Added builtin function to_json
- 65f84ec Added conversion functions: objectToInterface
- 50d0022 Added empty go.sum file for the release pipeline (#229)
- 1ca10a7 Added formatting docs (#187)
- ebddfd1 Added println (#144)
- a747c98 Builtin converts now take default values
- a8d838a Compile can take custom stdlibs
- b9c1c92 Compiler optimization first iteration (#165)
- fae8500 Convert returns second argument Object as it self in case of failure of conversion of first argument
- c3e41c2 Correct misattributed
string()details (#222) - f90d433 Corrected/changed variable names of the base64 and hex imports (instead of fmt) to correspond with the module name itself. (#375)
- fbbec88 Create LICENSE
- b2df4f5 Custom formatter based on go's fmt package. (#185)
- c437def Decoupled stdlib from vm, script and compiler (#126)
- 8171d58 Error Object (#4)
- 3b65ddf Extract ModuleGetter interface for dynamic imports (#349)
- 3eebecb Fix %v formatting (#181)
- cb1c8a4 Fix a bug for 'for' loop without condition: "for {}" (#100)
- c57a7f8 Fix a bug where len() builtin does not take immutable array
- 9c21c8a Fix a bug where user modules couldn't resolve builtin functions
- fc4e358 Fix a closure-block scope bug (#99)
- 5713eb6 Fix a slicing expression bug: allow low-index == len(a)
- 0afdfde Fix copying user functions (#366)
- b79fd4f Fix lint issues (#2)
- e668901 Fix nested file imports (#282)
- eda0495 Fix several module-related issues
- 9b4ab96 Fix typo in 'immutable_array.go' (#212)
- 40ad7aa Fix undefined value compatibility
- 388b3e7 Fixed goreleaser duplicate id error (#230)
- 0ae9a66 Fixed interoperability doc (#174)
- 0440786 Fixed missing ObjectPtr check in OpSetSelLocal (#194)
- 6ec360c Fixed panic when bailout is triggered in parser.ParseFile() (#113)
- 8eabc23 Fixed runtime error when iterating over undefined. (#177)
- 9c67444 Fixes a REPL bug (Issue #91) (#92)
- d9b300c For the OpMap VM instruction, since numElements is known just use the capacity hint. (#347)
- a7666f0 Handle panics by deferring recover as an error (#345)
- 3500c68 Improvements on compiler/VM error reporting (filename:line:col)
- 5e21abf IndexGet of Array, Index, ImmutableIndex, Bytes, String, Undefined
- 0c5e80b Limit the maximum size of string/bytes values (#121)
- 1a0c06b Made map IndexSet and IndexGet consistent. (#179)
- fa294d9 Merge pull request #14 from mdbazuin/feature/7-type-conversion-defaults
- bf79922 Merge pull request #18 from d5/d5-patch-1
- a95fbbd Merge pull request #20 from d5/d5-patch-1
- d55b667 Merge pull request #21 from 0xflotus/patch-1
- de63fba Merge pull request #217 from d5/mod_support
- 47418fd Merge pull request #23 from d5/gover
- 0016872 Merge pull request #25 from d5/scriptctx
- cb4b468 Merge pull request #27 from d5/d5-patch-1
- a32ef0a Merge pull request #28 from saromanov/fix-deprecated-values
- 6a5e4f7 Merge pull request #29 from mdbazuin/feature/encoding-json
- a562964 Merge pull request #30 from d5/indexable
- c7ae181 Merge pull request #32 from d5/d5-patch-1
- 4fd8836 Merge pull request #35 from d5/iterable
- c816b70 Merge pull request #36 from d5/doc
- 1acaf33 Merge pull request #40 from d5/d5-patch-1
- 1315489 Merge pull request #41 from d5/sandbox
- a1bd73f Merge pull request #43 from d5/printf
- 5e2187d Merge pull request #48 from d5/immutable
- c0bb733 Merge pull request #52 from d5/jsondoc
- 93917a4 Merge pull request #53 from d5/condexpr
- 0f1fe9b Merge pull request #54 from d5/d5-patch-1
- 481d79c Merge pull request #55 from Chyroc/feat-builtin-function-type
- fdc52a0 Merge pull request #58 from d5/stringstime
- f7b0cd8 Merge pull request #62 from d5/v1prep
- 61e534e Merge pull request #64 from d5/scriptmodule
- 6420628 Merge pull request #70 from d5/fix69
- 0d99cca Merge pull request #72 from d5/compiledset
- 4f222b1 Merge pull request #73 from d5/charop
- d90f286 Merge pull request #74 from d5/iarrlen
- edfb765 Merge pull request #76 from d5/is_function
- a9224a3 Merge pull request #81 from ripienaar/80
- e81380b Merge pull request #85 from ripienaar/84
- 9782d87 Merge pull request #86 from d5/ostestfix
- f482de6 Merge pull request #9 from d5/osmod
- 42ece93 Merge remote-tracking branch 'origin/master'
- 3f55a6b Modules (#5)
- d8c83b6 Moved interfaceToObject from scripts/conversion.go to objects/conversion.go as FromInterface
- 09f3d52 Opbinaryop and other minor optimizations (#157)
- 8858304 PR: builtin range function #326 (#328)
- 7970a35 README (#1)
- 052ae59 Refactored duplicate REPL code (#145)
- 880a281 Remove a link (standalone language) from README
- 5d8457a Removed double indirection for massive performance gains (#140)
- 46884c7 Removed redundant code in the VM with no performance loss. (#132)
- 3b53bc4 Revert "remove callable args alloc (#259)" (#260)
- 6dd573c Runtime error trace format (#111)
- 46c7190 Script.AddModule() to take *Script not *Compiled
- 7cc683e SetBuiltinFunctions and SetBuiltinModules (#120)
- f265f17 Stack trace for errors (#108)
- 1ee7425 Stdlib encodings: hex, base64 (#216) (#221)
- 39112d2 String keys allowed for map definitions. (#118)
- 09009d4 Substring function (#180)
- 1c92fff Update README.md
- 2caa4d1 Update README.md
- f97ab7f Update README.md
- ddd9fa8 Update README.md
- 5b449b3 Update README.md
- 22e1e35 Update README.md
- 3a9d293 Update README.md
- 66fbb50 Update README.md
- 0318d95 Update README.md
- d688d71 Update README.md
- f145261 Update README.md
- 131afe7 Update README.md
- cc2b0e5 Update README.md
- 5fa340c Update README.md
- 5ab5db0 Update README.md
- 76a5c59 Update README.md
- e01d7f4 Update README.md
- c60fc28 Update README.md
- bbed48e Update README.md
- 8027f96 Update README.md
- 030b4b9 Update README.md
- bf934d0 Update README.md
- 50af716 Update README.md
- de6dc1e Update README.md
- 9b0dcf4 Update README.md
- 1bcc189 Update README.md
- ab5289e Update README.md
- 5c713fe Update README.md
- dec1301 Update README.md
- 75e9e17 Update README.md
- adbbf41 Update README.md
- f4f70ba Update README.md (#270)
- 4f46460 Update documentation for compiled scripts
- 44248b8 Update interoperability.md
- 85d90f6 Update objects.md
- a373584 Updated docs for SetBuiltinFunctions and SetBuiltinModules (#131)
- dfcfd66 Use Object.Copy when cloning globals in Compiled (#393)
- 19d2945 Used by badge (#188)
- cb5cbad
lenbuiltin supports map and module map - 5164d1d add 'exec' module
- 37016f4 add 'printf' and 'sprintf' builtin functions
- 2b517f3 add 'rand' module (#90)
- a9a9380 add 'times' module
- bbc76a0 add 'to_json' and 'from_json' to builtin documentation
- 9ccc6dd add Bytecode.FormatInstructions and Bytecode.FormatConstants (#95)
- 6bc2cbe add CircleCI config
- b7977a4 add Compiled.Clone to make them safe for concurrent execution (#134)
- ac80580 add Eval function (#338)
- d08a636 add GitHub Actions (#293)
- 1045afd add Indexable / IndexAssignable interface
- 2486457 add Iterable interface
- 7095b56 add ModuleMap.Remove() (#155)
- 88ba20d add Script.DisableBuiltinFunction, Script.DisableStdModule, Script.SetUserModuleLoader functions
- 8e56bd8 add Script.Run() method
- 378bf51 add Time type; add is_array, is_immutable_array, is_map, is_immutable_map, is_time, time builtin function
- bff5900 add Variable.Error() function
- d1f7baf add Variable.IsUndefined()
- b203f09 add Yaegi to benchmark (#271)
- 6a663c6 add
script.Compiled.Setfunction so compiled script can replace value of global variables - 46707f6 add a sample
- 5383c89 add another version of fibonacci to bench
- 57700ac add build status to README
- 7289d76 add compile-run to "tengo" tool
- 04bb0f5 add context to script run
- 4846cf5 add custom extension support for importing source file (#350)
- 2a144dc add docs directory and move some documents from Wiki
- 8a27848 add documentation comment on Object and Callable interface
- 49b2b5f add documentation for text module
- 06573e5 add documentation for times module
- 264f15f add documentation on scanner and parser.
- 7aa585f add engine
- 5292251 add equality tests
- c4d9500 add example
- d5b2413 add go module v2 (#244)
- 0b11e7d add goja to benchmark
- 760bc44 add goreleaser deploy to travis
- 306055a add helper functions for builtin functions and builtin modules (#122)
- d8b50ef add interoperability example (#266)
- 7f9fa83 add missing comment
- 53ce129 add module-import tests to most of runtime package (#125)
- 9b1a0a3 add more comments
- 309b03b add more strings functions to text module
- 344c96d add objects tests
- b638f0d add objects.Callable
- 8cad048 add os File functions; add Bytes type
- 06c7e7d add os.readfile()
- 69961de add os.stat() and file.stat()
- 5037994 add shebang support (#274)
- 44c55ea add some more os module functions, add more built-int functions
- f752601 add strconv functions
- 366c699 add string comparison support (#294)
- 6fc27de add support for parsing binary, octal and hex numbers (#364)
- b83eac8 add test for for-in compiler
- dab4986 add tests for Object.BinaryOp
- 94b0d52 add tests for script custom objects
- adcf05d add variadic function parameters (#189)
- 19498da adding immutable value (incomplete)
- 54bea46 bench outputs expected result
- 01fe30f bug fix for function return and if statement (#160)
- ac53405 builtin delete for maps and arrays (#250)
- 73b5e62 builtin splice (#254)
- 306fe1b clean up stdlib code
- 7e88e10 combine REPL and tengo tool
- 4ed7576 enable relative imports (#285)
- d413d2f feat: add builtin function: type
- 17a50b7 fix #171 (#172)
- 4cd9a2b fix #231 (#235)
- 806ddeb fix CLI version command
- 8e5657d fix CharLit parser bug
- 5c5d0e6 fix CircleCI setup
- 1921d90 fix
scipt.Variable.Value()bug (#139) - 8707fd6 fix
to_jsonbuiltin function bug (#138) - d1dd014 fix a bug in bytecode optimization code (#292)
- 9b6c5e6 fix a bug in dead code elimination (#168)
- 967ed03 fix a bug in tail-call optimization code
- 50d0ba7 fix a compiler bug with dead code optimization (#284)
- e785e38 fix bytecode encoding/decoding (#152)
- 3c30109 fix bytecode encoding/decoding of builtin modules (#154)
- 814851a fix compile errors
- 71459c4 fix deadcode optimization (#378)
- 7b5d207 fix documentation for enum.filter (#359)
- e059953 fix for in loop symbols (#290)
- c51d02f fix github env (#329)
- 2e74690 fix go.mod to work with the travis ci build (#218)
- 7cb058b fix go.sum (#238)
- e1e0e0c fix golint, ineffectassign issues and add some more tests
- a9a233a fix internal package issue (#241)
- 2565e05 fix issues with symbols in global scope blocks (#318)
- 15494e1 fix local symbol resolution bug (#316)
- a053476 fix markdownlint warnings (#255)
- c2305f3 fix parsing and equality bug of "undefined"
- 6fc8053 fix runtime panics on self assignment (#387)
- 8dc0d7b fix script timeout bug (#170)
- a419bfc fix slice low/high index shadowing variables in vm (#394)
- 3d7269c fix stdlib json string encoding (#272)
- 011833b fix test fail
- e909415 fix travis setup
- b555842 fix typo in objects doc (#256)
- 8a3f5bd fix: copy SourceMap in vm OpClosure branch (#392)
- e338512 fix: do not invert token.Less to token.Greater in compiler (#391)
- 92c0ad3 fixed extensible
- 85da0cd force using TrueValue, FalseValue, UndefinedValue
- 046efa4 global size changed to 1024
- 816f452 go module support
- 85001be implement immutable array and map
- a14f6ec incomplete implementation of 'os' module
- 2c3282d initial commit
- 928a728 initial version of "tengo" CLI tool
- ff725f3 install golint in travis
- 2cde0ea json module faster implementation (#173)
- e93f6f6 limit max object allocations (#129)
- 9bf0359 limit to go 1.16+ (#382)
- 4b370e8 minor change in bench code
- a9f9ba4 minor cleanups for 'os' module tests
- 68cd38e minor doc update
- 719e269 minor lint fixes (#182)
- 2de0fa4 minor tengo tool help change
- 581aa57 minor update in bench output
- 080e272 minor update in repl output message
- 61890b1 module refactor (#148)
- 53af0d6 move file and fileset to source package
- b5108b8 os Process functions
- c087ba8 os: use SeekStart, SeekCurrent and SeekEnd instead deprecated values
- 69eb7da parser implementation for conditional expression
- 5816186 parser.ParseFile removed (#117)
- ca128af reduce number of memory allocation in object binary operators
- 4fac7b4 register immutable array to gob
- 1cf3258 remove
- 81fdf10 remove 'mode_irregular' from 'os' module
- 2ceaf3b remove CircleCI
- b802132 remove VM.Stack() function
- b75bda7 remove callable args alloc (#259)
- d581cb2 remove unnecessary JMP when there's no ELSE block
- 32df286 remove unnecessary function calls in VM
- 64d9980 remove unused code for tuple value return
- 061d800 removed 'case', 'default', 'switch', 'var' keywords
- d21a368 rename
- 71c1307 rename
- ad3980e replace outdated
ErrInvalidTypeConversionindocs/objects.md(#223) - b4a2da8 runtime/vm_builtin_test.go: Added builtin bytes convert test
- 880ee04 script.Add accepts a CallableFunc value (#124)
- 552e9c0 separate objects conversion functions
- c88a5f5 some code clean up (#237)
- 47da30b some more tests in objects
- 336fbc3 some performance optimization in VM
- 575d969 split iterator files
- 7834251 spread last call argument v2 (#302)
- b2a2934 tail call optimization
- cae7b24 ternary conditional expression implementation
- 69a703b text module: regex functions (re_match, re_find, re_split, re_replace)
- bb07fa1 text.trim, text.pad_left and text.pad_right (#183)
- 60c95c5 token.CHAR -> token.Char, token.STRING -> token.String
- de70f7c trying to optimize VM by cutting some repeated codes
- ce7e5cc type conversion builtin functions: string(), int(), bool(), float(), char()
- b19d9de update CLI documentation
- 586a92f update README
- 48847c1 update README
- b3d4854 update README
- 4b8bd4e update README
- 2520caf update README (#151)
- a81295c update README, remove some unnecessary code
- d954348 update bench fibonacci tail call code
- c628152 update benchmark
- 7e3f3f8 update benchmark (#158)
- 1ac4090 update benchmark (#169)
- 17329aa update benchmark result with v1.15.0 (#141)
- 797e3ca update benchmark results
- 2b21c29 update builtin function documentation (#159)
- 27438ee update directory package structure
- fa215b0 update docs
- 950cb79 update documentation
- a9aa8dc update documentation
- bb9f375 update documentation
- 131638f update goreleaser to fix releases (#381)
- a9eaf06 update interop sandbox document
- e445fd0 update interoperability
- fa6699f update readme
- cce71f0 update script package
- 2e0ea3a update syntax documentation (#186)
- dc16c9a update tests for index/slice operators
- 0854675 update vm to raise wrapped runtime errors (#247)
- 6fb0df7 updated goreleaser config (#249)
- 591d745 updating documents for stdlib
- d4757ef use 'strconv.Quote()` instead of string formatter
- 88dd022 use atomic.Load/Store to avoid data race
- d870ebf variable definition (operator ":=") is now required not optional
- 818d6dc vim syntax highlighter (#383)
- edc23cf working on script modules (WIP)