Fantom (programming language)
Fantom is a general-purpose object-oriented programming language, created by Brian Frank and Andy Frank. It runs on the Java Runtime Environment, JavaScript, and the.NET Common Language Runtime . Its stated goal is to provide a standard library API. Fantom uses a curly brace syntax, supports functional programming through closures and concurrency through the Actor model, and blends aspects of both static and dynamic typing.
The original name of the Fantom programming language was Fan, named after the neighborhood in which the creators live in Richmond, Virginia. In November 2009, the name of the project was officially changed from Fan to Fantom due to searchability concerns raised by its community.
Fantom is open source under Academic Free License 3.0 and is available for Windows and Unix-like platforms.
Features and systems
All variables in Fantom are statically typed, as it does not have generic types, but it does have a set of built-in generic types:List, Map, and Func. Fantom also supports dynamic calls and automatic downcasting. Fantom has a reflection API and metaprogramming capabilities.Fantom supports imports of Java Classes and modules with some limitations. Its integer is 64-bit. Unlike Java and C#, Fantom does not have Long or Short integer types. Fantom also does not support tuples.
In Fantom, the unit of deployment is called a pod. Pods take on the role of namespaces, packages, and modules. They are stored as.pod files, which are zip files containing the FCode, the documentation, and resource files necessary to run the pod. The Fantom build system can package a set of pods into a JAR archive through
build::JarDist.