Deep limit in reduction engine  
Use ApFloat library for arbitrary precision on several operations (logarithms, trigonometric, etc)  
Expression reader from XML validates the number of chldren june 8, 2016


Automated test cases  
Link an expression with its entry in dictionary june 8, 2016
Refresh all the expressions shown without reloading  
Fast reload button in toolbar  
Buttons for insertion, deletion, and null creation in toolbar  
Execution without output (i.e. with <CTRL><ENTER>)  
Detection of new version of either program or packages  
Detection of usable area when maximizing (it covers the lower programs bar under windows) june 3, 2016
Capability of shown/edit the universal language of an expression or subexpression june 7, 2016
i18n support june 21, 2016
i18n file: Spanish june 23, 2016


List of entries in main page june 9, 2016

Select a category:



We need you

Fōrmulæ is a collaborative project. If you like free software movement and knowledge sharing, this is for you ! do not hesitate to contact us. There are several ways we can work together:

Code writers

We intend to improve an create new expression packages for a lot of science fields, for example algebra, equation solving, curve and surface plotting, symbolic calculus, statistics, data management, image manipulation, computing science topics like theorem provers or parallel computing, and much more.

Software testers

The easiest way to collaborate is as a tester, just download the software and play with it !!! Any bug or error found is a great opportunity for improving. The opinion from a real user is highly appreciated.

Dictionary editors

The dictionary of expressions is the ultimate reference for final users and programmers, so they have to be properly documented as they are implemented.

Code translators

Fōrmulæ is primarily a specification that can be implemented in any modern programming language. Current implementation is written in Java, but we plan having implementations of both the library, the desktop front-end and the standard packages in other languages, specially C/C++

Style checkers

There is a lot of documentation that is constantly growing and improving. Examples of these are:

  • The Fōrmulæ API reference
  • The Fōrmulæ development guide
  • The desktop user´s guide
  • The expression dictionary

Graphic designers

  • Proposing a design for the mascot, which is a dragon.
  • Improving the visual elements in web page and documents.


Q. What does Fōrmulæ mean ?

A. Fōrmulæ is a Latin word, it is the plural for Fōrmula, which is diminutive of Fōrma (form, mould) so, in a literal sense, it means multiple, small moulds, which describes perfectly its modular structure of pieces.

Fōrmula (singular of Fōrmulæ) is of course, the origin of the word Formula, which is an arrangement of symbols intended to express an idea. 

Q. How should I write Fōrmulæ ?

A. The second letter (Ō) is the vowel O with a macron (the diacritic ¯) placed over it to mark as a long vowel.

The last letter (Æ) is a grapheme formed from the letters a and e (originally a ligature representing the ae latin diphthong), and then promoted to the full status of a letter in the alphabets of many languages.

Q. Which software license is it ?

A. Fōrmulæ is open source. The following shows the licences used:

Library It can be used and linked to any program, including proprietary and commercially licensed software
Library API reference Anyone can copy, redistribute or modify, including commercially. Credit to the authors must be provided
Developer´s guide Anyone can copy, redistribute or modify, including commercially. Credit to the authors must be provided
The Desktop front-end Anyone can copy, redistribute or modify. Derived work must remain under GPL, so the source code must be always provided
The Desktop user´s guide Anyone can copy, redistribute or modify, including commercially. Credit to the authors must be provided
Expression packages developed under the project (standard packages) It can be used and linked to any program, including proprietary and commercially licensed software
Expression packages developed independently Chosen by the developer They can be even proprietary or commercially licensed

Q. What does "free expressions" slogan mean ?

A. It has -at least- three different meanings:

  • Using "free" as a verb -such like "free Willy"- means "make expressions free"
  • Using "free" as an adjective -like "free beer"- means "expressions for all"
  • In Spanish, the term "free speech" is said "libre expresión", which is literally translated to "free expression"

Q. Does Fōrmulæ have a mascot ?

A. Yes, it is a dragon, and it is represented in two different variants:

As the dragon curve fractal. It is used for small logos, like the one in this page.

As the mythical creature. Polish artist Monika Zagrobelna created and donated the following beautiful drawing:

Q. Is it a software project exclusively to be developed with the Java programming language ?

A. No, Fōrmulæ is an specification, that can be developed with any programming language. It happens that Java was the language chosen to write the first implementations


Desktop front-end

File Description Size The desktop program.
It includes the packages shown below
To install, unpack the zip file to a new directory/folder
To run, double-click on the desktop.jar file
1,010 Kb
desktop.pdf The desktop user's guide 568 Kb

Expression packages

File Description Size
arithmetic.jar The Arithmetic package 132 Kb
relation.jar The Relation package 16 Kb
string.jar The String package 29 Kb
logic.jar The Logic package 21 Kb
expression.jar The Expression package 22 Kb
symbolic.jar The Symbolic package 37 Kb
list.jar The List package 39 Kb
programming.jar The Programming package 40 Kb
diagramming.jar The Diagramming package 15 Kb
color.jar The Color package 14 Kb

Library (for developers)

File Description Size
formulae.jar The library 92 Kb The API reference 311 Kb

Source code

File Description Size Library 94 Kb Desktop program 99 Kb The Arithmetic package 51 Kb The Relation package 12 Kb The String package 14 Kb The Logic package 11 Kb The Expression package 9 Kb The Symbolic package 16 Kb The List package 19 Kb The Programming package 20 Kb The Diagramming package 9 Kb The Color package 7 Kb