On Saturday 09 October 2010 04:23:25 Denis Koroskin wrote: > On Sat, 09 Oct 2010 15:06:40 +0400, Jonathan M Davis <jmdavisp...@gmx.com> > > wrote: > > On Saturday 09 October 2010 03:47:52 Denis Koroskin wrote: > >> Why not just throw an exception and get a nice stack trace? > > > > You get a stack trace anyway with an assertion failure. And sure, they > > _could_ > > make it so that the only way to output anything from a contract is to > > use an > > exception, but not only would that be more of a pain than using > > writeln(), but > > it would mean that the only time you could output anything would be on > > failure. > > As it is, you can print something every time that a contract is run. You > > couldn't do that with an exception. > > > > - Jonathan M Davis > > I could do the same within a function body. > > Anyway, I don't see the discussion going anywhere, it's just a matter of > preference and I don't really mind yours.
Well, regardless of what we think and what the pros and cons of the situation actually are, as I understand it, the whole reason that contracts aren't pure is so that you can use writeln() in them for debugging. - Jonathan M Davis