Please have a look at another scientific application of mine :



Sometimes I also make stupid things:



Or not :



Chalk's full documentation can be consulted here


An article about how and why Chalk was built can be consulted here

“All desktop calculators are wrong, so I had to build my own“


macos109 macos109 macos1010 macos1011 macos1012

Chalk's compatibility starts with Mac OS 10.9 that brought in some interesting technologies. It is also limited to 64 bits (no 32 bits) to provide the best number limits.

Pretty print

Ok, this one is not very impressive. But you can type your whole expression before validate it, and, thanks to MathJax it is displayed with a pretty print that takes care of fractions, matrices, powers…

Large numbers

Not very impressive as well, but handy : Chalk does not really care of the size of numbers. Thanks to the GMP library, it can handle easily numbers with millions of bits.

Advanced maths

It begins to be interesting. Chalk supports complexes, quaternions, matrices, lists...


This one is a major feature (at last!). It is certainly the best feature in fact. Chalks support absolute and relative uncertainty. What does that mean ?

  • Even with a billion digits, some operations on numbers will always be inexact. Chalks knows the limits and only reports the true digits.
  • You can compute a sequence of operations with uncertainty and get the uncertainty of the result

Controlled approximations

And while we talk about uncertainty, please understand that Chalk works with exact values as long as possible, and makes approximations only when needed. But even in this case, approximations are controlled. You can even know where approximations where made thanks to computation flags.


Chalk knows about primes. It can decompose numbers, test primality... And never lies. If the answer is probabilistic, it reports that fact.

Bits manipulation

If you are a developer, you certainly often need to work at the bit level. And Chalk makes it really simple, yet very powerful, so that you can handle different bit representations, interpret an unsigned integer as a float, roll, shift, and so on.

Grapher with uncertainty

Since Chalk supports uncertainty, it can use it cleverly to display unambiguous graphs, where the uncertainty is reported, and no data disappear because of subsampling.

Graph predicates

By the way, Chalk is also able to display a set of constraints (equalities, inequalities) to determine 2D areas of (x,y) predicates. And yet again, uncertainty makes it right : no sub-sampling will skip data.

And more...

Honestly, I can't list all the features, it is boring for you and for me. You should better check if Chalk does the right thing for you. The embedded documentation can also be read online Chalk's full documentation

Core Data


Core Data is a data-management library developed by Apple. Why am I telling you that ? Simply because Chalk is using it, and that is a good thing.
More than performance, Core Data offers interoperability. Chalk is OpenSource, and its data model is public. Other softwares can therefore be compatible with Chalk's data format. It's up to you to imagine what it could be useful for !



Be kept informed of updates ; Chalk is using the Sparkle component, a secured and reliable one. The updates are… like they should always be.

Open Source


Chalk is open source ; the code is available for free under the CeCILL license. Customize it and improve it as you need it !



Currently, only English, French and Greek are provided. But you can propose your own localizations.


Valid XHTML 1.0 Transitional

CSS Valide !