Eclipse Ceylon

Primary tabs

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.