Eclipse Ceylon consists in a number of components:
-
The Ceylon distribution, which is composed of the following modules:
-
ceylon-typechecker (compiler front-end), which includes the parser, AST and type-checker
-
ceylon-model: describes a type-checked Ceylon program (this is what the type-checker outputs), and provides a facility for turning a JVM class into a Ceylon model
-
ceylon-compiler-java: produces JVM bytecode modules for Ceylon programs (the JVM back-end), also contains the API documentation generator
-
ceylon-compiler-js: produces JavaScript modules for Ceylon programs (the JS back-end)
-
ceylon.language: the base Ceylon language module implicitly imported by every Ceylon module, which contains the Ceylon basic types
-
ceylon-module-resolver: deals with module repositories reading and writing and contains optional plugins:
-
ceylon-module-resolver-aether for Maven interop
-
ceylon-module-resolver-javascript for JS interop
-
-
ceylon-common: a utilities module used by most other modules
-
ceylon-cli: the framework used by the Ceylon Command-Line Interface tools
-
ceylon-tools: most of the CLI tool implementations
-
ceylon-runtime: a JBoss Modules runtime for Ceylon
-
ceylon-main: a barebones ClassPath-based runtime for Ceylon
-
ceylon-tool-provider: APIs to invoke the compilers and runners
-
ceylon-module-loader: resolver that resolves the right versions for transitive dependencies of Ceylon modules
-
ceylon-bootstrap: support for auto-downloading the right Ceylon distribution in Ceylon projects
-
-
The Ceylon SDK: the Ceylon APIs that allow access to the file system, network, databases, http client and server, mathematics, testing framework and many other things.
-
The ceylon-lang.org website: static generated website based on Awestruct
-
The Ceylon Web IDE: allows you to try your Ceylon program in the browser, requires an OpenShift server that compiles the code and sends it back to the browser for execution.
-
The Ceylon Eclipse IDE: fully-featured Ceylon editor in Eclipse
-
The Ceylon IntelliJ IDE: fully-featured Ceylon editor in IntelliJ, newer than the Eclipse plug-in and still a little bit behind in terms of features
-
The Java2Ceylon converter: Ceylon module that converts Java code in to Ceylon. Used by the Eclipse/IntelliJ IDEs
-
The Ceylon formatter: Ceylon module that formats Ceylon code. Used by the Eclipse/IntelliJ IDEs
-
The ceylon-ide-common project: common Ceylon module used by the Eclipse/IntelliJ IDEs to share functionality
-
The Ceylon Herd project, which is a web server allowing publishing and consumption of Ceylon modules. Its functionality and scope is similar to Maven Nexus.
-
The modules.ceylon-lang.org and herd.ceylon-lang.org services which are running a Herd instance for Ceylon modules. It’s functionally equivalent to Maven Central for Ceylon.