3 ms·
> and the function `f` is not defined, Mathematica will not give me an error but instead just assume that I meant to create a symbolic expression. I've dreamed
by nextaccountic 5y ago
> and the function `f` is not defined, Mathematica will not give me an error but instead just assume that I meant to create a symbolic expression.
I've dreamed about creating a language like this, but had to give up because it makes diagnostics impossible in case o typos and things like that..
My best bet now is to have some quote syntax to make a symbol stand for an abstract symbol, like
1 + x -- this sums 1 with x, and errors if x is unbound
1 + 'x -- this is an abstract expression, doesn't care if x is bound or not
Like lisp, except with some first class support to things like derive(1 + 'x, 'x), and, well, every operator needs to respect quoted symbols.. even if + were a user-defined operator or function, 1 + 'x needs to return (the AST) 1 + 'x. I suppose this is the same as Mathematica, except that Mathematica doesn't need quoting