Open Charles-Johnson opened 3 years ago
blocked by #60
I think that an unknown
concept will ruin everything as it's basically reinventing NULL, the billion dollar mistake.
The response to expression ?
should be expression ?
if the reduction is unknown
This might conflict with ideas in #42 which references let
in expressions and need to think how the equivalent of forget a
would be handled
Instead of having a traditional read-evaluate-print-loop for interpreter UI, a possibly more conversational experience could be implemented that also would allow for asynchronous and multiple responses.
Currently the UI for the website and izia expects the user to either
expression
typinglet expression
which either evaluates to an error message or an empty string on successexpression
by typingexpression
which evaluates toexpression
if irreducible or reduction is unknown or something else if reducibleThis requires the user to either wait for the evaluation before entering a new command or have to insert the evaluation result in the right position in the history. This is because the evaluation result only makes sense when paired with the input.
Instead the UI could follow an alternative schema
expression
just by typingexpression
and getting a responselet expression -> result
where result could beerror
,redundant
orokay
expression
by typingexpression ?
and getting a response((_x_ exists_such_that) expression -> _x_) -> result
whereresult
isunknown
if reduction is unknown orfalse
if irreducible or a responseexpression -> reduction
if reduction is known.