29 Commits

Author SHA1 Message Date
InversionSpaces
a5e9354aeb
feat(compiler): Add equality ops [fixes LNG-217] (#820)
* Add eq ops

* Fixed if

* Fix return

* Fix tests

* Add parser tests

* Fix types, add semantics tests

* Add integration tests

* Add integration test

* Remove comment
2023-08-09 13:38:24 +00:00
Dima
4e3e70f4fc
fix(compiler): Nested abilities [fixes LNG-214] (#816) 2023-07-31 14:40:06 +03:00
InversionSpaces
50ba194b86
fix(compiler): Fix math ops for u64 [fixes LNG-204] (#811) 2023-07-25 12:53:50 +03:00
Dima
63a9f42e86
feat(compiler): Abilities (#731) 2023-07-18 17:18:33 +00:00
InversionSpaces
c1fe24b04d
feat(compiler): Make topology hop with non-FFI snippet [fixes LNG-125] (#764)
* Remove MakeRes.canon

* Replace noop with hop

* Rewrite join

* Remove JoinModel, fix tests

* Share code between tests

* Pass type in RestrictionTag(Model)

* Fix MakeRes.hop

* Fix wrapping

* Rename vars, add comments

* Fix XorBranch topology

* Fix tests
2023-07-06 12:44:37 +03:00
InversionSpaces
e9c004452e
feat(tracing): Introduce function calls tracing [fixes LNG-169] (#732)
* Introduced MetaModel.CallArrowModel

* Fixed ArrowInlinerSpec

* Implemented trace calls injection

* Propagate TracingConfig

* Add tracing flag to js api

* Use detach instead of xor

* Write tests

* ScalarType -> LiteralType

* Add tests

* Fix after rebase

* Fixed tests

* Add tests

* Remove debug prints

* Clean up and add comments

* Fix issues

* Add tracing flag to js api

* Rename liftString -> quote

* Change literal type

* Use CallServiceModel constructor

* Fix js args

* Fixed tests

* Add tracing option to cli
2023-06-12 15:28:27 +02:00
Dima
63433f2c91
LNG-96 object creation (#592) 2022-11-30 15:28:06 +03:00
Dima
95d3dc2d9e
LNG-86 Stream canonicalization (#553) 2022-09-30 19:06:55 +03:00
Dima
10061ade3b
Generate types from JSON (#492) 2022-04-20 14:45:42 +03:00
Dima
0892a72afd
#484 Improve type mismatch error messages (#488) 2022-04-13 17:09:58 +07:00
Dima
277bb5c8b8
Addr aliases and info fixes (#470) 2022-03-30 21:59:41 +07:00
Dima
2ed1d8cf08
V3 types (#453) 2022-03-17 14:25:12 +03:00
Dmitry Kurinskiy
6772c1d0fa
Sugar for collections (#445) 2022-03-03 17:54:45 +03:00
Dmitry Kurinskiy
271dbc87a1
Unite, intersect types (#444)
* Unite, intersect types

* intersection types tests wip

* Intersections fixed

* Hacky temporary solution for unions of products

* Okay it's good enough

* Generate ascii-compatible struct names

* Pluggable scalars combiners

* Scalar combiners

* A few lines of docs
2022-03-01 14:43:51 +03:00
Dima
5a79dbb76a
#426 aqua does not generate correct getDataSrv (#429) 2022-02-09 13:24:21 +03:00
Dmitry Kurinskiy
27b885f12d
#321 restricted stream scopes (#359) 2021-11-17 08:25:06 +03:00
Dima
3c7d81ba17
#343 Compare option types properly (#354) 2021-11-02 17:18:18 +03:00
Dmitry Kurinskiy
3e7b11db10
Imports/exports fixes (#258)
* Fix for export in headerless file

* Ability arrow resolution bugfix

* Trying to reproduce a bug

* Allow dots in module declaration
2021-08-31 13:05:26 +03:00
Dmitry Kurinskiy
f7aa118006
Multireturn bugfix (#238) 2021-08-11 10:55:25 +03:00
Dmitry Kurinskiy
3eb3ecc221
Return many values from a single function (#229) 2021-08-09 21:33:55 +03:00
Dmitry Kurinskiy
cd30ff8e8c
Introducing Product type (#225)
* Introducing Product type

* Main codebase compiles with Arrow(domain, codomain)

* Tests compile

* Tests passed

* Tiny fixes: use argument labels in js/ts generators

* Fix for return type in .ts

* Typescript fix

* Fix for option return in JS

* Arrow variance fix

* separated CompareTypes

* Added deprecation notices to ArrowType functions

* Compile error fixed

* Types doc comments

* Multi-value return is supported in the model

* Tests compilation fixes wip

* Test compiles

* Bugfix

* Bugfix
2021-08-06 16:31:47 +03:00
Dmitry Kurinskiy
83d5a7b2a3
Introducing top and bottom types (#199)
* - 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
2021-07-13 17:43:24 +03:00
Dmitry Kurinskiy
985309d4eb
Fixes missing par (#177)
* 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>
2021-06-22 11:03:45 +03:00
Dmitry Kurinskiy
807c26619f
108 option type (#146)
* Option type support: arguments, values

* Aqua version 0.1.4

* Fix for optional return value in TS

* Tiny fixes

* Example for declaring local options
2021-06-02 12:29:12 +03:00
Dmitry Kurinskiy
54ff258513
Rename signed types to i... (#116)
* Rename signed types to `i...`

* Type variance for scalars
2021-05-14 12:51:06 +03:00
Dmitry Kurinskiy
27f2912c5f
Streams support (#87)
* #29 going to support streams

* Added StreamName

* StreamName removed

* Streams support works

* Debug println removed

Co-authored-by: Dima <dmitry.shakhtarin@fluence.ai>
2021-04-27 16:59:12 +03:00
Dmitry Kurinskiy
e2621f0008
Fixes #68 :fix return using relay (#72)
* Added test & some test routines

* Test usability improvements

* Failing script

* Failing test for #68

* Fix topology in case of a sequence of calls

* Formatting

* Formatting
2021-04-16 20:15:45 +03:00
Dima
2e5f986961
fix assembly, add u8 (#45) 2021-04-08 15:53:54 +03:00
Dmitry Kurinskiy
0de43b470e
39 fix callbacks (#43)
* Project layout reorganized

* Topology resolution extracted to a separate file

* FuncResolved class

* aqua.model.transform

* Basic bubbling

* Get more context into topology resolver

* Failing Topology test

* Get back in seq

* OnTag.via: List changed to Chain, as via is reversed and concatenated quite frequently
2021-04-06 19:01:25 +03:00