Commit Graph

340 Commits

Author SHA1 Message Date
Dima
720de27f14
Parsing refactoring (#111)
* WIP, nothing work

* delete ParExpr, ParSem, rewrite exprs, RootCompanion, WIP

* list of tokens to tree

* fix leaf ast

* move expr

* it works?

* small changes

* handle errors

* some refactoring

* WIP

* WIP

* merge

* comments, cleaning up

* split Companion and RootCompanion

* clean up

* couple tests

* fix tests

* ParPrefix?

* Expr code reorganisation

* ParExpr/ParSem returned

* Test fixed

Co-authored-by: dmitry <dmitry@fluence.one>
2021-05-20 16:12:13 +03:00
Pavel
3d6cc02382
Respecting setups with "noImplicitAny" set to "true" in tsconfig.json (#123) 2021-05-17 20:06:33 +03:00
Dmitry Kurinskiy
a8fd7f5c13
CLI: Version flag and help flag must take precedence over everything else (#122) 2021-05-14 16:22:34 +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
c4a2752e18
For...try expression (#115) 2021-05-14 11:36:49 +03:00
Dima
3066e390b7
Parser refactoring (#104) 2021-05-05 10:47:55 +03:00
Dmitry Kurinskiy
450fe4e142
Fixes #86 (#107) 2021-05-04 12:09:27 +03:00
Dmitry Kurinskiy
85cc40fa5e
Wrap every OnTag (topological shift) with Xor (#109) 2021-05-04 11:58:25 +03:00
Dmitry Kurinskiy
231cd2a9d0
Fixes #99: use impossible name for relay (#103) 2021-04-30 11:51:55 +03:00
Dmitry Kurinskiy
53ad29ab31
Config options to omit xor wrapper, relay passing (#105) 2021-04-30 11:43:48 +03:00
Pavel
0e550491fa
fix build issue (#106) 2021-04-30 11:40:28 +03:00
Dmitry Kurinskiy
1fc5557ba6
Topology refactoring (#100)
* 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
2021-04-29 14:16:25 +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
Dima
3b3ff24133
Integration test (#95) 2021-04-27 16:23:31 +03:00
boneyard93501
e7dd1e27ca
fix typo (#94) 2021-04-24 10:44:28 +03:00
Dmitry Kurinskiy
d88b3a561c
Fix using par after xor: xor handled first now (#93)
* Script with crazy wrong output

* Xor can be combined with Par
2021-04-23 17:49:26 +03:00
Dmitry Kurinskiy
7991ab0b4d
Fixes bug with loosing a callback (#92)
* Fixes bug with loosing a callback

* Avoid passing unneeded arrows
2021-04-23 17:15:27 +03:00
Dima
e052772676
return empty object on void (#91) 2021-04-23 17:02:33 +03:00
Dmitry Kurinskiy
453b95b8ae
Better topology resolution (#89)
* Better topology resolution

* error example

* par added

* revert

* Test fixed
2021-04-23 14:04:21 +03:00
Dmitry Kurinskiy
a5afe1c6fa
Bugfix for ScriptModel (#88)
* Bugfix for ScriptModel

* Println error for unresolved functions
2021-04-23 12:25:21 +03:00
Dima
ca8e3bfa40
Constant expr (#79) 2021-04-22 16:42:08 +03:00
Pavel
490cb7873b
fix ts error with callback types (#82) 2021-04-22 13:04:51 +03:00
Pavel
4a8d835158
fix ts error with client relayPeerID (#81) 2021-04-22 12:51:15 +03:00
Pavel
5b7db0bfcf
Align generated ts code with the latest js sdk change (#80) 2021-04-21 20:58:47 +03:00
Dmitry Kurinskiy
433b464a36
67 plain air gen (#78)
* Refactoring ForClient to make its parts reusable/recomposable

* Func transformation decomposed into parts

* Improves AIR compilation target
2021-04-20 16:44:06 +03:00
Dmitry Kurinskiy
7512648cd0
69 wrong varnames (#74)
* Bug #69 reproduced in test

* Bug #69 reproduced in a test

* Fixes #47 (allow arg names in service function definitions)

* ServiceModel

* AbilityModel is removed, as it's unused

* Fixes #65: expose %init_peer_id% as a literal

* Removed FuncResolved, as it's not resolved actually

* Fixes #69

* Helpers for func op showing & building

* Compile bug fixed

* Comments

* Removed ScriptModel.enqueue
2021-04-19 16:22:45 +03:00
Dmitry Kurinskiy
2d1427b124
Fixes #71 (#73) 2021-04-16 20:20:52 +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
c8869eb2b4
Add header to .ts files that this is generated files (#70)
* add header

* rewrite
2021-04-16 20:13:56 +03:00
Pavel
9d2ca71890
Specifying function name in timeout message (#63) 2021-04-15 11:50:10 +03:00
Dima
c0cdb07bf9
resolve promise instantly if a function returns nothing (#60)
* resolve promise instantly if a function returns nothing

* set return value by func.ret

Co-authored-by: Dmitry Kurinskiy <dmitry@fluence.one>
2021-04-15 09:54:03 +03:00
Pavel
28830feafd
fix path in npm package (#61) 2021-04-14 19:13:07 +03:00
Pavel
3f7ef9f264
Create aquamarine npm package (#56)
* Create aquamarine npm package
2021-04-14 18:00:51 +03:00
folex
704540fcf5
Aquamarine -> Aqua in README (#59) 2021-04-14 14:42:20 +03:00
Dmitry Kurinskiy
6ec999c5b6
Pass sbt version to JAR file (#55) 2021-04-14 14:15:27 +03:00
Dmitry Kurinskiy
970da2e1b7
30 import basics (#49)
* Functions must be marked with `pub` to be exported

* AquaFiles WIP

* Factoring out linker

* Core linker logic

* FileModuleId WIP

* AquaFile WIP

* AquaFiles WIP

* Basic imports works

* Show errors

* Dirty hack to make imports work (almost)

* Better errors displaying

* Simplified AquaCompiler interface

* Write compiled files

* New AquaCli

* CLI fixed, works

* Review fixes
2021-04-13 16:05:31 +03:00
Dmitry Kurinskiy
569df52d27
Intro – first approach (#44)
* Readme WIP

* Readme WIP
2021-04-13 16:02:36 +03:00
Dima
8e04348ffa
Fix release, add xor wrap (#51) 2021-04-13 13:37:03 +03:00
Dima
50e335bc76
Builtins (#46) 2021-04-12 10:40:28 +03:00
Dima
2e5f986961
fix assembly, add u8 (#45) 2021-04-08 15:53:54 +03:00
folex
6540550f08 use cli/version in CI 2021-04-06 19:29:02 +03:00
folex
1ecd25096b fix version in CI 2021-04-06 19:16:03 +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
Dmitry Kurinskiy
75595b99bd
Fix in GetServiceId error message (#41) 2021-04-05 15:28:13 +03:00
Dima
992af16a08
Fix via path, complex tests (#27) 2021-04-05 10:40:51 +03:00
Dima
cad921a958
Expr tests (#26) 2021-03-26 16:55:46 +03:00
Dmitry Kurinskiy
2adcfbbecc
Huge refactoring of model & generator (#25)
* All generation logic removed from model

* ForModel moved from Gen to Model

* WIP converting FuncOp to a Cofree tree

* FuncOp is a Cofree tree

* CallServiceTag

* Model refactoring WIP

* Resolve functions and arguments in FuncModel

* Simply resolve peer id

* on ... via relay syntax

* Tests compilation fixed

* Coalgebra -> CallArrow

* Tiny changes

* par for par works

* TODO

* Review fix
2021-03-26 14:04:22 +03:00
Dima
8aeeed2071
add flag to generate only air script (#24) 2021-03-25 17:22:11 +03:00
Dima
f28dca35eb
Args and stdin (#23) 2021-03-24 13:17:02 +03:00
Pavel
c9f109fd85
Fix message for timeout (#22) 2021-03-24 12:05:01 +03:00