-
Notifications
You must be signed in to change notification settings - Fork 169
Description
I really love what this project is doing, and its feature set is awesome, but I ultimately ended up moving to using other simpler and more specific projects like wcalc
and units
-- and I've come back to think about why exactly that is.
The unit conversion feature of libqalculate is awesome, but the way it is so eager to make guesses about what the user meant, creates chaos -- at least, in my use case. For instance, here's what happens if I misspell the help command.
So, it's interpreting hl
as hectoliters, and e
as euler's identity, from what I can tell. That's... fine, but if I'm trying to guess
a unit name, and end up wrong, it will break it down into gibberish. Furthermore, if I'm trying to get it to solve an equation, often if the variable names happen to match units it will erroneously try to process them as such -- it tries to be very intelligent and guess what the user means in ambiguous situations.
I'd like to know if it would be possible to build some sort of 'non-guessy' mode for this app, which uses something more like a formal language so that the user's intent is more explicit -- but still including all the same functionality. The difference here is something like the difference between Wolfram Alpha and Mathematica, I suppose, but it doesn't have to be nearly as formalized and explicit as Mathematica. I'm just wondering about a happy medium of some sort.
As some examples, I imagine a more explicit mode would:
- Identify commands using an escape character, e.g. IRC's
/
. - require units to be separated by spaces -- any blob of unrecognized text is a single unit -- not interpretable as like 5 units for some accidental nonsensical dimensional analysis.
- Have some ability to clearly distinguish between units and variables -- perhaps by adding a symbol like $ before the variables, a la Bash.
Please share your thoughts with me on this! Thanks for listening. ^.^