“All desktop calculators are wrong, so I had to build my own“
Compatibility
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...
Uncertainty
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.
Primes
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 !
Sparkle
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 !
Translations
Currently, only English, French and Greek are provided. But you can propose your own localizations.