Closed kohlhase closed 1 year ago
\assign
is already "informal" in that tex does not check the target of the assignment anyway - you can write whatever you want in there.
MMT might complain, because MMT actually checks the assignments, but all that does is give you a warning in the IDE, and I think it should :)
I think an \iassign
would be useful in that it could tell MMT that the content is opaque.
And I do not want IDE warnings.
Indeed, all your assignments already are informal:
\assign{root.cond}{foobar}
<- note that you're assigning the symbol to the non-semantic plain text foobar
here. MMT should complain that it doesn't know what foobar
means.
If you want to assign the symbol foobar
, use \assign{foo}{\symname{foobar}}
. The second argument of \assign
is expected to be an arbitrary term, not a symbol.
MMT already knows the content is opaque. It also knows that it can't actually do anything with opaque targets, so it rightfully complains. And I think it's a good idea to keep warnings there, if only as a reminder that something should be done here by the author ;)
I'm very open to introducing something analogous to \proofsketch{arbitrary blabla}
that works for all axioms, because with those it will get overly tedious very quickly, but:
\iassign{nodes}{the \symname[post=s]{file} and \symname[post=s]{folder}}
<- this I disagree fundamentally with. If you don't actually want to assign things, then don't use a morphism that gives you assignments ;)
And I still maintain introducing tex-syntax just to avoid IDE-warnings is not a good design choice.
Just to clarify: with "this I diasagree fundamentall with" I mean "this should cause MMT to throw a warning", because that's the entire point of having MMT ;)
In
{realization}
and friends we have\assign{foo}{bar}
wherefoo
andbar
are symbols in the source and target structures. But in the informal setting (currently looking atsmglom/computing/source/mod/file-path.en.tex
, which currently hasI would rather do somerthing like