dev harness for inference?

165 views
Skip to first unread message

Isaiah Norton

unread,
Jan 15, 2015, 10:13:30 AM1/15/15
to juli...@googlegroups.com
Is there any way to work on inference.jl without recompiling the whole sysimage after every change? I don't want the changes to actually be used by the compiler, just to make a change and run typeinf to see the result (or debugging output).

Not sure if this is feasible yet, but I was hoping to be able to `include("inference.jl")` in a baremodule with a sufficient number of imports from Base and Core.Intrinsics. Importing all of `names(Base,true)` won't work because the existing methods are overwritten and everything breaks. I have a few ideas for how to filter the existing inference methods out, but any suggestions on this (or anything else to the same end!) would be appreciated.

Isaiah Norton

unread,
Jan 17, 2015, 2:52:23 PM1/17/15
to juli...@googlegroups.com
Alright, I have something which seems to work in the simple case:

It works by parsing the given file and extracting all top-level declarations, and using that as an exclusion list for Base imports.


In the above example I added `@show linfo` at the start of the main typeinf method.

The @hack loading step takes about 2 seconds, so ~15s total. By comparison, `make -j2` takes about 3 minutes on my computer after making any changes to inference.jl (and I'm pretty sure @show and similar calls aren't available).
Reply all
Reply to author
Forward
0 new messages