Tea (programming language)

Tea is a high-level scripting language for the Java environment. It combines features of Scheme, Tcl, and Java.

Features

 * Integrated support for all major programming paradigms.
 * Functional programming language.
 * Functions are first-class objects.
 * Scheme-like closures are intrinsic to the language.
 * Support for object-oriented programming.
 * Modular libraries with autoloading on-demand facilities.
 * Large base of core functions and classes.
 * String and list processing.
 * Regular expressions.
 * File and network I/O.
 * Database access.
 * XML processing.
 * 100% pure Java.
 * The Tea interpreter is implemented in Java.
 * Tea runs anywhere with a Java 1.6 JVM or higher.
 * Java reflection features allow the use of Java libraries directly from Tea code.
 * Intended to be easily extended in Java. For example, Tea supports relational database access through JDBC, regular expressions through GNU Regexp, and an XML parser through a SAX parser (XML4J for example).

Interpreter alternatives
Tea is a proprietary language. Its interpreter is subject to a non-free license. A project called "destea", which released as Language::Tea in CPAN, provides an alternative by generating Java code based on the Tea code.

TeaClipse is an open-source compiler that uses a JavaCC-generated parser to parse and then compile Tea source to the proprietary Tea bytecode.