daisy/TODO.md

76 lines
1.9 KiB
Markdown
Raw Normal View History

2023-08-05 10:08:59 -07:00
## Version Bump checklist
- update Cargo.toml
- run cargo test
- commit
- git tag -a v1.0.0 -m "Version 1.0.0"
- push
- cargo publish
- Update packages
2023-08-01 20:13:10 -07:00
## Pre-release
2023-08-04 22:41:18 -07:00
- Fix linelocation (consistent, what does an operator's linelocation mean?)
2023-08-05 09:30:19 -07:00
- Tuple operations
2023-08-03 22:15:20 -07:00
- we don't need vectors as arguments to operators
- Assignment tests
2023-08-01 20:13:10 -07:00
## Parser
2023-07-31 16:54:09 -07:00
- Better error when `sin = 2`
- Should functions be operators?
2023-08-02 17:45:28 -07:00
- Binary, hex, octal numbers
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-08-04 22:41:18 -07:00
- daisyrc 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-08-04 22:41:18 -07:00
- Package for debian
2023-08-03 22:15:20 -07:00
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
- 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
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-08-04 22:41:18 -07:00
- Better substitution. Consistent: when ascii, when unicode?
- Command to list substitutions
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-04 22:41:18 -07:00
- Weird units: flops, lumen, lux, bel
- Command to list units