a7a06a7684dc4b0c3a5de0b7f50a9b946f957007
typing in a string like "4 + sqrt(5)" would cause a crash because in the middle of typing "sqrt" the evaluator would treat 's' as an operator and try to compare it's precedence to the precedence of '+'. The precedence function did not match all patterns and this adds an otherwise case.
bc
A better basic calculator. Like the original bc
, but with a better
prompt. Work in progress. Very incapable right now.
What?
The idea behind bc
is to display partial results to the right of the
cursor in yellow while we type. A little example can be found in the video
above. Minor syntactic cleanups have been developed as well (e.g. no local
keyword). We have infinite precision integers and 90 decimal mantissa precision
floats (similar to setting scale
to 90).
We support all builtin functions, but have no IO (no print
).
TODO
- A good readline copy (haskeline is sadly out of the question for this project)
- Add keyboard shortcuts
- Comment parsing
- Closures that can modify the parent environment (but do away with the
local
keyword). - Better arbitrary precision floats
Description
Languages
Haskell
99.9%