0

One of the most annoying aspects of Oz is that when developing, often calls to {Browse X} never display anything in the browser, even though no errors are reported during compilation or execution. One of the reasons this can happen is if, at some point, an unbound identifier is accessed. The entire thread of execution freezes indefinitely and I have no way of tracking down where the issue is. There could be other reasons why {Browse X} does nothing but I don't know of any.

Is there any way to temporarily disable concurrency support during development so that stuff like this doesn't happen?

Hubro
  • 56,214
  • 69
  • 228
  • 381
  • The man cause a deadlock and blame concurrency and the compiler...There is no warning or error because the Oz Compiler let you do whatever you want to do as long as there is no syntax error or impossibility of compilation. The fact that some operation need to wait for a variable and some don't is one of the basic principle of the Oz programming language. – yakoudbz Jul 30 '14 at 21:49
  • @yakoudbz: I'm not "blaming deadlock on the compiler", I'm saying that debugging such deadlocks is one of the most annoying parts of Oz. – Hubro Jul 31 '14 at 03:11
  • Sorry, I was a little bit rough. There is a debugger for Mozart 1 : https://mozart.github.io/mozart-v1/doc-1.4.0/ozcar/index.html Anyway, I think the easiest way is to use {Browse}/{Show} more then necessary when building your program... and yes, that can be seen as the annoying part. – yakoudbz Aug 01 '14 at 08:41

0 Answers0