daisy/TODO.md

67 lines
1.7 KiB
Markdown
Raw Normal View History

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