Category:FormulaOne: Difference between revisions

m
Grammatical error: ['if' and 'case' constructs that improve readability; produces ...'] changed to 'produce' (concord with plural subject).
m (FornmulaOne -> FormulaOne)
m (Grammatical error: ['if' and 'case' constructs that improve readability; produces ...'] changed to 'produce' (concord with plural subject).)
 
Line 24:
FormulaOne is a relatively new programming language, so it's useful to compare and contrast it to other popular programming languages. The foundations of FormulaOne are most like those of Prolog. Like Prolog, FormulaOne is based on mathematical logic, with a precise declarative semantics; programs are run by asking questions rather than giving commands. It is able to handle symbolic variables, whose values are determined by backtracking search. However, FormulaOne recognizes the deficiencies of Prolog in areas where languages like Pascal do better.
 
As in Pascal, FormulaOne has a clear but concise nested program structure, rather than the difficult-to-read clauses of Prolog; 'if' and 'case' constructs that improve readability; producesproduce fast, compact, non-backtracking code when desired.
 
The type structure of FormulaOne is more like that of C. You can build arrays, structures, lists, and unions which are implemented as efficiently as they are in C. And as in C, terms of one type can be recast into terms of another type, when needed (and possible). FormulaOne also has many advanced features which are not found in either Prolog, Pascal or C. These include a leading-edge decision procedure for systems of constraints composed of arithmetic formulas, built into the language itself; a database file query system which is fully integrated with programs; variable modes, which allow the language to check the data flow in programs for correctness; useful data types not found in most languages, such as relations and injections; a module system which supports incremental compilation, linking, and loading of program modules.
Anonymous user