Hi, First, for the intended users of Julia (and lots more), it seems to me exception handling is the way to go. You would much rather have your program stop with unhandled exception than the alternative, unchecked return code (as in C), and get wrong answers.
I've been thinking about how you can continue after an exception and that you probably can't in general.. and then saw this: https://en.wikipedia.org/wiki/Exception_handling "Exception handling is commonly not resumable in those languages" I'm not sure what other languages, say Erlang, do. Could Julia never work for similiar things? Or are whole sub-systems just restarted? If you get an exception in a function that mutates an array it seems there is nothing the caller can do.. But probably bad in most other languages. Not sure if this is one reason some other languages are pure functional. Another issue I saw, uninitialized variables. Rust and others disallow, I think Julia does too (or easily could) except when constructing arrays (because of speed I guess). Wouldn't that be easily fixed? If similar() would zero-initialized. Maybe a command-line option for Julia? [Haven't looked to closely at pointers, at least not common to make arrays of pointers..] Some languages have an unsafe subset, is that needed for Julia? I view ccall as an unsafe keyword, maybe the rest is safe.. except for the above? -- Palli.