Factor (programming language): Difference between revisions

Content deleted Content added
RolandH (talk | contribs)
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,. and itIt does not output standalone executables, but rather merelygenerates amachine code which is saved in fasterthe image.
 
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.