enso/docs
Hubert Plociniczak 85d4337f26
Project save backed by git (#3851)
This change adds support for Version Controlled projects in language server.
Version Control supports operations:
- `init` - initialize VCS for a project
- `save` - commit all changes to the project in VCS
- `restore` - ability to restore project to some past `save`
- `status` - show the status of the project from VCS' perspective
- `list` - show a list of requested saves

# Important Notes
Behind the scenes, Enso's VCS uses git (or rather [jGit](https://www.eclipse.org/jgit/)) but nothing stops us from using a different implementation as long as it conforms to the establish API.
2022-11-14 17:32:39 +00:00
..
debugger Debug Enso language in ChromeDev tools with --inspect option (#3432) 2022-05-10 08:55:08 +00:00
distribution Support module imports using a qualified name (#3608) 2022-07-29 14:19:07 +00:00
flexer move flexer docs 2021-10-30 14:50:06 +02:00
infrastructure Duration type is a builtin type (#3759) 2022-10-14 18:08:08 +00:00
language-server Project save backed by git (#3851) 2022-11-14 17:32:39 +00:00
libraries Update Simple Library Server (#1952) 2021-08-18 10:01:28 +02:00
parser Preparation for more parser work (#1363) 2020-12-18 14:25:30 +00:00
polyglot Remove references to dependent types (#3217) 2022-01-10 19:51:51 +03:00
rfcs Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00
runtime Force recompilation if imported module has changed (#3703) 2022-09-15 13:41:58 +00:00
security EnsoGL context abstraction (#3293) 2022-03-04 15:13:23 +01:00
semantics Refactor methods of Managed_Resource (#3460) 2022-05-18 17:27:42 +00:00
style-guide Implement masking of sensitive data in logs (#1732) 2021-05-12 16:31:53 +01:00
syntax Properly expose stacktraces and related data to user code (#3271) 2022-02-16 10:36:19 +03:00
types Add type system documentation (#3376) 2022-08-15 18:36:03 +03:00
CODE_OF_CONDUCT.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00
CONTRIBUTING.md Fixing yargs and electron-builder regressions (#3725) 2022-09-21 11:32:20 +02:00
enso-philosophy.md Remove references to dependent types (#3217) 2022-01-10 19:51:51 +03:00
getting-enso.md Bump the development version number (#1389) 2021-01-06 08:57:02 +00:00
graalvm-m1-mac.md Fix typos in graalmv-m1-mac.md (#3253) 2022-02-09 09:30:41 +01:00
README.md Update some documentation for clarity (#2005) 2021-10-01 14:13:20 +01:00
runtime-guide.md Move logic calculating the index in Vector.at to a builtin method to make the performance of Vector to be on par with Array (#3811) 2022-10-20 12:50:44 +00:00
runtime-roadmap.md Move Builtin Types and Methods to stdlib (#3363) 2022-05-05 20:18:06 +02:00
SECURITY.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00

layout title category tags order
docs-index Enso Engine Developer Documentation summary
summary
readme
0

Enso Engine Developer Documentation

This folder contains the documentation for the implementation of the Enso programming language. The documentation is broken up by subject, within the below-listed categories, and each subject combines information about the design, specification, and implementation of the feature to which it pertains.

We provide a number of useful resources for getting a quick understanding of the Enso project:

  • The Enso Philosophy: Information on the design philosophy behind Enso, and why we build things in the way we do.
  • Contributing Guidelines: Information for people wanting to contribute to Enso (in many different ways).
  • Community Code of Conduct: The code of conduct for members of our community, developers and users alike.
  • Security Guidelines: Security guidelines for the Enso project, including supported versions and our vulnerability reporting process.
  • Getting Enso: Instructions for how to get and run a copy of Enso.
  • Runtime Roadmap: An analysis of the pressing changes that should be made to the runtime.
  • Runtime Guide: A tour of the runtime, and some pointers as to useful resources.

It is broken up into categories as follows:

  • Distribution: Information on how we distribute Enso to our users, and how Enso packages themselves work.
  • Language Server: Information on the Enso language server, its protocol, and how it integrates with the runtime.
  • Polyglot: Information on Enso's polyglot functionality, and how it is integrated into the surface Enso language.
  • RFCs: RFCs for Enso's development and evolution.
  • Runtime: Specification and documentation of the way that the Enso runtime is designed and implemented.
  • Semantics: A specification of Enso's semantics.
  • Style Guides: Style guides for the code written as part of the Enso project.
  • Syntax: A specification of Enso's syntax.
  • Types: A specification of Enso's type system and type theory.
  • Debugger: A specification of Enso's debugger.
  • Parser: Design and specification of the Enso parser.
  • Infrastructure: Description of the infrastructure for building Enso.
  • Libraries: Description of Enso's Library Ecosystem.