FORA Description

FORA is a dynamically typed, functional programming language. It provides many of the benefits of high-level dynamic languages like Python or R, including:

  1. faster programmer iterations because there’s no compile step
  2. conciseness of code because FORA doesn’t require type annotations
  3. greater reusability of general-purpose code. Algorithms depend only on the behavior of the objects they’re manipulating, not the types of those objects.

FORA code executes as quickly as code written in statically typed, like Java (compiled to bytecode and run on a Virtual Machine) or compiled languages like C++.

FORA achieves these speedups by employing dynamic optimization techniques. FORA runs all new code in an interpreter, collecting statistics about the types and values of the objects it’s manipulating. A separate thread determines which code is “hot,” attempts to generate strongly-typed code equivalent to the dynamically typed code, and then produces optimized machine code.


  • Language Overview
  • Basic Concepts
  • Working with Functions
  • Variables