36 Commits

Author SHA1 Message Date
Dima
3cd31c5827
feat(language-server): Add types for types in LSP API (#1078) 2024-02-20 12:02:55 +01:00
Dima
1a0b3a22c1
fix(compiler): Streams in closures generates wrong AIR (#1055) 2024-01-30 11:34:50 +03:00
InversionSpaces
34e274d45e
chore(tests): Remove usage of onConnectionStateChange [LNG-291] (#1046)
Remove usage of onConnectionStateChange
2024-01-16 13:19:09 +03:00
Dima
85f3ecdf39
fix(compiler): Add outside context to closures [LNG-317] (#1038) 2024-01-11 11:00:32 +03:00
Dima
5241f522d8
fix(compiler): Passing closures with abilities [LNG-314] (#1035) 2024-01-09 19:31:37 +03:00
InversionSpaces
ae32f80277
feat(compiler): for ... rec [LNG-307] (#1026)
* Add parser

* Add semantics

* Add inlining

* Add range test

* Rewrite to for ... rec

* Rewrite tests

* Fix import

* Add nested test

* Remove only

* Add yes|no test

* Add multi rec test

* Add pipeline test

* Unignore tests

* Change timeouts

* Add remote rec test

* Fix integration tests

* Add parser test

* Add semantics test

* Add inlining test

* Add comment
2024-01-09 12:48:02 +01:00
Dima
4cecab1a26
fix(compiler): Use correct empty stream as argument [LNG-280, LNG-292] (#967) 2023-11-28 10:45:12 +00:00
InversionSpaces
e65836e3c8
fix(tests): Fix imports in integration tests (#998)
Fix imports
2023-11-27 12:35:15 +01:00
InversionSpaces
2d4b2aece4
fix(compiler): Allow returning resolved service as ability [LNG-266] (#977)
* Refactor

* Refactor type system

* Remove println

* Fix renaming

* Add unit tests

* Do not convert to call arrow

* Check ability

* Refactor captured values resolution

* Remove println

* Fix fields gathering

* Remove println

* Remove println

* Fix renaming, export ability

* Rename only abilities

* Fix unit tests

* Fix captured arrows renaming

* Add comments

* Refactor

* Rename only arrows

* Add comments, refactor

* Add comments

* Rename method

* Add integration test

---------

Co-authored-by: Anatolios Laskaris <github_me@nahsi.dev>
Co-authored-by: Dima <dmitry.shakhtarin@fluence.ai>
2023-11-23 10:12:44 +00:00
InversionSpaces
11c8970fd8
feat(compiler)!: Make nil option bottom [LNG-279] (#968)
* Make nil option of bottom

* Fix tests

* Make literals of data type

* Add unit tests

* Remove print
2023-11-14 11:02:58 +00:00
InversionSpaces
68425ed42a
feat(compiler)!: Prohibit mutating options [LNG-277] (#960)
* Parse any nested type

* Refactor type system

* Fix restriction

* Refactor type resolution

* Return stream definition

* Update examples

* Refactor

* Refactor

* Refactor integration tests

* Export service

* Add integration test

* Fix args provider

* Add parser unit tests

* Add type resolution unit tests

* Add more unit tests

* DataTypeToken -> CompositeTypeToken

* GeneralStreamType -> MutableStreamType

* Refactor

* Refactor TypeResolution

* colType -> collectionType

* Refactor

* Fix PushToStreamSem

* BasicTypeToken -> ScalarTypeToken

* CompositeTypeToken -> BasicTypeToken

* Fix for nil

* Make stream collectible

* Refactor collectible type

* Use internalError

* Add unit tests
2023-11-13 11:58:36 +03:00
Dima
45ca7bbf3e
fix(compiler): Multiple closures in one function [LNG-262] (#941) 2023-10-27 09:24:52 +02:00
Dima
fab46ee130
fix(compiler): Return ability arrow [LNG-258] (#935) 2023-10-23 16:59:55 +03:00
InversionSpaces
c83d69e689
fix(compiler): Passed function is not handled correctly [LNG-260] (#940)
* Fix renaming

* Add integration test
2023-10-23 11:54:09 +00:00
InversionSpaces
ba15d9e06a
fix(compiler): Fix topology for adjacent ons [LNG-257] (#929)
* Always enforce path

* Revert "Always enforce path"

This reverts commit 5ee1e37c9e1694ed739315af2e96d51322549a5d.

* Add integration test

* Force return to relay

* Remove unused import

* Add comment

* Add unit test

* Add TODO

* Remove println

* Fix typo
2023-10-17 11:59:30 +00:00
Dima
878990a837
feat: Create structs with stream maps [fixes LNG-244] (#893) 2023-09-27 15:07:22 +03:00
InversionSpaces
b2ca1d35bf
feat(tests): Add integration test for result error handling (#914)
* Add integration test

* Fix test

* Fix test
2023-09-27 13:14:50 +02:00
InversionSpaces
ca6cae96ad
feat(compiler): Make if propagate errors [fixes LNG-202] (#779)
* Change if inlining, add fail model

* Inline if

* Fix, add comments

* Add integration test

* Fix test

* Fix test

* toBe -> toEqual

---------

Co-authored-by: Dima <dmitry.shakhtarin@fluence.ai>
2023-09-27 09:52:52 +00:00
InversionSpaces
a80033b81c
feat(compiler): Replace %last_error% with :error: [fixes LNG-239] (#883)
* %last_error% -> :error:

* Add integration test

* Fix integration tests

* Update integration test
2023-09-26 13:28:13 +03:00
InversionSpaces
ed9e708939
fix(compiler): Fix arrows capture in closures [fixes LNG-242] (#903)
* Fix arrows capture

* Add comment

* Add test

* Add integration test
2023-09-19 14:25:11 +03:00
InversionSpaces
6be2a3d5da
feat(compiler): Services as abilities [fixes LNG-206] (#873)
* Refactor ServiceSem

* Refactor AbilityIdSem

* Remove tokens from state

* Refactor

* Add mangler

* Fix tests

* Refactor valueToRaw

* ServiceIdTag

* AbilityId -> ServiceId

* Add ServiceType

* Fix defineServiceType

* Refactor resolveArrowDef

* Refactor TypesHelper

* Add ServiceIdTag inlining

* Implement resolution

* Add service as ability passing

* Fix importing services

* Fix cli

* Implement default service

* Remove println

* Fix capture

* Add integration test

* Fix id

* Fix test

* Fix test

* Refactor test

* Do not resolve id

* Refactor FuncArrow creation

* Refactor FuncArrow wrapper creation

* Add named arguments

* Add comment

* ensureIsString -> valueToStringRaw, refactor OnSem

* Resolve services as abilities

* Add name to varNames

* Remove service hack

* Capture services, do not rename captured

* Rename arrows along with values

* Fix CallArrowRaw.map

* Fix unit tests

* Remove service case

* Refactor abilities state

* Propagate rootServiceIds

* Remove unused

* Add comments

* Refactor

* Refactor

* Add test

---------

Co-authored-by: Dima <dmitry.shakhtarin@fluence.ai>
2023-09-15 10:34:21 +02:00
Dima
9f863eae43
chore: Compile integration tests with aqua-api [fixes LNG-240] (#884) 2023-09-12 13:11:50 +03:00
InversionSpaces
443e65e3d8
fix(compiler): Fix closure stream capture [fixes LNG-58] (#857) 2023-09-01 16:05:32 +03:00
Akim
0f9ede09fb
feat(js-client)!: Move to new js-client interface (#855)
* js-client.api -> js.client

* fix types

* Update js-client

* Remove redundant connect

* Set latest js-client
2023-08-25 11:39:10 +03:00
Dima
019611a89c
feat(compiler): Structural typing for data and abilities [fixes LNG-215] (#843) 2023-08-18 16:15:20 +03:00
InversionSpaces
eb4cdb0dd1
fix(compiler): Generate stream restriction for scoped exprs [fixes LNG-222] (#841)
* Add show for AST

* Update ForSem

* Fix if and try

* Fix else, otherwise, catch, add tests

* Add integration tests
2023-08-17 10:30:02 +04:00
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
ef4b0143ac
fix(compiler): Runtime error on compilation exported functions with top types [fixes LNG-218] (#822) 2023-08-09 16:21:18 +03:00
Dima
4e3e70f4fc
fix(compiler): Nested abilities [fixes LNG-214] (#816) 2023-07-31 14:40:06 +03:00
InversionSpaces
a5b6102422
feat(compiler): Add boolean algebra [fixes LNG-211] (#814) 2023-07-27 14:11:36 +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
b8b0fafda0
feat(compiler): Make on propagate errors [fixes LNG-203] (#788)
* Add fail model

* Make `on` propagate error

* Fix unit tests

* Fix TryTag inlining

* Update XorModel.wrap

* Add comments

* Remove wrapWithXor parameter

* Add unit tests

* Add integration tests

* Add comments

* Fix XorBranch topology
2023-07-12 16:18:47 +03:00
Anatolios Laskaris
a7dba14c7c
chore: Renaming things (#772)
* Renaming

* Use unstable

* Fix

* Fix

* Use main
2023-07-10 09:40:58 +03:00
Anatolios Laskaris
aa10706506
chore: Refactor CI after moving tests from aqua-playground [fixes FLU-352] (#763)
* move integration tests to repo

* Move aqua-playground CI

* Fix

* Use local aqua cli

* Move aqua tests to e2e

* Test new build.sbt

* Fix?

* Test

* Test

* Test

* Test

* Update

* Fix

* Fix

* Fix

* fix

* Fix

* Rename aqua-api to api directory for consistency

* Migrate to pnpm

* Add bump version script

* Test snapshot workflow

* fix

* Fix

* Fix

* Setup pnpm

* Update pnpm version

* Fix

* Do not publish tests

* Update

* Fix

* Fix?

* delete import

* Fix

* Fix

* Fix?

* Fix

* Fix

* Use main branch

* Fix quotes

* Fix

* Fix release

* Cleanup

* Remove compiled examples

* Cleanup

---------

Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2023-06-22 14:59:56 +03:00
Dima
6cc3a969d2
chore: move integration tests to repo [LNG-167] (#756) 2023-06-19 19:28:34 +03:00