It's very Windows-specific, but has anyone investigated communicating between Julia and Windows apps via COM? I used to do this with Matlab all the time, auto-generate long repetitive Powerpoint presentations or Word reports programmatically.
On Saturday, March 8, 2014 11:44:49 PM UTC-8, Jameson wrote: > > I'm not sure why you need eval to catch syntax errors, since it doesn't > call parse in the first place. the `parse` function has many configurable > arguments, including whether to throw an error or return it, and handling > for multiple expressions > > global variables are almost always a terrible idea, inherited from a C > interface, leading to brittle (and slow) code > > all exceptions can be caught (and examined) in a try/catch block. I'm not > sure why you are having trouble. > > it is fairly trivial to implement your own REPL (read-eval-parse-loop). > this is what IJulia (and the built in readline-repl) do > > err is cleared every time something is "available" on the stream. in my > trials (and expectation), this ends up being the console control characters > that are printed at the start of the repl loop (which looks like nothing) > > > On Sun, Mar 9, 2014 at 6:43 AM, Laszlo Hars <[email protected]<javascript:> > > wrote: > >> Your instructions, Isaiah, fixed the IJulia installation problem. It is >> working now! Thanks! >> >> With your help I could get a step closer to a possible solution to my >> original problem: catching syntax errors. >> ~~~ >> err = nothing >> rderr,wrerr = redirect_stderr() >> >> @schedule begin >> global err >> while(true) >> err = readavailable(rderr) >> end >> end >> ~~~ >> At this point I paste an expression into the Julia console. If it is >> valid, the err global variable stays empty. If there is any error, the err >> variable contains something, so I know there was an error. I have to set >> "err = nothing" again, and I can go on. >> >> The only problem is that err contains a meaningless string. If I print >> out "readavailable(rderr)" it has good information about the error, but the >> assignment to a variable removes all readable text. Can I fix that? Like >> printing to a variable instead of a stream? >> >> All these look terrible. There could be a few nice solutions, if Julia >> was modified a bit: >> - A function or global variable, lastError, containing the description of >> the last error. It can be cleared manually, or automatically when a new >> user input is entered. >> - A syntax error could be made catch-able in the eval() command >> - STDERR could be made redirectable to a memory buffer or regular IOStrem >> or a pipe... >> >> >> >
