Ivan Boldyrev
fb344084a7
Make new clippy happy ( #384 )
2022-11-23 21:02:28 +07:00
Anatolios Laskaris
78675f930e
ci: fix typo ( #383 )
2022-11-23 13:13:17 +02:00
Anatolios Laskaris
f5de602108
ci: Update e2e ( #382 )
...
* Update
* Fix
* Fix
* Typo
* Cleanup
* Run on merge to master
* Fix branch name
2022-11-22 16:58:30 +02:00
Anatolios Laskaris
c33d46619d
ci: Update e2e ( #378 )
2022-11-16 14:49:51 +02:00
Anatolios Laskaris
9896306573
chore: Fix needless-borrow
warning( #379 )
2022-11-16 14:12:31 +02:00
Ivan Boldyrev
9c88567e59
More convenient error messages ( #374 )
...
Data is printed last as it is very long and made it difficult to find
the original error message.
2022-11-01 15:06:56 +07:00
Anatolios Laskaris
76a1e6d4e6
Publish air-beautify-wasm only on when something changed ( #371 )
2022-10-26 17:23:47 +07:00
shamsartem
7554c01ce0
update links ( #370 )
2022-10-26 12:49:31 +03:00
Ivan Boldyrev
ea934ab9a9
air-beautify-wasm in the tree ( #336 )
...
1. Update wasm-bindgen in the wasm-air-beautify to make it buildable with rest of tree.
2. Rename `wasm-air-beautify` to `air-beautify-wasm`, to make it consistent
with other packages.
3. Implement github workflows to build and deploy the `air-beautify-wasm` package.
2022-10-25 14:54:51 +07:00
Anatolios Laskaris
22d39f5b23
ci: Set avm client version to crate version ( #368 )
...
* Set version from Cargo.toml
* Fix crate link on release
2022-10-25 10:20:42 +03:00
renovate[bot]
bbc521ce53
fix(deps): update all non-major rust dependencies ( #338 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-15 21:08:46 +03:00
renovate[bot]
fb32f33154
chore(deps): update rust crate pretty_assertions to v1 ( #361 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-14 12:40:12 +03:00
Mike Voronov
8c3f9a3090
feat(interpreter-data): add interpreter version in data ( #367 )
2022-10-13 12:50:32 +03:00
Ivan Boldyrev
22fac9329e
feat(testing-framework): prevalidate AIR script ( #365 )
...
Try to parse the annotated AIR script with the standard parser to catch
to catch errors early with better error messages.
We do it in the `TestExecutor` only to make testing framwork parser
tests simplier. For user experience, it doesn't matter.
2022-10-12 13:44:59 +07:00
Mike Voronov
a60b61e1a1
fix(execution-engine): save order between current generations ( #366 )
...
Co-authored-by: Valery Antopol <valery.antopol@gmail.com>
2022-10-12 04:29:31 +03:00
Ivan Boldyrev
651b569a13
feat(testing-framework): allow exclamation mark ( #364 )
...
While exclamation mark is legacy feature in the lambda parser, people
seem to use it anyway, getting errors not always easy to understand.
2022-10-11 21:52:49 +07:00
Mike Voronov
bf8aee7f15
fix(execution-engine): fix invalid iteration over stream ( #362 )
...
This PR is mostly a revertion of #357 , that is needed to make stream work correctly in fold itrerations.
Closes #363 .
2022-10-11 01:41:22 +03:00
Mike Voronov
eafdec5d86
fix(aquavm): temporary fix entire value in canon ( #358 )
2022-10-10 22:15:28 +03:00
Ivan Boldyrev
076045124c
feat(testing) Testing framework chapter 1, asserts and comments ( #342 )
...
* seq_result` -> `seq_ok`; add `seq_err`
`seq_ok` and `seq_err` are consistent with `ok` and `err`, but produce
results sequentially.
* Accept `;;` and longer comments in the sexp parser
Currently they are just dropped, and resulting AIR has different
character positions in the error messages.
* Add "map" assertion
Lookup result in a map by service's first argument.
2022-10-11 01:05:20 +07:00
Anatolios Laskaris
17a6409566
ci: Add registry to e2e ( #359 )
2022-10-10 18:48:13 +04:00
Mike Voronov
01bbca72c2
fix(air-parser): allow non used streams in validator ( #360 )
...
Validator checks that stream used in `canon` is populated by a value in a supplied script. This PR removes this check, because it's useful for code generation.
2022-10-10 15:51:03 +03:00
Mike Voronov
910f1665eb
fix(trace-handler): fix fold and canon compatibility ( #357 )
...
Fixes bug of traces divergence when `canon` is used inside `fold`.
Closes #356 .
2022-10-09 12:56:12 +03:00
Mike Voronov
cd598c28ae
refactor(aquavm): improve readability of ap
merger and handler ( #354 )
...
At the moment `Ap` state contains vector of generations, although the ap instruction itself allow to specify only one stream. It was done to support several streams in a result position in a future. But the current realization allows to handle empty vector that was implemented to support states for scalars and it turned out (for more info see #326 ) that states for scalars aren't actually needed.
Closes #355 .
2022-10-07 14:38:29 +03:00
Mike Voronov
a8b227caf5
refactor(aquavm): getting rid of CallOutputValue
in call merger ( #353 )
...
This PR refactors call merger of `TraceHandler`. Previously it requires `CallOutputValue` to determine a type of call output value (stream or scalar). And internally it checked correspondence between data result and call output type and return a error if they are not equal. Although execution engine component also had a match over these values and does nothing if they are not matched since `TraceHandler` did this job. This PR eliminate such behaviour and improve isolation of AquaVM modules.
2022-10-06 19:59:47 +03:00
Mike Voronov
c3aa8efa04
chore(tests): rename all *.clj files to *.air ( #352 )
2022-10-06 15:56:31 +03:00
Mike Voronov
ccbd3262a3
feat(aquavm): allow to set last instruction of fold ( #349 )
2022-10-01 23:41:30 +03:00
Valery Antopol
dd0c458339
fix: cannon treats ap with different generations as incompatible ( #350 )
...
Fixes #348 .
2022-09-30 21:43:51 +03:00
Ivan Boldyrev
2e98712cb2
fix(execution-engine) Restricted stream bugfix ( #337 )
...
Use proper stream generation structures for call results merged from current data.
Closes #302 .
Co-authored-by: vms <michail.vms@gmail.com>
2022-09-30 03:10:24 +07:00
Mike Voronov
8889291af8
fix(execution-engine): treat non-defined stream as empty in canon
( #347 )
...
This PR forces `canon` instruction to treat streams as empty, it's crucial for deterministic behaviour.
Closes #346 .
2022-09-29 23:05:04 +03:00
Anatoly Laskaris
e6443df591
ci: Use new version format in E2E workflow ( #345 )
...
* Use new version format
* Test
* Lock version
* Cleanup
2022-09-29 17:14:40 +03:00
renovate[bot]
35a4fe4451
fix(deps): update rust crate clap to v4 ( #344 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-29 03:45:06 +03:00
Ivan Boldyrev
4a2e8be178
refactor(parser): use AirPos
type for AIR script position ( #341 )
...
Use a dedicated wrapper type for better type safety and self-documented code.
2022-09-29 00:16:37 +03:00
Mike Voronov
c85b2e2fbf
feat(execution-engine): change behaviour of fold over streams ( #340 )
...
feat(execution-engine): change behaviour of fold over streams
Change behaviour of fold over streams to make it more similar to pi-calculus channels/names (for more info see #333 ).
Closes #333 .
BREAKING CHANGE:
The new stream behaviour is not compatible with old one, such as
```
(fold $stream iterator
(seq
(call ...)
(next iterator)))
```
will never end after this change (for more info again see #333 ).
2022-09-28 22:03:54 +03:00
renovate[bot]
493b469257
chore(deps): update dependency typescript to v4.8.4 ( #343 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-28 02:04:28 +03:00
Anatoly Laskaris
61cc3ffc2c
ci: Add Aquavm E2E ( #324 )
2022-09-20 18:25:55 +03:00
Ivan Boldyrev
b929614b4c
wasm-air-beautify WASM module ( #325 )
...
It provides a `beautify` method to output a "beautified"
(python-style formatted) AIR script.
The method returns a string or raises an exception.
2022-09-19 19:31:12 +07:00
Mike Voronov
20bb230a3a
Introduce never
instruction ( #335 )
2022-09-19 14:36:46 +03:00
renovate[bot]
250b316682
Update dependency typescript to v4.8.3 ( #322 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-19 14:20:03 +03:00
renovate[bot]
ad504bce8b
Update all non-major Rust dependencies ( #330 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-19 14:07:34 +03:00
Mike Voronov
84e36747d8
fix(execution-engine): change position mappings in ap with canon streams ( #332 )
...
Fix sheme of mapping variables produced by applying `ap` to canonicalized streams.
Fixes #331 .
2022-09-14 19:33:21 +03:00
Anatoly Laskaris
ca62bd6066
chore: release ( #329 )
2022-09-13 19:08:47 +03:00
renovate[bot]
40bb3c843f
Update all non-major Rust dependencies ( #323 )
...
* Update all non-major Rust dependencies
* bump fluence-app-service version
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Valery Antopol <valery.antopol@gmail.com>
2022-09-13 19:03:18 +03:00
Ivan Boldyrev
89355d9da3
style: Misc clippy fixes ( #327 )
...
* Add warn(rust_2018_idioms) to remaining crates
air-beautifier, air-beautify and air-trace now have this lint too.
* Fix more warnings
2022-09-13 20:54:57 +07:00
Valery Antopol
204b2be44d
Bump avm-server version to 0.26.0 ( #317 )
2022-09-09 16:56:03 +03:00
Pavel
698dbbb263
AVM client: Replace any
with generic JSON types ( #320 )
2022-09-09 16:41:30 +03:00
Anatoly Laskaris
7a146501a5
Use rust-toolchain to setup rust ( #318 )
2022-09-09 16:34:19 +03:00
renovate[bot]
a77fb3395c
Update all non-major Rust dependencies ( #321 )
2022-09-09 13:36:19 +03:00
Mike Voronov
a4011ef038
Introduce length functor ( #314 )
2022-09-08 16:58:04 +03:00
Mike Voronov
626796b299
fix clippy warnings ( #319 )
2022-09-08 16:32:28 +03:00
Pavel
a2f996dde2
Fix issue when undefined data in AVM client caused FJS to fail ( #313 )
2022-09-07 12:55:23 +03:00