Commit Graph

251 Commits

Author SHA1 Message Date
Dmitry Kurinskiy
b9af20339b
Module and Use expressions (#245)
* 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
2021-08-20 18:03:47 +03:00
Dima
296c64836d
Js build (#247) 2021-08-18 13:06:14 +03:00
Dima
f59a93ac27
filter non-aqua files (#246) 2021-08-18 11:49:53 +03:00
Dmitry Kurinskiy
96bc76ef2a
Separate Transform from Model (#244)
* Separate Result from Model

* Result->Transform, docs in README.md
2021-08-16 17:58:15 +03:00
Dmitry Kurinskiy
6c498b029b
Updating compiler backends (#243)
* Updating compiler backends: add FuncRes

* TypeScriptService

* ServiceRes
2021-08-16 16:59:36 +03:00
folex
38fb824b68
CI: publish to NPM as 'aqua' & 'aqua-cli' (#242) 2021-08-13 19:16:14 +03:00
folex
3d85f54580
JAR=cli/.jvm/target/... (#240)
Since we moved to JVM + JS crossbuilds, JVM artifacts are now placed under .jvm/target
2021-08-12 15:06:41 +03:00
Dima
e2da2e90d7
Crossprojects for JVM and JS platforms (#237) 2021-08-11 19:53:36 +03:00
folex
50aa4db4e8
CI: Do not trigger releases on push (#239) 2021-08-11 18:22:52 +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
Dima
4ccac9bf0e
Migration to Scala 3 (#228) 2021-08-06 13:33:58 +03:00
Dima
ee67d038ad
53 219 issues (#224)
* functions that only return literal, don't parse top-bottom

* empty funcOp to FuncOps

* version

* fix
2021-08-04 13:16:42 +03:00
Dmitry Kurinskiy
e3716f6f31
Converting compiler to a pure function (#217)
* 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>
2021-08-03 17:23:28 +03:00
Dima
2eb4598093
Return T | null on optional results (#221) 2021-07-29 13:49:25 +03:00
folex
b6989058fc
Automatically generate changelog (#220) 2021-07-27 16:41:23 +03:00
Dima
81cd3a2c71
200 202 stream resolving (#213) 2021-07-27 09:58:33 +03:00
Dima
3bbf089e87
209 Push to stream (#214) 2021-07-26 14:31:17 +03:00
Dima
f683a6b3cf
Fix incorrect compilation with arguments duplication (#211) 2021-07-22 12:08:55 +03:00
folex
c292ce05d7
Use backwards compatible syntax for config.ttl (#206) 2021-07-17 17:33:19 +03:00
Dima
f455716548
Bug fix (#198) 2021-07-14 16:09:10 +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
Pavel
fbc34a793a
Add config to JS backend similar to it's TS counterpart (#196) 2021-07-07 14:45:20 +03:00
Dmitry Kurinskiy
d24e77b5e3
Removing IO from compiler submodule (#186)
* Removing IO from compiler submodule (wip)

* move targets to cli
2021-06-30 09:21:40 +03:00
Dima
f15bd0558b
Cli/compiler refactoring (#184) 2021-06-29 16:31:20 +03:00
Dima
5e1ef6e227
Abstract backend (#182) 2021-06-25 10:25:27 +03:00
Dmitry Kurinskiy
bbf47628c6
Co expression (#181) 2021-06-24 11:01:59 +03:00
folex
c48bf5c488 Disable automatic draft releases 2021-06-22 13:22:54 +03:00
Dima
3236f91db2
101 last line comment (#179) 2021-06-22 11:32:27 +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
Dima
f71de81cb4
test kit as separate project (#178) 2021-06-18 17:01:31 +03:00
Dima
896cf7a228
throw an error if assign to a variable result of a function that returns nothing. refactoring (#174) 2021-06-18 11:13:54 +03:00
Dmitry Kurinskiy
8586d70364
148 topology fix (#169) 2021-06-17 17:32:38 +03:00
Dima
298d7cf767
157 multiline function definitions (#172) 2021-06-16 15:56:58 +03:00
Dima
29af3e7875
170 pass constants as arguments (#171) 2021-06-15 20:44:55 +03:00
Dima
221cc5ca33
Generate optional ttl argument in typescript functions (#164) 2021-06-15 13:02:46 +03:00
Dmitry Kurinskiy
ee23ffeb9e
Introduce Catch espression (#162) 2021-06-10 16:33:01 +03:00
Pavel
6522deccb4
Javascript backend (#161)
Add javascript backend
2021-06-10 13:43:46 +03:00
Dmitry Kurinskiy
4696e95129
Model refactoring to isolate imports, exports (#156)
* Model refactoring to isolate imports, exports

* Filter duplicate errors

* Do not export imports

* Add types to ServiceModel, AquaContext

* Print compiler version in AquaCli
2021-06-08 15:55:06 +03:00
Dmitry Kurinskiy
d300a7dea3
AssignmentExpression (#155)
* 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>
2021-06-08 09:42:09 +03:00
Dmitry Kurinskiy
15f582eaf9
Fix: resolve function return name (#154) 2021-06-04 15:57:53 +03:00
Dmitry Kurinskiy
0e2ea88934
Support options for via clause in on expression (#153)
* 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>
2021-06-03 17:43:58 +03:00
Dima
6a96098227
possible to use file as input (#152) 2021-06-03 15:45:09 +03:00
Dmitry Kurinskiy
6f6299e035
Simple opt-as-an-array fix (#149)
* Simple opt-as-an-array fix

* Last error model

* Test fixed
2021-06-03 10:16:07 +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
Dima
d1e76c1fd3
fix paths finally (#145) 2021-06-01 20:43:44 +03:00
Dmitry Kurinskiy
378d154ff7
Added bang op to get array items by index (#144) 2021-06-01 20:07:09 +03:00
Dima
6ba9c13c63
extension for air target (#143) 2021-06-01 12:34:13 +03:00
Dima
582dab20b7
Hotfix delete println (#140) 2021-05-31 22:00:26 +03:00