2023-08-01 20:13:10 -07:00
|
|
|
## Pre-release
|
|
|
|
- Commands to list constants, units, and substitutions
|
2023-06-14 20:21:27 -07:00
|
|
|
- list and delete variables
|
2023-07-31 16:54:09 -07:00
|
|
|
- Re-evaluate variables (a = q + 2, q = 3, a should evaluate to 5)
|
2023-06-11 13:53:53 -07:00
|
|
|
|
2023-07-31 16:54:09 -07:00
|
|
|
|
2023-08-01 20:13:10 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Parser
|
2023-07-31 16:54:09 -07:00
|
|
|
- Better error when `sin = 2`
|
|
|
|
- Define functions (f(x) = ??)
|
|
|
|
- Should functions be operators?
|
2023-08-01 20:13:10 -07:00
|
|
|
- Multi-argument functions
|
2023-06-13 09:17:57 -07:00
|
|
|
|
2023-04-06 10:39:36 -07:00
|
|
|
|
|
|
|
## General
|
2023-06-13 09:17:57 -07:00
|
|
|
- Optional config file
|
|
|
|
- Optional history file
|
2023-04-06 10:39:36 -07:00
|
|
|
- Compile to WASM, publish a webapp
|
2023-07-31 20:44:17 -07:00
|
|
|
- Options:
|
|
|
|
- disable replacement
|
|
|
|
- disable special characters
|
|
|
|
- 1/ as -1 power toggle
|
|
|
|
- powers as superscripts toggle
|
|
|
|
- evaluate straight from command line
|
2023-07-31 16:54:09 -07:00
|
|
|
- Auto-push to crates.io
|
2023-06-11 16:45:36 -07:00
|
|
|
|
2023-04-06 10:39:36 -07:00
|
|
|
|
|
|
|
## Internals
|
|
|
|
- Non-recursive treeify
|
|
|
|
- Faster factorial function. Maybe use gamma instead?
|
|
|
|
- Arbitrary precision float (rug doesn't offer arbitrary exponents)
|
2023-08-01 20:13:10 -07:00
|
|
|
- Remove rug dependency (too big, incompatible)
|
2023-04-06 10:39:36 -07:00
|
|
|
|
|
|
|
## Math Features
|
|
|
|
- Function definitions
|
|
|
|
- Dice
|
2023-08-01 20:13:10 -07:00
|
|
|
- Mean, Median, Min
|
2023-04-06 10:39:36 -07:00
|
|
|
- Arbitrary base logarithm
|
|
|
|
- Derivatives
|
|
|
|
- CAS features (trig, roots and powers)
|
|
|
|
- Complex numbers
|
|
|
|
- acot/acoth functions
|
|
|
|
- Binary, hex, octal numbers
|
|
|
|
- Extra roots? (for convenience)
|
2023-08-01 20:13:10 -07:00
|
|
|
- Sums and products with functional arguments
|
2023-04-06 10:39:36 -07:00
|
|
|
|
|
|
|
## Prompt
|
|
|
|
- Live syntax/output (like firefox js terminal)
|
2023-04-10 12:48:49 -07:00
|
|
|
- Syntax highlight input and output
|
2023-04-06 10:39:36 -07:00
|
|
|
- fish-style tab completion
|
2023-04-13 14:10:53 -07:00
|
|
|
- Numbered expressions, history recall
|
2023-06-13 09:17:57 -07:00
|
|
|
- Color configuration
|
2023-07-31 16:54:09 -07:00
|
|
|
- Enable/disable unit sets (defaults?)
|
2023-08-01 11:02:39 -07:00
|
|
|
- Consistent unit ordering
|
|
|
|
- Better linelocation
|
|
|
|
- we shouldn't need to re-print user input on evaluation errors, red arrows should adjust themselves to the prettyprinted string
|
2023-08-01 20:13:10 -07:00
|
|
|
- Backend-independent colorful printing
|
|
|
|
- Better colors in error texts
|
2023-06-11 16:45:36 -07:00
|
|
|
|
2023-06-13 09:12:50 -07:00
|
|
|
## Units
|
2023-06-13 21:24:04 -07:00
|
|
|
- long prefixes (megatonne, etc)
|
2023-06-13 09:12:50 -07:00
|
|
|
- HMS for degrees
|
|
|
|
- Exact radians, using pi constant?
|
2023-08-02 09:17:07 -07:00
|
|
|
- Weird units: flops, lumen, lux, bel
|