Commit Graph

252 Commits

Author SHA1 Message Date
Radosław Waśko
60d0c2ae45
Use Runner to Create Projects in Launcher (#1116) 2020-09-01 13:23:27 +02:00
Radosław Waśko
eb208301db
Handling Broken Releases in the Launcher (#1113) 2020-09-01 12:03:48 +02:00
Marcin Kostrzewa
4e337840cf
No Implicit Builtins (#1114) 2020-09-01 11:21:26 +02:00
Radosław Waśko
eea08a9fca
Configuration Management in the Launcher (#1112)
Names of fields `author` and `maintainer` in the `package.yaml` file
have been changed to `authors` and `maintainers` respectively, and their
format has been modified.
Projects created in older versions may not be compatible.
2020-08-31 15:53:33 +02:00
Radosław Waśko
235e17286d
Make launched processes inherit streams (#1101)
Processes launched by the launcher inherit its stdin, stdout and stderr.
This makes it possible to correctly detect the terminal in the REPL.
2020-08-28 14:04:49 +02:00
Radosław Waśko
125af6b7fe
Bump GraalVM Version to 20.2.0 (#1094) 2020-08-28 13:03:09 +02:00
Ara Adkins
e64c0384b0
Implement part of the Enso lexer in rust (#1109) 2020-08-27 13:27:22 +01:00
Dmitry Bushev
6b2356cf13
Add Base.Process library (#1106) 2020-08-27 09:44:27 +01:00
Dmitry Bushev
4ad606f526
Add Trace Logging to Language Server Boot (#1107)
Add extra verbose logging to the Language Server boot
2020-08-25 13:02:33 +03:00
Marcin Kostrzewa
5b6ce5b31f
Implement imports and exports for Main.enso (#1098) 2020-08-21 16:30:13 +01:00
Dmitry Bushev
8e764f957b
Add Log Level Options to Project Manager (#1092)
Set the project manager log level from the CLI options
2020-08-21 13:02:52 +03:00
Marcin Kostrzewa
6bbb499a18
Module re-exports (#1095)
Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-08-20 18:42:58 +02:00
Dmitry Bushev
416a7f60b0
Resolve here References when Building Suggestions (#1093)
Resolve `here` method references when building a suggestion
2020-08-20 18:05:16 +03:00
Radosław Waśko
a6b0a96f97
Add uninstallation functionality to the launcher (#1089) 2020-08-20 12:50:26 +01:00
Radosław Waśko
c979938527
Run components through the launcher (#1073) 2020-08-19 13:24:31 +01:00
Dmitry Bushev
6da3b9252f
Add DISABLE_PARALLEL_EXECUTION runtime option (#1087)
Add runtime option for sequential command execution
2020-08-19 08:00:21 +03:00
Dmitry Bushev
4ccfa5d410
Fix Method Pointer Update Notifications (#1084)
Update the implementation to send the full update containing both,
new type and method pointer, when one of them is changed.
2020-08-18 17:43:29 +03:00
Dmitry Bushev
5fcd80d4d0
Return Error When the Method Pointer Not Found (#1083)
Enable explicit error notifications when the execution
of the stack frame has failed.
2020-08-17 15:26:54 +03:00
Marcin Kostrzewa
da3b2bbe31
Fix a bug in error pattern matching (#1081) 2020-08-13 18:26:57 +02:00
Radosław Waśko
11868cb528
Enso Version Management in the Launcher (#1059)
- Adds support for downloading engine and runtime versions in the launcher.
- Adds functionality to install, list and uninstall engine components.
2020-08-10 12:14:39 +02:00
Dmitry Bushev
65dec91bc0
Handle TailCallException in Runtime Instrument (#1068)
PR implements TailCallException handler
in the IdExecutionInstrument sending
correct value updates.

- implement onReturnExceptional of the 
  runtime instrument
- add onExceptionalCallback to the 
  runtime instrument
2020-08-07 20:00:32 +03:00
Marcin Kostrzewa
b2fbf1a848
New Import Syntax (#1070) 2020-08-07 15:42:24 +02:00
Marcin Kostrzewa
0e5a20d8ad
Proper Imports Syntax (#1067) 2020-08-06 17:55:02 +02:00
Marcin Kostrzewa
ddb43af5a2
Qualified names & uppercase name resolution (#1062) 2020-08-05 22:16:44 +02:00
Dmitry Bushev
c64298cb8e
Send Method Call Updates After Popping the Frame (#1060)
PR introduces the MetodCallsCache created per frame execution, meaning
that it is not persisted in between the runs. The cache tracks which
calls have been fired during the program execution (and sent as a
notification to the user). When the program finishes, we compute the set
of calls that have not been executed and send them to the user as well.

- add: MethodCallsCache temporary storage tracking the executed method
  calls
- add: sendMethodCallUpdates flag enabling sending all the method calls
  of the frame as a value updates
2020-08-05 13:07:26 +03:00
Dmitry Bushev
467d13a9e7
Update Runtime Notifications API (#1055)
Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-08-04 12:31:56 +02:00
Dmitry Bushev
ef165e4f23
Emit value updates only on change (#1051) 2020-08-03 15:38:39 +01:00
Marcin Kostrzewa
bd027e46bc
Early constructor resolution & import-loops immune compiler (#1048) 2020-07-31 21:20:43 +02:00
Dmitry Bushev
cd6858a01e
Revert expressionId removal from value update (#1043) 2020-07-30 10:26:14 +01:00
Dmitry Bushev
2f9e7f51af
Handle Rename Command Properly (#1041)
In the current workflow, at first, the default Unnamed project is
created, and the Suggestions database is populated with entries from the
Unnamed.* modules. When the user changes the name of the project, we
should update all modules in the Suggestion Database with the new
project name.

This PR implements module renaming in the Suggestions database and fixes
the initialization issues.

- add: search/invalidateSuggestionsDatabase JSON-RPC command that resets
  the corrupted Suggestions database
- update: SuggestionsHandler to rename the modules in the
  SuggestionsDatabase when the project is renamed
- fix: MainModule initialization
2020-07-29 14:51:00 +03:00
Dmitry Bushev
93c4453299
Update ExpressionValueUpdate Notification API (#1033)
ExpressionValueUpdate notification contains information about the
executed object. To have the full information about this object, IDE
needs the id of the corresponding suggestion. PR updates the
notification adding the suggestion id of the executed object.

- update: public API for ExpressionValueUpdate notification
- update: ContextEventsListener groups ExpressionValueUpdates and sends
  them in a batch
- update: ContextRegistry listens to the notifications from runtime and
  routes them to the corresponding listener.
- test: add ContextEventsListenerSpec
2020-07-28 23:24:04 +03:00
Radosław Waśko
7dcfef0503
Add Installation Mechanism in the Launcher
1. Implements the `enso install distribution` command.
2. Implements a DistributionManager which is used for managing installation
   layout in the launcher.

PR #1034
Resolves #1010
2020-07-28 14:57:52 +02:00
Radosław Waśko
e8e44f68ad
[Feat, Tool] Add CLI Parser for the Launcher
1.  This commit adds an extensive library for parsing commandline
    arguments and formatting output.
2.  It implements the expected CLI for the launcher.
3.  It turns off parallel execution on the CI in hopes of making it
    more stable.
4.  It implements plugin support in the launcher.
2020-07-22 19:28:03 +02:00
Dmitry Bushev
45d75536aa
Wait for Suggestions Database Initialization (#1025) 2020-07-22 17:12:52 +03:00
Marcin Kostrzewa
6137c6559b
Method naming fixes (#1024) 2020-07-22 12:01:35 +02:00
Dmitry Bushev
ded61865a4
Fix the search/getSuggestionsDatabase API (#1021) 2020-07-21 23:15:14 +03:00
Ara Adkins
f5ffbe8fa7
Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00
Radosław Waśko
1a38f7c331
Update Documentation and Build Settings (#993) 2020-07-21 10:14:26 +02:00
Dmitry Bushev
b8ff893840
Enable FlakySpec only on Windows (#1015) 2020-07-20 17:13:37 +03:00
Dmitry Bushev
30d136a141
Integration with the Searcher Database (#994) 2020-07-20 11:00:49 +03:00
Marcin Kostrzewa
40f44b5b9e
Test Framework for Enso (#998) 2020-07-16 15:53:27 +02:00
Dmitry Bushev
01217d036c
Increase timeouts on Windows CI (#988) 2020-07-14 14:44:40 +03:00
Marcin Kostrzewa
be43737a34
Layered State Monad (#991) 2020-07-13 17:00:15 +02:00
Radosław Waśko
610a38df9a
Launcher Native Image Build (#970) 2020-07-10 12:57:42 +02:00
Dmitry Bushev
6ba038c800
Implement Search Requests API (#953) 2020-07-06 16:55:21 +03:00
Radosław Waśko
7c7352fa72
Fix logger warnings in tests (#965) 2020-07-03 13:02:27 +01:00
Radosław Waśko
001509b3b8
Fix missing warning for unused arguments (#960) 2020-07-02 13:39:42 +02:00
Łukasz Olczak
a8293eb3a0
Support for Project Renaming (#929) 2020-07-01 15:55:50 +02:00
Radosław Waśko
cf0c735e91
Java 11 Migration (#928) 2020-07-01 13:21:13 +02:00
Marcin Kostrzewa
510d9e4a2d
Implement Interop Library for Unresolved Symbols (#952) 2020-06-30 11:33:31 +02:00
Ara Adkins
e9b676834b
Bump the SBT and Scala versions (#948)
1.  This PR also re-enables windows CI.
2020-06-29 18:24:41 +01:00
Marcin Kostrzewa
b135615670
Benchmarking Utilities (#951) 2020-06-29 17:01:20 +02:00
Radosław Waśko
595003e965
Fix documentation metadata getting lost (#946) 2020-06-29 16:36:44 +02:00
Marcin Kostrzewa
368a1547bb
Interpreter Performance Improvements (#950) 2020-06-29 16:11:03 +02:00
Dmitry Bushev
8ecc786be6
Implement Suggestions Updates API (#930) 2020-06-26 19:52:42 +03:00
Radosław Waśko
0e139ee42a
Fix unbalanced parentheses parse error (#937) 2020-06-25 16:32:05 +02:00
Marcin Kostrzewa
0b9558d962
Standard Library Nodes DSL (#932) 2020-06-24 19:02:42 +02:00
Ara Adkins
94c7e77e03
Update references to Luna to be Enso (#931) 2020-06-24 12:07:24 +01:00
Dmitry Bushev
9ba1aa6d34
Implement the Suggestions Database (#846) 2020-06-23 11:26:05 +03:00
Marcin Kostrzewa
af786bb1de
Booleans support (#856) 2020-06-19 16:27:41 +02:00
Marcin Kostrzewa
1b1d465bd7
Fix uncached versions of the function call flow. (#844) 2020-06-19 15:15:43 +02:00
Ara Adkins
478ade7cd6
Update the scalafmt version (#854)
1.  This new version will automatically format documentation comments.
2020-06-19 13:45:01 +01:00
Ara Adkins
2f404b7f08
Fix a bug with compiler metadata (#838)
1.  The metadata objects weren't being duplicated when duplicating
    the IR. This meant that the later passes would write metadata
    multiples times into one store (reference), causing wrong
    behaviour at codegen time.
2020-06-16 13:52:11 +01:00
Łukasz Olczak
1f46a3f9a1
Introduce Threaded Executions to the Runtime Server Instrument (#807) 2020-06-16 13:16:07 +02:00
Dmitry Bushev
e1077e0389
Add RetrySpec to tests (#828)
Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-06-16 10:20:51 +01:00
Ara Adkins
dd0f93c328
Add support for writing type signatures (#833)
1.  Adds support for type signature syntax.
2.  Lifts the type operators into metdata.
3.  Uses the signatures to determine arg suspension.
2020-06-15 17:45:14 +01:00
Ara Adkins
d1ab83b4f1
Update the configuration for new default branch 2020-06-15 14:25:55 +01:00
Radosław Waśko
1a6449d329
Migrate the REPL to the New Server (#827)
Also add language stack traces to the REPL.
2020-06-15 13:06:20 +02:00
Łukasz Olczak
214cf164c5
Robust stoppage of the Language Server (#826) 2020-06-10 15:51:38 +02:00
Radosław Waśko
af8b5f88cf
Implement debbuger server in the instrument (#822) 2020-06-09 16:23:52 +02:00
Radosław Waśko
c8438fa77b
Binary Protocol for the Debugger (#796) 2020-06-05 10:48:16 +02:00
Dmitry Bushev
2a3ec07c87
Runtime Cache Integration Part 2 (#800) 2020-06-04 20:25:23 +03:00
Dmitry Bushev
7f1f484ada
Runtime Cache Integration (#788)
* add: CachePreferenceAnalysis

* add: enable runtime cache

* doc: update commands

* misc: scalafmt

* misc: reword changeset warning

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>

* misc: extra line

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>

* misc: dot

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>

* misc: redundant newline

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>

* misc: redundant newline

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>

* doc: update CacheInvalidation

* update: IRPass

* misc: scalafmt

* doc: remove inheritdoc

* update: simplify cache preference pass

* doc: scaladoc

* doc: typo

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>

* update: assign weights to all nodes

* add: update visualisations without recomputing

* remove: cache preference metadata from local scope

* add: execute frame with own cache

* doc: typo

* add: store enterables in cache

* Revert "add: store enterables in cache"

This reverts commit eb6a6c7b657bff0c5489822ec1d56356c5458ab9.

* add: instrument return after capture function call

* misc: refactoring

* refactor: rename stackTop

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-06-04 19:00:59 +03:00
Ara Adkins
918bf18b9c
Support nested patterns in pattern matches (#803) 2020-06-04 13:16:33 +01:00
Marcin Kostrzewa
cd8726c2b5
Fix interrupts test for CI (#806) 2020-06-04 13:51:25 +02:00
Marcin Kostrzewa
7e7e3da7b4
Add safepoint manager for tracking thread interrupts (#805) 2020-06-03 21:41:48 +02:00
Radosław Waśko
92ac4b7449
Bump sbt version to 1.3.12 (#795) 2020-06-01 13:03:30 +01:00
Marcin Kostrzewa
e2bac23e26
Handles disable and doc comments (#780) 2020-05-27 14:59:23 +02:00
Ara Adkins
2fdd053fd3
Register and verify dependencies between passes (#786) 2020-05-27 10:24:32 +01:00
Dmitry Bushev
d68b3414b0
Implement the Runtime Cache (#778) 2020-05-26 21:37:08 +03:00
Łukasz Olczak
806bf9dcb7
Introduce Threaded Executions to the Runtime Server Instrument - Part 1 (#781) 2020-05-26 17:37:54 +02:00
Ara Adkins
5420ca9482
Bump GraalVM to 20.1 (#775) 2020-05-21 11:46:06 +01:00
Łukasz Olczak
b4e24c3c97
Input/Output Stream Redirection (#772) 2020-05-20 20:23:36 +02:00
Dmitry Bushev
5be8ec20bc
Add FlakySpec Test Suite (#768) 2020-05-20 19:05:09 +03:00
Ara Adkins
9a59c80e8b
Support complex type definitions (#773) 2020-05-20 16:42:23 +01:00
Marcin Kostrzewa
64e3f07903
Auto-imported Std Lib and File Operations Cleanup (#771) 2020-05-20 17:05:22 +02:00
Ara Adkins
a2fe01d399
Add syntax sugar for method/function defs (#765) 2020-05-19 15:43:36 +01:00
Ara Adkins
ad9eb285fa
Implement print_err and readln (#754) 2020-05-15 16:21:39 +01:00
Josef
81bde28589
Assign a UUID to Each AST Node (#738) 2020-05-15 13:43:07 +02:00
Marcin Kostrzewa
7025918553
Enso Distribution CI (#748) 2020-05-15 10:07:58 +02:00
Dmitry Bushev
4c3b80cfe3
Add Error Handling to Execution Context (#742)
* add: error handling to execution context

* update: error handling

* add: logging

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-05-14 18:48:44 +03:00
Ara Adkins
3fcffc77e2
Add hacky syntactic support for unary negation (#746) 2020-05-14 13:03:09 +01:00
Ara Adkins
89706e2969
Analyse dependencies for external idents (#743) 2020-05-13 16:33:42 +01:00
Łukasz Olczak
7d82b1abee
Fix Flatbuffers Issues for IDE (#741) 2020-05-13 14:21:33 +02:00
Dmitry Bushev
e3e38c6b15
Use the Text Diff to Work Out the Changeset (#736)
* add: compute diff changeset

* test: try fixing windows

* fix: lines warning

* upd: operate on CharSequence

* misc: cleanup
2020-05-12 18:48:20 +03:00
Marcin Kostrzewa
e8ede5114e
Syntactic Java integration (#739) 2020-05-12 16:40:03 +02:00
Łukasz Olczak
817b2a9d11
Binary File Support (#727) 2020-05-12 16:10:44 +02:00
Marcin Kostrzewa
dd5993d7ff
List Literals (#728) 2020-05-12 13:34:16 +02:00
Dmitry Bushev
0d12d98b9d
Update Language Server Spec (#726)
* doc: update executionContext/fork API

* doc: qualified name

* doc: add execution context example

* update: executionContext/create

* doc: cleanup

* doc: add Main.enso contents

* update: init execution context

* doc: update executionContext/push

* debug: clean

* Revert "debug: clean"

This reverts commit 1c71f0b678192363a61d6ac5d7509bd234d2a697.

* test: disable flaky ProjectManagerApiSpec
2020-05-08 20:30:47 +03:00
Marcin Kostrzewa
40d62c882d
Java and Polyglot utility functions (#723) 2020-05-07 15:38:21 +02:00