Most relevant commits:
all
- all: require 1.16 as minimum Go version
- all: make 'compiler' package internal
- all: make 'runtime' package internal
- all: rename the 'types' package to 'native' and move some type into it
ast
- scriggo/ast: fix and improve documentation
cmd/scriggo
- cmd/scriggo: don't prefix error message with 'scriggo: '
- cmd/scriggo: rename the 'run.Scriggofile' file to 'Scriggofile'
- cmd/scriggo: use 'native' instead of 'predefined' in help
- cmd/scriggo: better document struct type limitations
compiler
- compiler/checker: consistently use the same error for redeclared names
- compiler/checker: fix unreported errors in type switch
- compiler: allow special case of call for 'print' and 'println'
- compiler/checker: add support for blank return parameters
- compiler/checker: fix imported and not used error enabling package cache
- compiler/emitter: fix position for dummy functions
- compiler/checker: fix a panic checking an invalid function call
- compiler/checker: fix a panic checking explicit conversion to interface
- compiler/checker: fix constant conversion from string to slice
- compiler/types: revise 'AssignableTo', 'ConvertibleTo' and 'Implements'
- compiler/checker: fix variadic call to 'append'
- compiler/lexer: fix parsing general comments
- compiler/lexer: disallow BOM if it is not the first Unicode code point
- compiler/checker: fix break sets too many statements to terminating
- compiler/checker: fix 'break' and 'continue' not in breakable statement
- compiler/parser: allow to omit a semicolon before a closing %%}
- compiler/parser: fix parsing empty label statements
- compiler/parser: support modules parsing programs
- compiler/checker: fix label, goto, break and continue statements
- compiler/checker: differentiate error messages in type declaration loops
- compiler/disassembler: fix panic disassembling 'Select' operation
- compiler/types: fix creation of defined types
- compiler/checker: add missing builtins to 'go' and 'defer' statements
- compiler/parser: fix error message if identifier name starts with digit
- compiler/parser: return better error message on interfaces with methods
- compiler/parser: fix automatically inserted semicolon
- compiler/parser: fix error message on unexpected token after 'else'
- compiler/emitter: call 'types.PtrTo' instead of 'reflect.PtrTo'
- compiler/checker: fix very slow printing of float constants
- compiler/checker: fix 'duplicate field _' error
- compiler/checker: fix checking of struct fields
- compiler/checker: don't panic is not first embedded type has methods
- compiler/types: implement 'structType.FieldByIndex' method
- compiler/checker: fix implicit assignment of unexported fields
- compiler/checker: rewrite checking of composite struct literal
- compiler/emitter: fix slicing
- compiler/emitter: fix invalid behavior in assignment
- compiler/checker: fix ambiguous selector error
- compiler/checker: fix corner cases in field selector
native
- native: make 'MapPackage' methods with pointer receivers
- native: make 'PackageLoader.Load' method returns only native packages
- native: rename the 'MapPackage' type to 'DeclarationsPackage'
- native, runtime: remove 'Exited' and 'ExitFunc' methods of 'Env'
- native: document that 'Exit' and 'Fatal' do not terminate goroutines
playground
- playground: remove 'wasm_exec.js' file and document how to copy the file
- playground: use '-v -o' to generate 'packages.go' in README
- playground: remove 'packages.go' from the repository
runtime
- runtime: fix error returned deleting a map key with an unhashable type
scriggo
- scriggo: change 'Build' function to get a file system
- scriggo, templates: merge 'templates' package into the 'scriggo' package
- scriggo: remove the 'PrintFunc' function
- scriggo: rename 'RunOptions.PrintFuc' to 'Print'
- scriggo, scripts: rename 'Panic' types to 'PanicError'
- scriggo, scripts: make 'Run' methods return an ExitError instead of code
- scriggo: merge 'BuildTemplateOptions' into 'BuildOptions'
- scriggo, scripts: make 'go' statement disabled by default
scripts
- scripts: document that scripts are experimental
- scripts: replace 'reflect.PrintFunc' type with 'scriggo.PrintFunc' type
- scripts: rename 'RunOptions.PrintFunc' to 'Print'
- scripts: improve documentation