Commit Graph

19 Commits

Author SHA1 Message Date
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
7468f6fd18
chore: Add extension to imports on preparing import tokens (#1139) 2024-05-20 07:55:09 +00:00
Dima
6cc068ac36
fix(lsp): Plugin throws OOM on big projects (#1134) 2024-05-07 11:58:37 +02: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
f29e44e52a
fix(compiler): Refactor header semantics [LNG-352] (#1113)
* Initial

* Fix import

* Refactor RawSemantics

* Refactor RawSemantics

* Remove initCtx for export

* Add fromInit

* Remove setInit

* Use init ctx

* Add a hack to ModuleSem

* Remove initCtx

* Refactor HeaderSem finalization

* Remove RawContext#init

* Combine with semigroup op

* Remove unnecessary typeclass

* Remove unused typeclass

* Remove unnecessary typeclass

* Remove unnecessary monoid

* Remove contants from monoid

* Fix tests

* Remove unused monoids

* Refactor declares

* Refactor module sem

* Refactor module sem

* Update LspSemantics

* Remove unused typeclass

* Remove unnecessary method

* Add comments
2024-04-09 12:58:12 +02:00
InversionSpaces
5c7f6a89c6
feat(compiler): Reimplement noXor compiler flag [LNG-347] (#1096)
* Fix imports

* Remove constants

* Return constants

* Refactor

* Add config

* Do not propagate errors

* Do not propagate errors through on

* Rename hop ephemeral streams

* Add comments

* Add tests
2024-03-05 10:45:21 +07:00
Dima
1a0b3a22c1
fix(compiler): Streams in closures generates wrong AIR (#1055) 2024-01-30 11:34:50 +03:00
Dima
abcb63db3b
perf(compiler): Inliner optimization [LNG-322] (#1047) 2024-01-22 10:08:06 +00:00
InversionSpaces
f7bfa8317b
feat(api): Accept structured imports [LNG-288] (#989)
* Refactor sources

* Fix FuncCompiler compilation

* Normalize imports

* Add relative imports

* Remove Prelude

* Remove import

* Add a log

* Add more logs

* Use snapshot of fs2

* Remove prints

* Add comments

* Savepoint

* Rewrite imports resolution

* Fix relative import

* Add comment

* Added comments

* Fix comment

* Add comments

* Refactor

* Refactor

* Add tests

* Fix tests

* Update tests

* Add comment

* Lower number of tests

* Comment, rename

* Add comment

* Add emptiness check
2023-12-13 17:19:34 +01:00
renovate[bot]
2f135e4fd2
chore(deps): update dependency com.outr:scribe to v3.13.0 (#1008)
* chore(deps): update dependency com.outr:scribe to v3.13.0

* Fix field

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: InversionSpaces <inversionspaces@vivaldi.net>
2023-12-11 12:26:15 +01:00
Dima
74d02e1f63
feat(language-server): Pass token types to LSP [LNG-285] (#999) 2023-12-07 12:06:51 +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
InversionSpaces
5a3c5e6666
fix(compiler): Unknown service method call is ignored [LNG-273] (#957)
* Remove property token adjustment

* Revert "Remove property token adjustment"

This reverts commit 27d72f2bff.

* Remove scope word

* Refactor

* Refactor, add error

* Add unit tests

* Fix specifier for struct
2023-11-01 14:55:59 +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
8741c910be
feat(compiler): Fail on internal error [fixes LNG-229] (#905)
* Refactor utils

* Add errors project

* logger.error -> internalError

* Add comment

* Suppress stack trace

---------

Co-authored-by: Dima <dmitry.shakhtarin@fluence.ai>
2023-09-19 17:01:42 +02: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
Dima
fabf8d7d61
feat(compiler): Restrict exporting functions that return arrow types or ability types [fixes LNG-209] (#815) 2023-07-26 12:55:16 +03:00
Dima
aa89b85b41
Api for fluence cli (#611) 2022-12-28 11:30:42 +03:00