Reference
This page lists concepts and links to their descriptions. The complete language specification is also available.
Some of these pages are incomplete. Want to help? See how.
Structure and Declarations
- Keywords
- Modules
- Packages
- Compilation units
- Types
- Type abbreviations
- Type Declarations
- Type parameters
- Type aliases
- Interfaces
- Classes
- Parameters
- Values
- Functions
-
object
declarations (c.f. object expressions) - Annotations
- Dynamic interfaces
Annotations
abstract
actual
aliased
annotation
default
deprecated
doc
by
formal
final
late
license
native
optional
sealed
see
serializable
shared
static
suppressWarnings
throws
tagged
variable
Markdown reference for documentation annotations
Statements
assert
break
continue
- Condition lists
- Expression statements
for
if
statementimport
return
- Specification statements
- Destructuring specification
switch
statementthrow
try
while
Statement blocks and
dynamic
blocks.
Expressions
- Invocation
- Tuple enumeration
- Iterable enumeration
- String templates
this
outer
super
package
qualifier- Anonymous functions
- Callable references
- Static references
- Meta references
if
expressionsswitch
expressionslet
object
expressions
Also see operators and literals below
Operators
!
(not)!=
(not equal)%
(remainder)%=
(remainder assign)&
(Set intersection)&&
(and)&&=
(and assign)&=
(Set intersect assign)()
(invoke)*
(product)**
(scale)*=
(multiply assign)+
(sum)+
(unary plus)++
(increment)+=
(add assign)-
(difference)-
(unary minus)--
(decrement)-=
(subtract assign)->
(entry).
(member)..
(spanned range)y:z
(measured range)/
(quotient)/=
(divide assign)<
(less than)<=
(less than or equal)<=>
(compare)=
(assign)==
(equal)===
(identical)>
(greater than)>=
(greater than or equal)?.
(null-safe attribute)?.
(null-safe method)[]
(lookup)[]=
(lookup assign)*
(spread)*.
(spread attribute)*.
(spread method)x[y..z]
(span)x[y...]
(upper span)x[...z]
(lower span)x[y:z]
(measure)^
(power)|
(Set union)|=
(Set union assign)||
(or)||=
(or assign){}
(invoke)~
(Set complement)~=
(Set complement assign)else
exists
in
is
nonempty
of
then
Literals
API docs for ceylon.language
and the Ceylon SDK
The API documentation for the Ceylon platform modules, including the language module can be found on the Herd.
Tools
- Command line tooling and build tools
- The
ceylon
command,ceylon
- An index of
ceylon
subcommands - Dealing with
repositories
on the command line - The Ceylon project structure
-
ceylon
command plugins - The Ceylon
ant
tasks - The configuration file format
- Bootstrapping Ceylon
Interoperability
- Calling Ceylon modules on the JVM
- Calling Ceylon from Java
- Calling Java from Ceylon
- Type mapping
- EE mode
- Running Ceylon modules in OSGI containers
- The JavaScript compiler
- How to use native annotations
- Building with Maven