- Prettyprint mi/h, mi/g - Minimize parenthesis when printing expressions - Sane autoconversion (mi + km) ## Pre-release - Commands to list constants, units, and substitutions - Documentation (usage) - Documentation (comments) - More units (Multiple files?) - Build.rs for constants - Print with highlighting - Cleanup tests, test commands - Unit tests - Releases - Unit substitutions ## General - Compile to WASM, publish a webapp - CLI Options: evaluate, disable replacement, disable special characters - Trigonometry & function tests - vhs demo ## Internals - Non-recursive treeify - Faster factorial function. Maybe use gamma instead? - Remove extra calls to `.clone()` in quantity module - Arbitrary precision float (rug doesn't offer arbitrary exponents) - Backend-independent colorful printing ## Math Features - Config file - History to file - Reference previous results - Variable definitions (list and delete commands) - Function definitions - Dice - Mean, Median, Min, Max: arrays and multi-argument functions - Arbitrary base logarithm - Derivatives - CAS features (trig, roots and powers) - Complex numbers - acot/acoth functions - Binary, hex, octal numbers - Extra roots? (for convenience) - Sums and products - "per" as division? - -> as "to" - strip_unit function - Unit info command - Constant info command - Convert to base unit ## Prompt - Live syntax/output (like firefox js terminal) - Syntax highlight input and output - fish-style tab completion - Numbered expressions, history recall - Better power printing - Color configuration? - Show base units on error ## Units - Abbreviations: kWh, bps, fps, dot/in, px/in, parts-per-x(ppm, ppb, ppt, ppq), percent(pct) - Selective prefixes: tonne (k M G), Byte (TiB, etc), calorie (kcal) - Print units with powers instead of / - HMS for degrees - Exact radians, using pi constant? - Constant toml file (update doc in units.toml) - Weird units: flops, lumen, lux, bel ## Bonus - Plural unit names - Manpage