Commit Graph

1253 Commits

Author SHA1 Message Date
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
Dmitry Bushev
ded8d22f43
refactor: fix typo interpeter (#718) 2020-05-07 07:56:04 +03:00
Ara Adkins
ea23cf6fbc
Add sections, underscore args and ignores (#716) 2020-05-06 19:00:03 +01:00
Dmitry Bushev
55486e50d3
Review of the Language Server Spec (#712)
* fix: file/event

* fix: capability text/canEdit

* fix: capability file/receivesTreeUpdates

* fix: capability executionContext/canModify

* fix: capability executionContext/receivesUpdates

* doc: file open&close wording

* doc: add SHA3-224

* misc: cleanup

* doc: rename project picker to manager

* update: remove DirectoryTruncated node

* doc: versioning

* test: increase PingHandler timeout

* Revert "test: increase PingHandler timeout"

This reverts commit b225a885c24d0d5b8dfbc02a220107653b5deae0.

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-05-06 17:58:18 +03:00
Łukasz Olczak
29190f8339
Truffle Integration for the Binary Protocol (#711) 2020-05-06 14:23:00 +02:00
Dmitry Bushev
7c7bd3e6ae
Add PoC of Caching Injection to IdExecutionInstrument (#709)
* add: impl setOverride

* rem: ValueOverrideInstrument

* debug: clean CI cache

* Revert "debug: clean CI cache"

This reverts commit ad08edd7456a74f210e5544fb5e6e1723cc649bb.

* upd: remove binding from IdExecutionListener

* update: val instrument

* remove: global value from instrument

* cleanup

* Revert "cleanup"

This reverts commit 329822d7d853d808e0869517992ea810f2d1784d.

* Revert "remove: global value from instrument"

This reverts commit 4cff1abe84eade5ae8c4e126c2324d6e942e0be8.

* add: cache to Handler
2020-05-05 18:34:21 +03:00
Marcin Kostrzewa
1c8600e53f
Fix polymorphic frame slot writes (#710) 2020-05-05 14:28:58 +02:00
Ara Adkins
a68c59344b
Fix miscellaneous bugs, refactoring (#705) 2020-05-01 21:25:48 +01:00
Ara Adkins
50e307e6ee
Bump scalac version to 2.13.2 (#703) 2020-04-30 20:30:55 +01:00
Ara Adkins
90d85fc810
Implement lambda consolidation (#701) 2020-04-30 15:58:45 +01:00
Dmitry Bushev
7e48e82dbc
Send Information About Function Calls (#696)
* Add Module reference to ModuleScope

* add: function call info

* add: impl getQualifiedName

* misc: cleanup

* add qualifiedName field

* upd: extend ClosureRootNode constructor

* misc: simplify
2020-04-29 18:56:03 +03:00
Marcin Kostrzewa
1254920482
fix double-eval of this arguments (#700) 2020-04-29 16:59:07 +02:00
Marcin Kostrzewa
d03a5a9dde
Stopgap JSON serialization for Enso objects (#698) 2020-04-29 11:23:46 +02:00
Łukasz Olczak
f7e9f9fa85
Implementation of The Visualisation Binary Protocol - RPC-side (#688) 2020-04-28 17:30:15 +02:00
Marcin Kostrzewa
4ba26a3034
Compile Error Handling (#687) 2020-04-28 14:03:33 +02:00
Ara Adkins
92d8393495
Remove non-working caches from CI (#674) 2020-04-24 17:33:27 +01:00
Ara Adkins
9013407091
Implement dataflow analysis for Enso (#673) 2020-04-23 16:25:39 +01:00
Dmitry Bushev
9fcef233a8
Add: executionContext/recompute command (#669)
* add: executionContext/recompute

* doc: review comments
2020-04-23 15:13:02 +03:00
Łukasz Olczak
413962df92
Implementation of The Visualisation Binary Protocol (#665) 2020-04-23 12:42:59 +02:00
Dmitry Bushev
a10e37342b
Execution Context Integration with Text Change Events (#668)
* add: notifications to CollaborativeBuffer

* impl: trigger re-execution on file notifications

* add: file notifications test

* doc: update

* update: don't re-execute on file open

* fix: typo

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-04-22 21:11:30 +03:00
Marcin Kostrzewa
9020008bc2
String concat and string conversion functions (#667) 2020-04-21 16:27:05 +02:00
Marcin Kostrzewa
e2d901fb68
Module file operations through execution server (#660) 2020-04-20 14:33:51 +02:00
Dmitry Bushev
75f25b66db
Integrate the LS with context management (#657) 2020-04-17 17:31:12 +01:00
Dmitry Bushev
86fdc07ce0
Run scalafmt after updating its version (#661) 2020-04-17 17:05:56 +01:00
Łukasz Olczak
50e6072b41
Flatbuffers integration (#655) 2020-04-17 15:47:58 +02:00
Ara Adkins
16b24d58e7
Implement demand analysis (#658) 2020-04-17 12:12:28 +01:00
Łukasz Olczak
d296ac1ef8
Implementation of session initialisation (#649) 2020-04-15 12:56:11 +02:00
Ara Adkins
8a99415a30
Fix warnings, docs, and repo structure (#651) 2020-04-14 17:00:51 +01:00
Dmitry Bushev
4e73aba706
Add executionContext/expressionValuesComputed notifincation (#648)
* WIP ExpressionValueUpdate

* Add client reference

* doc: update

* refactor: ExpressionValuesComputed

* refactor: conversion functions

* impl: Config findRelativePath

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-04-14 16:33:24 +03:00
Ara Adkins
875190d7a9
Remove some compilation warnings 2020-04-14 11:56:13 +01:00
Łukasz Olczak
e966392cc8
Implementation of the Language Server Supervisor Process (#643) 2020-04-10 12:11:15 +02:00
Dmitry Bushev
76faaaabcd
Add executionContext push & pop commands (#637)
* add: executionContext/push

* add: executionContext/pop

* add: stack to engine handler

* misc: cleanup

* misc: update error handling

* misc: cleanup
2020-04-09 16:29:14 +03:00
Marcin Kostrzewa
23f7797632
Language Execution Service (#642)
* Execution service

* fix language server

* cr feedbakz

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-04-09 15:02:12 +03:00
Dmitry Bushev
dc58fc6b2a
Add executionContext/destroy (#634)
* add: executionContext/destroy

* remove: ExecutionProtocol

* refactor: UnhandledLogging

* add: custom errors

* refactor: runtime errors
2020-04-06 14:15:50 +03:00
Dmitry Bushev
a0d68eca37
Add executionContext/create command (#632)
* WIP Context

* test: executionContext/create

* misc: scalafmt

* add: requestId

* doc: update

* update: routing

* misc: cleanup

* doc: update

* fix: runtime

* fix: runtime tests

* add: message envelope

* refactor: remove ContextManager

* refactor: correlationId
2020-04-02 16:58:32 +03:00
Łukasz Olczak
5c616c2727
Implementation of project/open and project/close commands. (#631) 2020-03-31 15:51:05 +02:00
Dmitry Bushev
0ffce13894
Add file/event command (#626)
* WIP FileEventWatcher

* WIP Capabilities

* update: FileEvent

* test: FileEventRegistryTest

* update: cleanup resources

* doc: misc

* update: FileEventRegistry protocol

* refactor: FileEventRegistry

* misc: cleanup

* doc: fix scaladoc

* test: resolve real path

* refactor: FileEventWatcher

* refactor: FileEventManager

* fix: test path

* update: FileEventManager handle watcher errors

* add: respond with custom errors

* add: handle ClientDisconnected

* doc: update

* add: force release capability on errors

* refactor: FileEventManager

* add: enumeratum

* update: stop manager after error

* update: watch manager

* update: manager sends events to client

* refactor: file event actors

* refactor: rename registry to handler

* refactor: rename manager to PathWatcher

* refactor: effectful watcher start and stop

* refactor: rename FileEventWatcher to WatcherAdapter

* misc: cleanup

* impl: unhandled

* feat: cancel timeout timers
2020-03-31 15:23:23 +03:00
Marcin Kostrzewa
bf758ebc6d
Thread IDs through the compiler pipelines (#627) 2020-03-26 11:59:50 +01:00
Dmitry Bushev
47ad474790
Add file/info command (#614)
* feat: impl file/info

* doc: typo

* add: OffsetDateTime

* update: UTCDateTime JSON format

* update: remove UTCDateTime

* fix: review comments

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-03-25 13:30:26 +03:00
Dmitry Bushev
f4d4b001aa
test: remove filemanager warmup (#624) 2020-03-25 13:12:41 +03:00
Ara Adkins
2c1d967dd6
Extract remaining analyses from codegen (#616) 2020-03-24 10:28:03 +00:00
Dmitry Bushev
6f8d3b73bb
test: wait for FileManager init (#617) 2020-03-23 21:37:11 +03:00
Ara Adkins
b6221e519a
Implement explicit alias analysis (#613) 2020-03-20 08:01:03 +00:00
Dmitry Bushev
1910498524
Add file/list filemanager command (#612)
* feat: impl file/list

* test: warmup zio executor
2020-03-19 18:40:23 +03:00
Marcin Kostrzewa
ed7c7c75f9
Execution context management (#611) 2020-03-19 12:29:11 +01:00
Dmitry Bushev
4864d2623f
Refactor FileManager file commands (#609)
* refactor: create Config.scala

* WIP FileSystemHandler

* doc: update FileSystem list

* add: zio FileSystem

* update: FileSystemHandler runAsync

* add: config timeouts

* rename FileSystemHandler to FileSystemManager

* add: ZioExec

* add: FileManager router

* fix: FileManager return FileWiteResult

* update: FileSystemApi interface

* refactor: FileSystem with Zio

* impl: FileManager

* impl: cleanup LanguageServer

* impl: ReadFileHandler

* impl: CreateFileHandler

* impl: DeleteFileHandler

* impl: CopyFileHandler

* impl: MoveFileHandler

* impl: ExistsFileHandler

* impl: TreeFileHandler

* fix: filemanager tests

* misc: cleanup

* fix: BufferRegistry tests

* doc: add misc

* doc: misc

* feat: add ZioExec parameter to FileManager

* feat: FileManager uses FileSystemApi interface

* feat: FileSystem has blocking semantics

* feat: FileManager props
2020-03-19 13:47:08 +03:00
Łukasz Olczak
2863498da3
Scaffold the Project Manager (#610) 2020-03-18 11:41:55 +01:00
Dmitry Bushev
b5010d65c7
Add file/tree message for language server (#585)
* feat: impl FileSystem tree

* impl: conversion to DirectoryTree

* refactor: rename Path RelativePath

* WIP path encoding

* feat: add SystemPath encoding

* misc: fetch master

* doc: update engine-services

* refactor: rename SystemPath

* doc: cleanup

* test: fix json ordering

* test: fix symlink target

* test: fix unclosed source

* test: fix windows

* misc: cleanup

* doc: typo

* feat: follow symlinks

* feat: detect symlink loops

* refactor: rename RelativePath to Path

* feat: extend FileSystmObject api

* doc: update engine-services

* feat: add path to Other file system object

* test: fix windows

* refactor: remove TreeSet

* feat: DirectoryTree files filter directories

* feat: add NotDirectory error

* refactor: readDirectoryEntry

* feat: SymlinkLoop contains target to the loop

* refactor: DirectoryTree conversion

* feat: tailrec tree algorithm

* misc: cleanup

* misc: remove redundant if branch

Co-authored-by: Łukasz Olczak <lukasz.jan.olczak@gmail.com>
2020-03-13 19:41:57 +03:00
Marcin Kostrzewa
4b3943ce9b
Create a server instrument for language server <> runtime communications (#602) 2020-03-12 18:32:21 +01:00
Łukasz Olczak
7a1b333f2c
'text/save' method (#601) 2020-03-12 16:27:47 +01:00
Josef
c2df4e7957
Store idmap with metadata in source file. (#586) 2020-03-11 21:13:23 +01:00
Łukasz Olczak
004f73c649
text/applyEdit method (#598) 2020-03-11 17:55:07 +01:00
Ara Adkins
ac5a9eb639
Add a --version flag to the cli (#584) 2020-03-09 13:44:40 +00:00
Dmitry Bushev
7b17e7e789
Add file/move message to language server (#574)
* feat: impl Ws MoveFile

* doc: update engine-services

* misc: run scalafmt

* test: add more

* fix: rebase

* test: add missing cases

* misc: run scalafmt

* test: update
2020-03-09 14:26:10 +03:00
Dmitry Bushev
22f505b6c4
Add file/exists message to language server (#579)
* feat: impl file/exists

* doc: update engine-services

* doc: wrap 80
2020-03-09 13:54:44 +03:00
Łukasz Olczak
31d5e6eb5b
text/closeFile method (#583) 2020-03-06 19:14:50 +01:00
Ara Adkins
23d33c4438
Desugar operators to functions (#581) 2020-03-06 15:23:39 +00:00
Łukasz Olczak
e5530045bf
text/openFile method (#575) 2020-03-06 15:17:46 +01:00
Rostyslav Zatserkovnyi
dfb4ec43ac
Update GraalVM to 20.0.0 (#576) 2020-03-06 13:40:29 +00:00
Dmitry Bushev
2275a97233
Add file/copy message to language server (#570)
* feat: impl file/copy command

* test: add Ws tests

* doc: update engine-services

* misc: run scalafmt

* test: exists

* test: typo

* fix: impl missing test cases
2020-03-05 19:18:20 +03:00
Dmitry Bushev
a712288aad
Add file/delete message (#568)
* impl: file/delete

* add: tests

* doc: update engine-services

* misc: remove irrelevant comment

* test: address review comments

* Revert "misc: remove irrelevant comment"

This reverts commit a89a5505db59407a6ce7a8e8ab8e274ec0ee8f3f.

* test: exists
2020-03-04 16:43:35 +03:00
Łukasz Olczak
8bf56f5e6d
Artefact Builds for the Language Server (#566) 2020-03-03 14:11:42 +01:00
Marcin Kostrzewa
da392ff26f
Split tests & select random port 2020-03-03 11:16:17 +01:00
Ara Adkins
fa845ee4c6
Convert the compiler pipeline to scala (#563) 2020-03-02 12:33:28 +00:00
Marcin Kostrzewa
5628752271
Rope data structure (#561) 2020-02-28 14:17:48 +01:00
Łukasz Olczak
0b22606fa1
File and directory creation for LS (#560) 2020-02-28 10:37:42 +00:00
Łukasz Olczak
fe471314ec
File Reads for the Language Server (#559)
File Reads for the Language Server
2020-02-26 18:03:14 +01:00
Łukasz Olczak
016602972f
File write feature. (#557)
Provides writing to a file capability. It writes a textual content to an arbitrary file.
2020-02-25 14:38:48 +01:00
Marcin Kostrzewa
d394888a5a
Capabilities system & canEdit capability (#555) 2020-02-24 11:23:08 +01:00
Marcin Kostrzewa
639c2aeceb
Json RPC improvements & basic server structure. (#522) 2020-02-21 12:35:14 +01:00
Ara Adkins
e8fcb445be
Clean up the stopgap IR (#521) 2020-02-19 14:41:17 +00:00
Ara Adkins
adf5fe7db2
Add more in-depth tests to core (#489) 2020-02-14 16:29:24 +00:00
Dmitry Bushev
8d8e95e14a
Update to scala 2.13.1 (#481) 2020-02-13 14:33:39 +00:00
Ara Adkins
9dee1911f8
Add smart constructors for the core nodes (#480) 2020-02-13 09:52:05 +00:00
Marcin Kostrzewa
a288ecaa5c
JSON RPC base actor (#482) 2020-02-12 17:41:20 +01:00
Ara Adkins
ba84ee7e6e
Implement the primitive core entities (#463) 2020-01-31 16:58:35 +00:00
Marcin Kostrzewa
a2703bb296
Language Server files interface (#462) 2020-01-29 16:17:36 +01:00
Dmytro Mitin
3412606e2a
Subset of LSP - Part 1 (#453)
* Rename language-server -> runner, add language-server, gateway

* Add entry point --lsp

* Add Gateway, LanguageServer

* Add stab for Initialize

* Add stubs for Initialize, Initialized

* Add GatewayTest

* fix PR

* increase timeout

* merge with master

* fix compilation after merge

* reformat with scalafmt

* Add TODOs

* Add doc for gateway

* Update CONTRIBUTING.md

* Refactor code for PR

* Add Request#response(..)

* Make Initialize, Initialized extractor objects

* Refactor for -> map

* Fix docs

* Remove DerivationConfig

* Make Request, Notification polymorphic

* Add Param.Array, Params.Array

* Replace Decoder#apply -> tryDecode

* Refactor code

* Add docs

* Refactor code

* Refactor code

* Refactor code

* Make gateway a pure actor

* Add client capabilities

* Add server capabilities

* Add docs for capabilities

* Add docs

* Add docs

* Fix Server.Config

* Update doc for Server

* Add requests, notifications and params

* Improve PR

* Rename Protocol -> JsonRpcController

* Add docs

* Add requests and notifications

* Fix Result

* Add requests and notifications

* Add WillSaveTextDocumentWaitUntil request params and result

* Add params

* Add tests for requests

* Add textDocumentSync.willSaveWaitUntil server capability

* Handle text id

* Fix Edit workspace client capability

* Clean up

* Add initialize, initialized, shutdown, exit

* Add docs

* Fix identation

* Fix identation

* Refactor code

* Add docs

* Improve PR

* Add tests

* Fix docs for RequestExtractor

* Fix docs
2020-01-27 13:23:32 +02:00
Ara Adkins
053df2ac2b
Upgrade the graph macros (#456) 2020-01-24 18:56:52 +00:00
Marcin Kostrzewa
3b29bc3483 Add value caching for nodes (#438) 2020-01-22 17:04:55 +00:00
Marcin Kostrzewa
e80667a487
Function call instrumentation (#433) 2020-01-21 15:01:52 +01:00
Dmytro Mitin
498587e271
Stub Out Gateway and Language Server Akka Services, Implement a Starting Subset of LSP (beginning) (#418)
* Rename language-server -> runner, add language-server, gateway

* Add entry point --lsp

* Add Gateway, LanguageServer

* Add stab for Initialize

* Add stubs for Initialize, Initialized

* Add GatewayTest

* fix PR

* increase timeout

* merge with master

* fix compilation after merge

* reformat with scalafmt

* Add TODOs

* Add doc for gateway

* Update CONTRIBUTING.md

* Refactor code for PR

* Add Request#response(..)

* Make Initialize, Initialized extractor objects

* Refactor for -> map

* Fix docs

* Remove DerivationConfig

* Make Request, Notification polymorphic

* Add Param.Array, Params.Array

* Replace Decoder#apply -> tryDecode

* Refactor code

* Add docs

* Refactor code

* Refactor code

* Refactor code

* Make gateway a pure actor

* Add client capabilities

* Add server capabilities

* Add docs for capabilities

* Add docs

* Add docs

* Fix Server.Config

* Update doc for Server

* Improve PR

* Rename Protocol -> JsonRpcController

* Add docs

* Fix identation.

* Fix identation

* Fix identation

* Fix identation

* Fix docs
2020-01-17 17:35:44 +02:00
Marcin Kostrzewa
37e383b430
Polyglot API & module-level expression eval (#424) 2020-01-10 15:53:46 +01:00
Marcin Kostrzewa
05118016e1
Implement value extraction from scopes (#419) 2020-01-07 17:38:49 +01:00
Marcin Kostrzewa
4f177aa0f5
Fix uncached flows, refactor and document the function call flow (#417) 2020-01-07 13:39:07 +01:00
Marcin Kostrzewa
1eed651728
Interpreter lifecycle & Module changes (#414) 2019-12-20 16:02:34 +01:00
Ara Adkins
c3acc5c615
Complete AST to AstExpression translation (#374) 2019-12-06 19:22:20 +00:00
Marcin Kostrzewa
2b8af07148
Fix jupyter & tweak stacktrace elements & pretty printer (#373) 2019-12-06 12:58:20 +01:00
Ara Adkins
db4cbacec3
Add suspended blocks, fix thunk performance (#371)
This commit adds support for suspended blocks in the interpreter and also fixes 
a major performance issue with nested thunks that was causing quadratic 
evaluation time.
2019-12-04 16:00:53 +00:00
Marcin Kostrzewa
c7b3d31415
Source locations in Truffle nodes (#368) 2019-12-02 19:41:46 +01:00
Michał Wawrzyniec Urbańczyk
47f9a4889c
Scala AST refactoring (#360)
A new implementation of Scala AST, as described in #352.
2019-12-02 14:30:37 +01:00
Ara Adkins
ed5786d99e
Add pattern matching and lazy arguments (#365)
Add new syntax support for the above constructs.
2019-12-02 11:59:45 +00:00
Marcin Kostrzewa
6bc14a3b9f Add a tiny subset of nodelocs (#364) 2019-11-29 12:36:48 +00:00
Ara Adkins
9a4332108f
Add lambdas, types, and methods support to new syntax (#358) 2019-11-27 11:32:36 +00:00
Marcin Kostrzewa
85272edcb0
Graal upgrade to 19.3.0 (#350) 2019-11-22 16:38:31 +01:00
Ara Adkins
b91ab25fdb
Translate arith expressions using the new parser (#346) 2019-11-20 09:18:53 +00:00
Marcin Kostrzewa
427e784663
Repl & Debugger (#345) 2019-11-19 16:16:58 +01:00
Marcin Kostrzewa
51d66cdef6
Jupyter bindings (#335) 2019-11-18 14:36:03 +01:00
Ara Adkins
22aa4efda8
Add a low-level graph library (#334) 2019-11-18 11:18:16 +00:00
Marcin Kostrzewa
0ec41b5bbd
String literals, caller frame access, eval function (#333) 2019-11-15 15:49:57 +01:00
Josef
8da25bec2d
Text AST Reimplementation. (#327) 2019-11-14 13:55:45 +01:00
Marcin Kostrzewa
3929b3f72c
Implement call strategy controls and a functional if statement. (#328) 2019-11-13 12:27:52 +01:00
Ara Adkins
bfe81a731f
Reorganise repo for further development (#308) 2019-11-08 17:32:48 +00:00