InversionSpaces
1c76f75d80
feat(compiler): Allow renaming imports with qualified names [LNG-361] ( #1136 )
...
* Reverse ability search order
* Gather arrows from imported services
* Add test
* Refactor AquaContext
* Add test for abilities
* Rewrite parsing
* Update cache
* Make method private
* Use only PName in pick
* Rewrite picking (Compilation savepoint)
* Fix PName.value
* Linearize modules, make tests compile
* Make unit tests pass (Savepoint)
* Refactor a little
* Remove declared argument
* Refactor
* Move scoped to Picker
* Refactor locations to typed names
* Fix pickHeader
* Implement scoped for LspContext
* Refactor exports, rethink HeaderSem monoid
* Fix AquaContext (Savepoint)
* Fix import handling
* Remove println
* Remove unused fields
* Add header to SName.scala
* Add simple test
* Add merge test
* Add renaming test
* Refactor module to separate class
* Add comments
* Remove setAbility method
* Refactor exports handling
* Remove unnecessary variable
* Add integration tests
2024-07-03 20:41:31 +07:00
InversionSpaces
4ad0655da6
chore: Update files headers to AGPLv3 ( #1161 )
2024-06-24 12:20:27 +00:00
Dima
934c20c98a
feat(compiler): CRDT-maps implementation ( #1142 )
2024-06-06 04:24:47 +00:00
Dima
7468f6fd18
chore: Add extension to imports on preparing import tokens ( #1139 )
2024-05-20 07:55:09 +00:00
Dima
35db82c767
fix(lsp): Go-to-definition for used types (LNG-345) ( #1128 )
2024-05-14 11:36:25 +00:00
InversionSpaces
9c23a9d4ef
feat(compiler): Allow redeclaring functions [LNG-357] ( #1127 )
...
* Allow dots in use ... as
* Add tests
* Refactor implicits
* Use QName in module name
* Fix test
* Refactor declares
* Add PName
* Propagate nested abilities
* Fix compilation
* Do not propagate context
* Use alignCombine
* Add test
* Add more tests
* Refactor test
* Remove unused function
* Refactor test
* Refactor, add comments
* Checkout aqua-src
2024-04-25 10:40:55 +00:00
InversionSpaces
9dc9e55973
fix: Allow spaces after aqua header ( #1112 )
...
* Allow spaces after aqua header
* Fix test, add spaces after star to parsing
2024-04-02 09:55:25 +00:00
InversionSpaces
a6c8e75c27
fix(compiler): Import abilities with use
[LNG-324] ( #1077 )
...
* Add IntoApply
* Savepoint
* Add backtrack
* Return ability name
* Add service resolution
* Return import ability
* Add test
* Rewrite toDottedName
* Rewrite ability resolution
* Fix offset
* Add tests
* Add test
* Add comments
* Add test
---------
Co-authored-by: Dima <dmitry.shakhtarin@fluence.ai>
2024-02-29 14:56:05 +01:00
Dima
17fb77c40f
fix(compiler): Use strict
to check types availability [LNG-334] ( #1071 )
2024-02-12 09:23:14 +01:00
Dima
f7194f0a54
feat(language-server): Support declares and exports in LSP [LNG-304, LNG-319] ( #1070 )
...
Co-authored-by: InversionSpaces <inversionspaces@vivaldi.net>
2024-02-07 09:21:42 +00:00
Dima
abcb63db3b
perf(compiler): Inliner optimization [LNG-322] ( #1047 )
2024-01-22 10:08:06 +00:00
InversionSpaces
d057a5e695
feat(compiler)!: Force aqua
header [LNG-308] ( #1028 )
...
* Refactor
* deprecate `module`, force `aqua`, fix integration and unit tests
* fix ImportFromSpec
* Savepoint
* Fix
* Semantic error on module header
* Refactor
* Add begin token
* Fix tests
* Remove DHT examples
* Use git aqua-lib
* Fix headers
* Fix headers
* Fix headers
* Fix headers
* Fix headers
* Fix headers
* Fix headers
* Fix test
* Unignore tests
* Update aqua-lib
---------
Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2024-01-18 10:43:23 +01: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
74d02e1f63
feat(language-server): Pass token types to LSP [LNG-285] ( #999 )
2023-12-07 12:06:51 +00: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
6e6b567f8e
fix(compiler): Incorrect focus on error [LNG-274] ( #959 )
2023-11-02 12:38:19 +00:00
InversionSpaces
fcdb5b0fef
feat(compiler): Allow omitting field name in struct creation [LNG-261] ( #943 )
2023-10-25 09:12:09 +00:00
Dima
fab46ee130
fix(compiler): Return ability arrow [LNG-258] ( #935 )
2023-10-23 16:59:55 +03:00
InversionSpaces
27a781dd3f
feat(compiler): Add warnings subsystem [fixes LNG117] ( #906 )
...
* ErrorsAlgebra -> ReportAlgebra
* Refactor ReportAlgebra
* Refactor
* Refactor AquaError
* Fixes
* Add warnings, refactor
* Refactor parser
* Move semantics
* Savepoint
* Refactor semantics and compiler
* Refactor types
* Refactor compiler
* Refactor compiler
* Refactor types
* Refactor retunr types
* Return warnings
* Add simple warning
* Refactor to ValidatedNec
* Refactor
* Add comment
* Propagate warnings to LspContext
* Propagate warnings to LSP
* Add warnings to js api
* Update LSP js api
* Use export declare
* Add comment
* Refactor span rendering
* Remove variable name warning
* Add warning on unused call results
* Add unit tests
* Remove println
2023-09-25 13:00:43 +00: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
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