Category:FormulaOne: Difference between revisions

m
Grammatical error: ['if' and 'case' constructs that improve readability; produces ...'] changed to 'produce' (concord with plural subject).
m (You only need one language template, the LCT doesn't have an entry for this language yet, this language isn't on Codepad)
m (Grammatical error: ['if' and 'case' constructs that improve readability; produces ...'] changed to 'produce' (concord with plural subject).)
 
(One intermediate revision by one other user not shown)
Line 22:
Along with the FormulaOne language comes a complete visually oriented IDE environment. In the FormulaOne system, users can edit, compile, and run programs; build, query, and update database files; and create interlocking structures of program modules and databases of any desired complexity.
 
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, FornmulaOneFormulaOne 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