enso/engine
Dmitry Bushev c88765d259
Send conversion method suggestions (#7857)
close #7320

Changelog:
- update: enable conversion suggestions
- fix: conversion suggestion building
- fix: conversion suggestion types
- fix: conversion JSON-RPC representation

# Important Notes
For example, the [`Day_Of_Week_From`](5150c14afd/distribution/lib/Standard/Base/0.0.0-dev/src/Data/Time/Day_Of_Week_From.enso) conversion is sent as


```json
{
"type":"Add",
"id":32,
"suggestion":{
"type":"method",
"module":"Standard.Base.Data.Time.Day_Of_Week_From",
"name":"from",
"arguments":[
{
"name":"that",
"reprType":"Standard.Base.Data.Numbers.Integer",
"isSuspended":false,
"hasDefault":false,
"defaultValue":null,
"tagValues":null
},
{
"name":"first_day",
"reprType":"Standard.Base.Data.Time.Day_Of_Week.Day_Of_Week",
"isSuspended":false,
"hasDefault":true,
"defaultValue":"Day_Of_Week.Sunday",
"tagValues":[
"Standard.Base.Data.Time.Day_Of_Week.Day_Of_Week.Sunday",
"Standard.Base.Data.Time.Day_Of_Week.Day_Of_Week.Monday",
"Standard.Base.Data.Time.Day_Of_Week.Day_Of_Week.Tuesday",
"Standard.Base.Data.Time.Day_Of_Week.Day_Of_Week.Wednesday",
"Standard.Base.Data.Time.Day_Of_Week.Day_Of_Week.Thursday",
"Standard.Base.Data.Time.Day_Of_Week.Day_Of_Week.Friday",
"Standard.Base.Data.Time.Day_Of_Week.Day_Of_Week.Saturday"
]
},
{
"name":"start_at_zero",
"reprType":"Standard.Base.Data.Boolean.Boolean",
"isSuspended":false,
"hasDefault":true,
"defaultValue":"False",
"tagValues":[
"Standard.Base.Data.Boolean.Boolean.True",
"Standard.Base.Data.Boolean.Boolean.False"
]
}
],
"selfType":"Standard.Base.Data.Time.Day_Of_Week.Day_Of_Week",
"returnType":"Standard.Base.Data.Time.Day_Of_Week.Day_Of_Week",
"isStatic":false,
"documentation":" Convert from an integer to a Day_Of_Week\n\nArguments:\n- `that`: The first day of the week.\n- `first_day`: The first day of the week.\n- `start_at_zero`: If True, first day of the week is 0 otherwise is 1.",
"annotations":[

]
}
}
```
2023-09-21 09:00:31 +00:00
..
interpreter-dsl-test/src/test/java/org/enso/interpreter/dsl/test Builtin methods handle some exceptions (#7494) 2023-08-07 16:42:15 +02:00
language-server Send conversion method suggestions (#7857) 2023-09-21 09:00:31 +00:00
launcher/src Fix console output for native image (#7744) 2023-09-06 12:12:52 +02:00
polyglot-api/src Rename Decimal to Float (#7807) 2023-09-14 15:01:30 +00:00
runner Optional Espresso support with ENSO_JAVA=espresso env variable 2023-09-19 15:10:12 +02:00
runtime Send conversion method suggestions (#7857) 2023-09-21 09:00:31 +00:00
runtime-instrument-common/src Encapsulate TruffleLanguage.Env in EnsoContext (#7842) 2023-09-20 11:30:44 +02:00
runtime-instrument-id-execution/src/main/java/org/enso/interpreter/instrument Cleanup code in IdExecutionInstrument (#7811) 2023-09-15 10:09:42 +00:00
runtime-instrument-repl-debugger/src/main/java/org/enso/interpreter/instrument Improve undefined method error message on builtin types (#3907) 2022-11-30 13:37:17 +01:00
runtime-instrument-runtime-server/src/main/java/org/enso/interpreter/instrument Improvements that significantly reduce the chances of request timeouts (#7042) 2023-06-16 17:57:16 +00:00
runtime-language-epb/src/main/java/org/enso/interpreter/epb Support for Python libraries like numpy (#7678) 2023-08-30 06:10:18 +02:00
runtime-parser/src Rename Decimal to Float (#7807) 2023-09-14 15:01:30 +00:00
runtime-with-instruments/src/test Do not suppress panic exception in runtime type check (#7793) 2023-09-18 11:48:59 +02:00
runtime-with-polyglot/src/test Fix implicit conversion of foreign JS object to Text (#7774) 2023-09-11 10:21:33 +02:00
README.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00

The Enso Engine

The Enso engine is the codebase responsible for compiling and executing Enso code, as well as providing language server functionality to users of the language. It is subdivided into two major components:

  • Language Server: The Enso language service.
  • Polyglot API: The truffle-boundary safe API for communication between the language server and the runtime.
  • Runner: The command-line interface for Enso.
  • Runtime: The compiler and interpreter for Enso.