The GNU Emacs Calculator
Calc is an advanced desk calculator and mathematical tool written by Dave Gillespie that runs as part of the GNU Emacs environment.
This manual, also written (mostly) by Dave Gillespie, is divided into three major parts: “Getting Started,” the “Calc Tutorial,” and the “Calc Reference.” The Tutorial introduces all the major aspects of Calculator use in an easy, hands-on way. The remainder of the manual is a complete reference to the features of the Calculator.
This file documents Calc, the GNU Emacs calculator, included with GNU Emacs 30.2.
Copyright © 1990–1991, 2001–2025 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being just “GNU GENERAL PUBLIC LICENSE”, with the Front-Cover Texts being “A GNU Manual,” and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled “GNU Free Documentation License.”
(a) The FSF’s Back-Cover Text is: “You have the freedom to copy and modify this GNU manual.”
Table of Contents
- 2.7.1 RPN Tutorial Exercise 1
- 2.7.2 RPN Tutorial Exercise 2
- 2.7.3 RPN Tutorial Exercise 3
- 2.7.4 RPN Tutorial Exercise 4
- 2.7.5 Algebraic Entry Tutorial Exercise 1
- 2.7.6 Algebraic Entry Tutorial Exercise 2
- 2.7.7 Algebraic Entry Tutorial Exercise 3
- 2.7.8 Modes Tutorial Exercise 1
- 2.7.9 Modes Tutorial Exercise 2
- 2.7.10 Modes Tutorial Exercise 3
- 2.7.11 Modes Tutorial Exercise 4
- 2.7.12 Arithmetic Tutorial Exercise 1
- 2.7.13 Arithmetic Tutorial Exercise 2
- 2.7.14 Vector Tutorial Exercise 1
- 2.7.15 Vector Tutorial Exercise 2
- 2.7.16 Matrix Tutorial Exercise 1
- 2.7.17 Matrix Tutorial Exercise 2
- 2.7.18 Matrix Tutorial Exercise 3
- 2.7.19 List Tutorial Exercise 1
- 2.7.20 List Tutorial Exercise 2
- 2.7.21 List Tutorial Exercise 3
- 2.7.22 List Tutorial Exercise 4
- 2.7.23 List Tutorial Exercise 5
- 2.7.24 List Tutorial Exercise 6
- 2.7.25 List Tutorial Exercise 7
- 2.7.26 List Tutorial Exercise 8
- 2.7.27 List Tutorial Exercise 9
- 2.7.28 List Tutorial Exercise 10
- 2.7.29 List Tutorial Exercise 11
- 2.7.30 List Tutorial Exercise 12
- 2.7.31 List Tutorial Exercise 13
- 2.7.32 List Tutorial Exercise 14
- 2.7.33 Types Tutorial Exercise 1
- 2.7.34 Types Tutorial Exercise 2
- 2.7.35 Types Tutorial Exercise 3
- 2.7.36 Types Tutorial Exercise 4
- 2.7.37 Types Tutorial Exercise 5
- 2.7.38 Types Tutorial Exercise 6
- 2.7.39 Types Tutorial Exercise 7
- 2.7.40 Types Tutorial Exercise 8
- 2.7.41 Types Tutorial Exercise 9
- 2.7.42 Types Tutorial Exercise 10
- 2.7.43 Types Tutorial Exercise 11
- 2.7.44 Types Tutorial Exercise 12
- 2.7.45 Types Tutorial Exercise 13
- 2.7.46 Types Tutorial Exercise 14
- 2.7.47 Types Tutorial Exercise 15
- 2.7.48 Algebra Tutorial Exercise 1
- 2.7.49 Algebra Tutorial Exercise 2
- 2.7.50 Algebra Tutorial Exercise 3
- 2.7.51 Algebra Tutorial Exercise 4
- 2.7.52 Rewrites Tutorial Exercise 1
- 2.7.53 Rewrites Tutorial Exercise 2
- 2.7.54 Rewrites Tutorial Exercise 3
- 2.7.55 Rewrites Tutorial Exercise 4
- 2.7.56 Rewrites Tutorial Exercise 5
- 2.7.57 Rewrites Tutorial Exercise 6
- 2.7.58 Programming Tutorial Exercise 1
- 2.7.59 Programming Tutorial Exercise 2
- 2.7.60 Programming Tutorial Exercise 3
- 2.7.61 Programming Tutorial Exercise 4
- 2.7.62 Programming Tutorial Exercise 5
- 2.7.63 Programming Tutorial Exercise 6
- 2.7.64 Programming Tutorial Exercise 7
- 2.7.65 Programming Tutorial Exercise 8
- 2.7.66 Programming Tutorial Exercise 9
- 2.7.67 Programming Tutorial Exercise 10
- 2.7.68 Programming Tutorial Exercise 11
- 2.7.69 Programming Tutorial Exercise 12
- 10.11.1 Entering Rewrite Rules
- 10.11.2 Basic Rewrite Rules
- 10.11.3 Conditional Rewrite Rules
- 10.11.4 Algebraic Properties of Rewrite Rules
- 10.11.5 Other Features of Rewrite Rules
- 10.11.6 Composing Patterns in Rewrite Rules
- 10.11.7 Nested Formulas with Rewrite Rules
- 10.11.8 Multi-Phase Rewrite Rules
- 10.11.9 Selections with Rewrite Rules
- 10.11.10 Matching Commands
- 10.11.11 Automatic Rewrites
- 10.11.12 Debugging Rewrites
- 10.11.13 Examples of Rewrite Rules