#631 Construct non-app-framework output
While the code seems sufficient for now, there are some higher level things to discuss I think.
-
I opted for splitting the output streams, so you don't have to handle all streams if the code has no use for it. This also allows some interface re-use which is nice.
-
As the split causes the code to have an instance for a particular output stream, the suffix idea
dout
,out
,iout
became less useful, and I changed it toOld function New function warn(">%s<", x)
warn.line(">%s<", x);
iout()
out.inc()
ddbg()
dbg.dec()
dowarn()
warn.isEnabled()
Where
warn
,out
, anddbg
represent the output stream object with the new function. -
I haven't changed the
plcgen
WarnOutput
class yet. -
Does it make sense to keep the old
OutputProvider
functions for anything else besides backward compatibility? (that is, should they be marked deprecated?) -
Should the interface be changed more than the above (now is the time if we want to make more adjustments if so desired).
- Not sure where I did it, but one time I add a count to the output primitive that functioned as pre- increment or decrement, eg
dbg.line(1, "text);
which is equivalent todbg.inc(); dbg,out("text");
- Add a count to increment and decrement?
- Not sure where I did it, but one time I add a count to the output primitive that functioned as pre- increment or decrement, eg
-
Is there still value in specifying 4 space indent steps? Afaik we use the default everywhere so the feature seems unused.
I'll change the DSM clustering code to use these new functions as an example soon.
Closes #631 (closed)