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.

Reply via email to