* Format testsuite escript
* Format testsuite pol
* Update docs
Switch "attributes" to "members" to better align with Escript terms.
* Add core-changes, breaking-changes
* Update grammar
* Update parser and AST generator
* Update semantic analysis
* Executor implementation
- Move Executor stack modification logic to BFunctionRef
- Handle user function calls
- Handle expression function calls
* Tests
* Update existing listfile snapshots
- Adds variadic boolean to instruction stack
- Changes instruction counts and offsets
* Fix test issue
* Better implementation of calling user functions
* Add var-args-captures test
* Refactor continuation handling + handle variadic args
- Move stack modifications from make/withContinuation into the executor's handling of the continuation
- Only trim args in continuation call if function is not variadic
* Add var-args-continuation test (via array.filter)
* update escriptguide + formatting, docs
* Fix CI annotations
- '=': conversion from 'size_t' to 'unsigned int', possible loss of data
- declaration of 'continuation' hides previous local declaration
* initial poc of function expressions
- update grammar
- mock AST builder to return BBoolean(true) for a func expr
- update prettifier for skeleton implementation
* more skeleton work
create AST class FunctionExpression mimicking boolean value
* create ast UserFunction, add to workspace from functexpr
* can generate instructions
* reorg tests; add test for instructions
* can track FunctionDepth in Variable
* can get captures for funcexprs inside funcs.. tbd if this way of nesting works
* Implement create-functor instruction
- Move function depth from Variable to Variables
- Introduce stacking of `Variables` for function expresions via `FunctionVariableScope`
- Add `TOK_FUNCTOR` instruction for 'create-functor'
- Handle emitting a `FunctionExpression` AST node
- Update `emit.declare_variable` and `emit.access_variable` to account for function captures
- Remove `in_function` from instruction generator, as it is tracked via `UserFunction` stack
- Update tests
* Address Discord comments
- Swap pop param order
* Bubble up captured variables through nested functions
* Improve testing infrastructure; add some test cases
* Fix compilation error
* prepend captures to function parameters in funcref mth_call
* update tests
* move from function{} to @{}
* implementation fix
* some more tests
* update docs
* Some cleanup
* fix CI annotation warning
- 'argument': conversion from 'size_t' to 'VariableIndex', possible loss of data
* Address review comments
- Add `passert_always`
- Use better example in docs
* Some cleanup
- Remove unused functions
* Change name of "logical" operators AND, OR and XOR to "bitwise".
Co-authored-by: Admin-Yukiko <hopelivesproject@gmail.com>
Co-authored-by: Eric Swanson <eric.the.unicorn@gmail.com>
* My first attempt at implementing 'fame' and 'karma' as character members. I am unable to assign values yet but the Core compiles without errors.
* With help from Nando I fixed the issue. I can now read and write the fame and karma members. I want to verify I entered the code in the prefered "get member" function but it WORKS!
* Commented out all my changes until I can learn how to make fame and karma store internally as a struct etc.
* Messed something up. Even the non struct fame and karma did not work. Reverting back to POL before any of my changes. No fame, no karma.
* Changed: pol.cfg settings HideWarningGump and HideWarningItem to ShowWarningGump and ShowWarningItem. This positive logic is consistent with all other console output settings.
Default is zero (0). The output will not be displayed unless set to one (1).
* Forgot to run buildcorechanges.py prior to commiting the previous commit. This rectifies that.
* Reverting my Dev branch to current polserver master.
* Attempt number 2:
Changed: pol.cfg settings HideWarningGump and HideWarningItem to ShowWarningGump and ShowWarningItem.
This positive logic is consistent with all other console output settings.
Default is zero (0). The output will not be displayed unless set to one (1).
* Set default behaviour for ShowWarningGump and ShowWarningItem to display warnings (1).
* Added ShowWarningGump and ShowWarningItem settings to pol.cfg.example.
* Fixed a typo and did minor formatting changes.
Removed references to non-inuse items.
Updated documentation.
Included new Racalac Guide documentation supplied by Yukiko.
Clangified my changes.
Updated change log.