enso/docs
Pavel Marek 9010cf93be
Extension methods can be exported by name (#10274)
Ultimately, we want to forbid the `from ... export all` syntax. This PR starts by providing a way to explicitly export extension and conversion methods by name.

Stdlib code will be modified in upcoming PR.

# Important Notes
A single name can refer to multiple extension or conversion methods. Exports are not qualified. For example,
```
type My_Type
type Other_Type
My_Type.ext_method x = x
Other_Type.ext_method x = x
```
```
from project.Mod export ext_method
```
will export both `My_Type.ext_method` and `Other_Type.ext_method`.
2024-06-25 12:08:22 +00:00
..
debugger Rename Tests to Base_Tests to be more descriptive (#8781) 2024-01-17 16:19:19 +01:00
distribution How to get a Java library from Maven central (#8912) 2024-02-03 15:21:17 +00:00
infrastructure Run whole test/Base_Tests in native image runner (#10296) 2024-06-21 06:03:53 +02:00
language-server Cleaning up YAML parsing in preparation for circe-yaml removal (#10309) 2024-06-20 13:07:54 +00:00
libraries Change layout of local library search path in order to be able to move Round_Spec.enso back to Tests (#7634) 2023-09-01 20:20:04 +00:00
parser Preparation for more parser work (#1363) 2020-12-18 14:25:30 +00:00
polyglot Update link to point to search page (#9139) 2024-02-22 14:23:16 +00:00
profiler Update docs following GUI1 removal (#9670) 2024-04-30 08:53:00 +00:00
rfcs Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00
runtime Introduce hash seed to invaldiate caches (#9082) 2024-02-16 23:43:30 +00:00
security EnsoGL context abstraction (#3293) 2022-03-04 15:13:23 +01:00
semantics Implement private methods (#10060) 2024-05-31 08:00:20 +00:00
style-guide Add TypeScript style guide (#6226) 2023-04-15 08:28:12 +00:00
syntax Extension methods can be exported by name (#10274) 2024-06-25 12:08:22 +00:00
types Equality with conversions (#9070) 2024-02-19 17:18:56 +01:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md 2023-02-13 23:10:51 +01:00
CONTRIBUTING.md Bump electron-builder (#9884) 2024-05-08 13:20:48 +00:00
enso-philosophy.md Consistent naming of visualization (#7124) 2023-06-26 17:04:35 +00: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 IGV can jump to JMH sources & more (#4008) 2022-12-30 05:30:32 +00:00
runtime-roadmap.md Autoscoped constructors (#9190) 2024-03-04 11:41:02 +00:00
sbt-cheatsheet.md ydoc-server is a separate module (#10156) 2024-06-07 12:56:42 +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.