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
InversionSpaces
2a0b207633
feat(compiler): Restrict abilities usage [fixes LNG-208] ( #854 )
...
* Refactor
* Refactor
* Refactor
* Remove ScopeRaw
* Refactor, forbid exporting
* Add export checks
* Refactor
* Forbid exporting abilities
* Fix integration tests
* Forbid implicit ability export
* Simplify exports
* Fordbid using non data types in collections
* Forbid unappropriate struct field types
* Refactor
* Add export tests
* Add collection tests
* Add struct fields test
* Fixes
* Fix
2023-08-24 16:09:39 +03:00
Dima
8060695dbb
feat: parseq implementation (fixes LNG-223) ( #840 )
...
* parsec implementation
* add test code
* parsec expression
* Refactor
* Refactor
* Add return strategy to on
* Add ExitStrategy
* Add TopologyPath
* Add ExitStrategy.ToRelay
* Handle ToRelay
* Refactor
* Refactor
* Refactor
* Handle OnModel with Relay strategy
* parsec -> parseq
* parsec -> parseq
* Add semantics test
* Add topology tests
* Add comments
---------
Co-authored-by: InversionSpaces <InversionSpaces@vivaldi.net>
2023-08-21 14:26:30 +04: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
f562bd40b6
fix(compiler): Refactor values [fixes LNG-57] ( #821 )
...
* Refactor parser
* Savepoint
* Refactor CliFunc and TypesInterpreter
* Fix CliFunc
* Fix parser tests
* Fix tests compilation
* Fix callArrowToRaw
* Fix co parsing, add tests
* Add par tests
* Fix field parsing, add test
* Return ability to CallArrowToken
* Fix names
* Refactor and add comments
* Refactor, add comments
* Fix
2023-08-15 13:33:34 +03: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
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
4c3c32b7c4
fix(compiler): Fix if
with brackets parsing ( #812 )
2023-07-25 10:09:51 +00: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
8ba7021cd4
refactor(semantics): Refactor semantics to produce concrete tags [fixes LNG-201] ( #776 )
...
* Introduce IfTag, TryTag; Remove XorTag
* Add IfTag, TryTag inlining
* Fix test compilation
* Fix test
* Hack to fix topology
* Support try otherwise syntax
* Add comments
* Refactor diff show
* Handle ParTag.Par in single check, add tests
2023-06-29 16:20:47 +00:00
InversionSpaces
739854a20b
fix(parser): Fix compare ops parsing ( #748 )
...
* Fix order of compare ops parse
* Add tests
2023-06-14 12:52:30 +00:00
Dima
21cb3937ac
fix(language-server): Go-to definition for path in use
expression [LNG-187] ( #733 )
...
add tokens for `use` and `use-from` expressions to language server
2023-06-06 14:40:26 -06:00
InversionSpaces
ae2a433185
feat(parser): Strict indentation [fixes LNG-135] ( #714 )
...
* Implemented indentation consistency checking
* Added comments
---------
Co-authored-by: Dima <dmitry.shakhtarin@fluence.ai>
2023-05-29 12:17:08 +00:00
InversionSpaces
3af28d5e53
refactor(LNG-147): Rewrite list to tree conversion tail recusive ( #711 )
...
* Implemented ListToTreeConverter
2023-05-16 10:17:30 +00:00
Dima
670e779ba0
refactor: fix: LNG-143 LNG-144 definitions and locations algebras ( #705 )
2023-05-03 16:24:19 +03:00
Dima
dac8fb5774
refactor: Move LSP logic to LSP package ( #701 )
2023-04-20 13:01:47 +03:00
Dima
8fa979cd33
feat: Return arrows from functions ( #693 )
2023-04-14 16:28:17 +03:00
Dima
2394a9b875
fix: Check if expression can be added to a block ( #685 )
2023-04-04 16:02:26 +03:00
Dima
f5106e3c83
feat: Multiline collections and objects creation ( #684 )
2023-03-09 11:23:25 +03:00
Dima
50f0723a32
feat: copy structures implementation [fixes LNG-102] ( #646 )
2023-01-20 12:02:05 +07: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
e409605d21
LNG-85 Streams restrictions in aqua ( #555 )
2022-09-20 17:04:55 +03:00
Dima
792e174641
LNG-78 parser error on negative array indexes ( #538 )
2022-07-12 21:59:58 +03:00
Dima
5a7450bce1
Go-to definitions location between files ( #516 )
2022-06-02 13:31:31 +03:00
Dima
16a802f5a5
Language server ( #512 )
2022-05-17 15:05:25 +03:00
Dima
2ff870dd9a
Fixing parsing function calls in If
expression ( #508 )
2022-04-29 15:12:40 +03:00
Dima
2901622076
#502 Fix if
expression parsing ( #504 )
2022-04-26 18:55:45 +03:00
Dima
ab649eaf5e
Show parser error if constant is an array, function call, or expression ( #496 )
2022-04-21 17:28:08 +03:00
Dmitry Kurinskiy
abd101c4f9
Fix for greedy par ( #487 )
2022-04-12 16:27:04 +03:00
Dima
e9a686aac6
Math sequence fixes ( #476 )
2022-04-11 15:36:01 +03:00
Dima
8ff57625f0
#478 throw compilation error if service returns multiple results ( #479 )
2022-04-04 18:14:57 +07:00
Dmitry Kurinskiy
12ee2d52fa
Arrow Call as a Raw Value ( #461 )
...
* CallArrowToken in the parser
* CallArrowRawTag
* unfoldArrow
* handle IntoIndexRaw for CallArrowRaw
* Removed useless CallArrowRawTag.service argument
* RawValueInliner split into several classes
* cliJS compiles
* Parser tests compile
* Semantics spec compile but fail
* Allow braces around values
* infix token WIP
* InfixToken WIP
* Fixes #423
* Infix (arithmetic) operations order
* Infix (arithmetic) operations parallelism fix
* seq it!
* fix inline test
* fix transform test
* fix semantics spec
* fix CallArrowSem
* bugfix
* Fix for CLI help typo
* merge
* Order fix
* Order fix
* optional space after `func` in closures
* some doc comments
Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2022-03-25 17:23:41 +03:00
Dmitry Kurinskiy
ab0990dd72
Capture and apply topology ( #451 )
2022-03-15 14:52:43 +03:00
Dima
04e68b553f
Use global node_modules
path to find aqua dependencies ( #450 )
2022-03-09 18:54:28 +03:00
Dmitry Kurinskiy
2fa3a09548
Empty collections creation ( #447 )
2022-03-04 14:07:30 +03:00
Dmitry Kurinskiy
6772c1d0fa
Sugar for collections ( #445 )
2022-03-03 17:54:45 +03:00
Dima
5eae05dff0
Add top-bottom support ( #442 )
2022-02-23 12:37:18 +03:00
Dmitry Kurinskiy
f795edfaf7
Join expression ( #402 )
2022-01-13 13:58:20 +03:00
Dmitry Kurinskiy
5a8a702f1c
Scalar index access ( #401 )
...
* 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
2022-01-13 13:39:43 +03:00
Dmitry Kurinskiy
061e896b63
Model/raw refactoring ( #398 )
...
* Introducing model/raw subproject
* ValueRaw WIP
* ValueRaw WIP
* ValueModel.fromRaw WIP
* Recursive variables renaming
* Tests
* recursiveRaw
* Arrow Inliner refactoring
* desugarize takes its place WIP
* Sugar.desugarize maybe works
* Some movings/renamings
* Compile bug fixed
* Updated scalafmt
* Fix for service defaultId
* Map values recursively
2022-01-13 10:32:59 +03:00
Dima
4eb272e953
Support new fluenceJS version in run
command. Print results of a function ( #358 )
2021-11-17 10:56:42 +03:00
Dmitry Kurinskiy
0eab86dc4c
Closures syntax ( #327 )
2021-11-04 19:22:57 +03:00
Dima
8c9497b9cb
#322 unclear error message if parentheses are missing ( #353 )
2021-11-02 17:25:34 +03:00
Dmitry Kurinskiy
1bd640e773
277 implicit canonicalization for <<- stream ( #339 )
...
* Create opaque names in NamesInterpreter
* Implicit canonicalization for <<- stream
* PR fixes
* Second part of #277
2021-10-26 19:47:28 +03:00
Dima
3844d8f2db
Run aqua code from CLI ( #324 )
2021-10-13 11:10:10 +03:00
Dima
aa34d04808
Add levenshtein distance to error messages, fix constant parsing ( #303 )
2021-09-20 15:35:45 +03:00
Dima
b0c193a42c
Error formatting, fix dry run, fix aqua extensions in imports ( #301 )
2021-09-14 14:42:11 +03:00