Factor (programming Language) - Implementation and Libraries

Implementation and Libraries

Factor includes a large standard library, written entirely in the language. These include

  • A cross-platform GUI toolkit, built on top of OpenGL and various windowing systems, used for the development environment.
  • Bindings to several database libraries, including PostgreSQL and SQLite.
  • An HTTP server and client, with the Furnace web framework.
  • Efficient homogeneous arrays of integers, floats and C structs.
  • A library implementing regular expressions, generating machine code to do the matching.

A foreign function interface is built in to Factor, allowing for communication with C, Objective-C and Fortran programs. There is also support for executing and communicating with shaders written in GLSL.

Factor is implemented in Factor and C++. It was originally bootstrapped from an earlier Java implementation. Today, the parser and the optimizing compiler are written in the language. Certain basic parts of the language are implemented in C++ such as the garbage collector and certain primitives.

Factor uses an image-based model, analogous to many Smalltalk implementations, where compiled code and data are stored in an image. To compile a program, the program is loaded into an image and the image is saved. A special tool assists in the process of creating a minimal image to run a particular program, packaging the result into something that can be deployed as a standalone application.

The Factor compiler implements many advanced optimizations and has been used as a target for research in new optimization techniques.

Read more about this topic:  Factor (programming Language)

Famous quotes containing the word libraries:

    riding flatcars to Fresno,
    Across the whole country
    Steep towns, flat towns, even New York,
    And oceans and Europe & libraries & galleries
    And the factories they make rubbers in
    Gary Snyder (b. 1930)