Category:Ecstasy

From Rosetta Code
(Redirected from Ecstasy)
Language
Ecstasy
This programming language may be used to instruct a computer to perform a task.
Official website
Execution method: Compiled (bytecode)
Garbage collected: Yes
Parameter passing methods: By reference, By value
Type safety: Safe
Type strength: Strong
Type compatibility: Nominative, Duck
Type expression: Implicit, Explicit
Type checking: Dynamic, Static
Lang tag(s): xtc, xtclang, ecstasy
See Also:
Listed below are all of the tasks on Rosetta Code which have been solved using Ecstasy.

The Ecstasy programming language (xtclang) is designed to support the efficient composition of secure applications, long-term maintainable infrastructure, and the efficient low-cost deployment exemplified by the serverless cloud. The language was created by xqiz.it, developed within the open source "Ecstasy Project" organization, and freely licensed using the business-friendly Apache 2 open source license.

One or more Ecstasy source files (`.x` files) are compiled to an intermediate bytecode executable (`.xtc` file) and executed by the XTC Virtual Machine (XVM). The bytecode is a mid-level IR designed to be efficiently lowered to native machine code by a combination of ahead-of-time compilation and an adaptive JIT.

The primary benefits of Ecstasy are:

  • Code that is easy to understand and a language that is easy to learn for any developers already familiar with widely-used languages like: Java, C#, Python, Swift, Kotlin, and C++
  • A security model designed for the serverless cloud, using lightweight software containers and dependency injection (IOC/DI)
  • A reified generic type system with support for unions, intersection, and difference types, first-class tuples and functions, type inference, and type-safe mixins
  • Built-in concurrency support, with first-class support for object immutability, and the elimination of shared-mutable data
  • All of the modern capabilities that developers have grown to depend on, such as: Automatic memory management, an integrated module system, first-class lambdas and functions, partial binding and currying, cross-platform portability, and an open source development model

TODO