* fix path
* topology bug 427 test
* test with join, it works
* improve topology test, still works. add compiler test
* broken compiler test
* CompilerSpec works fine without `wrapWithXor`
* add xor to topology test, it becomes broken
* XOR topology fixed
* ForceExecModel
* Debugging topology WIP
* Fixed
Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
* Separating raw FuncOp from OpModel WIP
* Model compiles, fighting with transform
* Refactoring WIP
* transform compiles
* Fixing AquaCompiler WIP
* Compiler compiles WIP
* AquaContext's allFuncs, allValues
* WIP trying to compile the CLI
* It compiles
* It runs and fails to compile
* Compiles wrong way
* fix TopologySpec
* Sugar bugfix
* fix TransformSpec compilation
* fix test compilation
* fix SemanticSpec
* Topology debugging
* TransformSpec fixed
* Do not import aqua.model
* Take parts in Semantics
* Fix for re-exports
* Maybe a fix for streams
* Maybe a fix for declarations
* streamArgs.aqua in test examples
* more aqua code with bugs
* FuncOp removed
* removed wrapNonEmpty
* fix TransformSpec
* fix SemanticSpec compilation, delete FuncOps
* Separated model/res, model/inline
* tiny fix
* Tests fixed
* TreeNode to wrap labels into cofree standard way
* TreeNodeCompanion with defauls show, equalsOrShowDiff for all Cofree trees we have
* Simple TagInlinerSpec
* Failing test in TagInlinerSpec
* test wip
* test fixed
* delete Node
* delete test-kit, move tests
* fix constants
* Failing TagInliner test
* More complex case for TagInlinerSpec
* TagInlinerSpec fix
* Split RawValueInliner, TagInliner
* Dumb case for ArrowInlinerSpec
* spec for stream renaming
* renaming stream test
* Exports fixed
* SeqModel.wrapWithEmpty for tests
* Deleted EmptyModel
* Bring back EmptyModel
* ArrowInlinerSpec wip
* ArrowInlinerSpec fixed
* Test fixed
* fix
* stream in callback test WIP
* Slightly better logging for TagInliner
* add example in aqua
* test update
* Removed occasional abilities override
* test
* AquaCompilerSpec WIP
* AquaCompilerSpec failing
* AquaCompilerSpec fixed
* fix test
* compiler test, add RestrictionTag
* break test
* fix stream passing to box arguments
* fix exports in context
* Do not reexport builtins
* init for topology bug
* test for topology
* Reproduced the import-reexport bug
* Hops are working...
* Issue #397 does not reproduce!
* foldJoin reproduces the bug
* Reexports inefficiently fixed
* Topology test fixed
* topology bug
* Cache compiled parts
* Cache compiled parts
* ignore the wip topology test
* delete test
* hanging
* add builtin
* Use linked-data-structure `equals` instead of recursive `hashCode`
* A bit more logs
* eq is faster than ==
* Try to join one by one
* op.identity for join
* reverting op.noop for join
* Fix for renaming when value has the same name as argument
* Bump the version to .6
* broken test for names
* second test for renaming
* this test works but i must break it
* add index in call
* JoinModel breaks test
* the test works fine with a fix, but we should check it closely. and `foldJoin.aqua` integration test become broken
* broken test with xor
* Fixed naming issue for lambda's variables substitution
* Topology bug wip
* Fixes#397
* Maybe fix
Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
* Access index by scalar value
* Decomposed resolveField/resolveIndex semantics
* valueToRaw with recursive lambda support
* P.defer for recursive parser
* Desugarize all tags
* .backtrack
* Recursion bugfix
* Some code readability improvement
* Compile bugfix
* Topology optimization for Folds
* cache RawCursor's parent for better performance
* Tests fixed
* wip
* wip
* Use the new Topology to find paths
* Compile bug fixed
* Old tests works
* One more fixed test
* Move before seq next
* One more fixed test
* Bugfix
* Disabled debug output
* maybe fix?
* maybe fix?
* Topology wip
* Maybe fix
* Maybe fix
* Fold optimization
* Root topology
* Respect forceExit in endsOn
* better caching
* better caching
* Root afterOn = const
* XorGroup endsOn should break
* no EndsOn for Root
* Maybe better?
* Uncycling
* Eval
* Respect ParTag.Detach
* Detach test
* Detach test failing
* Detach test fixed
* Go to relay via relay
* Fixes#380
* Increment Aqua version to 0.5.2
* Add image to transform readme, update dependencies
* Review fixes
* Updated Scala version in the release flow
* Remove premature handling of pushing a stream into a stream
* Handling PushToStreamTag with literal tmpName
* Handling PushToStreamTag on Topology level
* Compilation bugfix
* Better handling for CanonicalizeTag
* Mutable i
* Module and Use expressions
* UseFromExpr
* ImportFromExpr
* PubExpr
* Export, declares
* Collecting all the needed info WIP
* Got all the needed data
* Tests fixed
* HeaderSem
* HeaderSem wip
* Everything except `export`/`declares` should be working
* Compile bug fixed
* Fix readme: cli/assembly
* Handle declares, exports
* Compile only exports in AquaRes
* Call services imported from modules
* Import consts, types, services from modules
* Resolve arrows from modules
* Bugfix
* Trying to make the compiler a pure function
* Pure compiler WIP
* Compiler should be working now
* printlns
* printlns
* printlns
* fix, delete printlns
* more logs
* fix import resolving, more tests
* fix imports, add tests for imports resolving
* fix test
* correct paths to targets, correct output
* refactoring, create directories to file if not exist
* small changes
* fix test
* Tiny fixes WIP
* Tiny fixes
* Incrementing base version, as host_peer_id is added (fixes#218)
* render error messages, WIP
* small fix
* get src for lexer error
* wrap parser error
* add list of errors
* Handle file write errors accurately
* Use show syntax
* fix test
* fix test
* fix test
* println
Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
* - Added top and bottom types
- Added nil for empty streams, options, arrays
- Fixed product variance
* Version bump due to syntax changes in the type system
* Fixes missing par
* test for par
* Par topology bug fixed
* test `on` on every par branch
* Topology refactoring
* Tests compilation wip
* Tests compilation wip
* Tests compile
* Test fix
* Non-par tests fixed
* The last test remains
* Topology tests fixed
* SemanticsSpec compiles
* transformspec wip
* fix diff
* TransformSpec with diff
* test for error handling
* topology resolver spec wip
* delete test, rename test
* fixed
* par with export variable test
* test for try without catch
* Handle try without catch
* XorParTag fix
* Wake up target peer after par
* Increment version
* Fix xor par during func model resolution
* test with import and fold
* Linker bug fixed
Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
* Model refactoring to isolate imports, exports
* Filter duplicate errors
* Do not export imports
* Add types to ServiceModel, AquaContext
* Print compiler version in AquaCli
* AssignmentExpression
* Increment minor version due to syntax enhancement
* Don't generate (null) for assignment tags
* AbilityIdTag
* Added defaultId to ServiceModel
* fix compilation
Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
* Support options for `via` clause in `on` expression
* Remove the generated comment
* Fix: provide stream as an argument
Co-authored-by: Dima <dmitry.shakhtarin@fluence.ai>
* Topology refactoring
* TransformSpec fixed & improved
* Fixes#98
* Better Par handling
* Introduced Cursor class
* Better exit process for par branch
* Force move to target peer when exiting from a par branch