This also sounds similar to some of the issues I dealt with in some 
experimental code I wrote to simulate the result of precompiling modules. 
In `eval_expr`, I dealt with the ability to handle some expressions 
specially (such as `=`) and to recurse into `module` declarations. (The net 
goal of this code was to serialize the result of each statement so that 
deserialize could replay the same results, but faster).
https://github.com/vtjnash/Speed.jl/blob/master/src/Speed.jl#L104

On Monday, September 26, 2016 at 9:58:18 AM UTC-4, Cedric St-Jean wrote:
>
> Cool, thank you.
>
> On Mon, Sep 26, 2016 at 9:09 AM, Yichao Yu <yyc1...@gmail.com> wrote:
>
>> On Mon, Sep 26, 2016 at 8:31 AM, Cedric St-Jean <cedric.stj...@gmail.com> 
>> wrote:
>> > It would make sense to put .jl file-parsing code in a separate,
>> > community-maintained module, because the rules for finding which file a
>> > module corresponds to are not trivial, and can change over time (they 
>> became
>> > case-sensitive in 0.5)
>> >
>> > It's too bad that
>> >
>> > macro module_parser(m)
>> >     m
>> > end
>> >
>> > @module_parser module X
>> > a = 10
>> > end
>>
>> julia> macro m(m)
>>            Expr(:toplevel, m)
>>        end
>> @m (macro with 1 method)
>>
>> julia> @m module A
>>        end
>> A
>>
>>
>> >
>> > is a syntax error, because it would be cleaner for instrumentation, and 
>> for
>> > augmenting Julia's syntax.
>> >
>> > Cédric
>> >
>> > On Mon, Sep 26, 2016 at 2:08 AM, Andreas Lobinger <lobing...@gmail.com>
>> > wrote:
>> >>
>> >> Hello colleague,
>> >>
>> >> On Monday, September 26, 2016 at 12:50:44 AM UTC+2, Cedric St-Jean 
>> wrote:
>> >>>
>> >>> I faced very similar issues with ClobberingReload.jl.
>> >>> 
>> https://github.com/cstjean/ClobberingReload.jl/blob/master/src/ClobberingReload.jl
>> >>> Check out parse_file (courtesy of @stevengj), parse_module, and 
>> creload. I
>> >>> haven't "expanded" the includes, but it seems straight-forward to do 
>> with a
>> >>> comprehension.
>> >>
>> >>
>> >> Thank you. I shortlisted the 'reload' mechanisms anyway, but
>> >> ClobberingReload seems new. Actually i was wondering, if i'm the first 
>> one
>> >> to look into code instrumentation. This should be really straight 
>> forward in
>> >> julia (i did it once in f77 and that clearly not straight forward...).
>> >
>> >
>>
>
>

Reply via email to