Jump to content

Tea (programming language)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Charmk (talk | contribs) at 19:25, 30 December 2017. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Tea
ParadigmMulti-paradigm: Functional, Object-oriented (class-based)
DeveloperJorge Nunes
First appeared1997 (1997)
Websitewww.pdmfc.com/tea
Influenced by
Tcl, Java, Scheme

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

  • 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. On the other hand, a project called "destea", which released Language::Tea in CPAN, provides an alternative to the proprietary interpreter, by generating Java Code based on the Tea code.
  • There is an open source compiler known as TeaClipse[1] that uses a JavaCC-generated parser to parse and then compile Tea source to the proprietary Tea bytecode. The author of TeaClipse has expressed interest in enhancing TeaClipse to produce Java bytecode.

References