Content deleted Content added
m newer version |
Clarify role of compiler |
||
Line 21:
Factor is dynamically [[datatype|typed]], and a unique [[Object-oriented programming|object]] system accompanies it. In Factor, there is a small group of base types, and users and the standard library can make their own classes using tuples and other mechanisms. There is no [[Inheritance (computer science)|inheritance]], but there is [[Delegation (programming)|delegation]] as in Self. Additionally, there are other ways to make [[Class (computer science)|class]]es other than types or tuples; Factor supports [[predicate class]]es and union classes. Factor's built-in compound datatypes include fixed and variable length [[array|vector]]s and [[hash table|hashtables]]. The language also supports [[floating point]], and arbitrary precision integers. Linked lists, complex numbers and fractions are implemented in the standard library.
Factor was originally only interpreted, but it can now also be compiled. The optimizing machine code compiler is written entirely in Factor
When using the stack system does not suffice, dynamic [[scope (programming)|scoping]] is a supported alternative. Factor has a growing library which supports [[continuation]]s, an [[Web server|HTTP server]] and accompanying web framework, an [[OpenGL]] binding, a [[GUI]] library, an [[XML]] parser, and several other utilities.
|