Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] View of /branches/vis12/bugs/bug002.diderot
ViewVC logotype

View of /branches/vis12/bugs/bug002.diderot

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2146 - (download) (annotate)
Sun Feb 17 03:54:05 2013 UTC (9 years, 4 months ago) by glk
File size: 1921 byte(s)
bugs, and a place to move the files once they've been fixed
/****************
(there are two programs here; uncomment one)

Compiling this program gives:
[sqr-bug02.diderot:22.32-38] Error: undeclared variable 'foobar'
uncaught exception Fail [Fail: Error in compiling sqr-bug02.diderot]
  raised at common/phase-timer.sml:76.50-76.52
  raised at common/phase-timer.sml:76.50-76.52
  raised at driver/main.sml:27.39-27.76

So there is both the "Error" and the "Fail".
When there is a descriptive Error message, why have
all the uncaught exception stuff?

****************/

real eps = 1.0;
strand sqroot(real val) {
   output real root = val;
   update {
      root = (root + val/root)/2;
      if (|root^2 - val|/val < foobar)
         stabilize;
   }
}
// Strand initialization
initially { sqroot(i) | i in 1..1000 };


/****************

But compiling this program gives:
...
mid-il DFA: cpu = 0.000 seconds, gc = 0.000 seconds, 4 nodes, 3 visits, 1 iterations
low-il DFA: cpu = 0.000 seconds, gc = 0.000 seconds, 3 nodes, 2 visits, 1 iterations
low-il DFA: cpu = 0.000 seconds, gc = 0.000 seconds, 3 nodes, 2 visits, 1 iterations
low-il DFA: cpu = 0.000 seconds, gc = 0.000 seconds, 18 nodes, 17 visits, 1 iterations
low-il DFA: cpu = 0.000 seconds, gc = 0.000 seconds, 4 nodes, 3 visits, 1 iterations
uncaught exception Fail [Fail: no output specified for strand sqroot]
  raised at common/phase-timer.sml:76.50-76.52
  raised at common/phase-timer.sml:76.50-76.52
  raised at c-target/c-target.sml:151.37-151.83

So there is actually a descriptive error message in the "Fail", but
there's no "Error". Why not put descriptive error messages in "Error",
and let the "uncaught exception" signify bugs in the compiler?
****************/
/*
real eps = 1.0;
strand sqroot(real val) {
   real root = val;
   update {
      root = (root + val/root)/2;
      if (|root^2 - val|/val < eps)
         stabilize;
   }
}
// Strand initialization
initially { sqroot(i) | i in 1..1000 };
*/

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0