rowandavies / sml-cidre

SML Checker for Intersection and Datasort Refinements (pronounced "cider")
http://www.cs.cmu.edu/~rowan/sorts.html
Other
20 stars 2 forks source link

Wrong filename to Cidre.make kills the program #8

Closed robsimmons closed 12 years ago

robsimmons commented 12 years ago

I meant to write sml/refine.mlb, the file sml/refine.cm doesn't exist. This probably shouldn't throw me back to my shell, however.

bash-3.2$ ../sml-cidre/bin/sml-cidre sml/refine.sml
Standard ML of New Jersey 110.72
with SML-CIDRE 0.99999

Quickstart:   Cidre.make "filenm.cm";

val it = "a piece of" : string
- Cidre.make "sml/refine.cm";
Error: file not found: sml/refine.cm
bash-3.2$
rowandavies commented 12 years ago

I missed the fact that cm2mlb called OS.Process.exit on failure. Doh!

This is fixed - you may want to check though because the behaviour is different under Windows.

robsimmons commented 12 years ago

Yep:

bash-3.2$ ../sml-cidre/bin/sml-cidre sml/refine.sml
Standard ML of New Jersey 110.72
with SML-CIDRE 0.99999

Quickstart:   Cidre.make "filenm.cm";

val it = "a piece of" : string
- Cidre.make "sml/refine.cm";

Cidre: finished checking.
[scanning sml/refine.cm]

uncaught exception Io [Io: openIn failed on "sml/refine.cm", No such file or directory]
  raised at: Basis/Implementation/IO/text-io-fn.sml:783.25-783.71
             ../cm/util/safeio.sml:30.11
             ../cm/parse/parse.sml:502.47
-