This might fall under: https://github.com/JuliaLang/julia/issues/2625
On Thursday, 11 February 2016 02:54:42 UTC, Andy Ferris wrote: > > OK thanks Tim! > > Is there some way/plan to fix this in the future, to make it more > convenient? > > Andy > > On Wednesday, February 10, 2016 at 10:27:38 PM UTC+10, Tim Holy wrote: >> >> Slightly modifying an example from the docs: >> >> julia> function mysub2ind_gen(N) >> ex = :(I[$N] - 1) >> for i = N-1:-1:1 >> ex = :(I[$i] - 1 + dims[$i]*$ex) >> end >> return :($ex + 1) >> end >> mysub2ind_gen (generic function with 1 method) >> >> julia> @generated function mysub2ind{N}(dims::NTuple{N}, I::Integer...) >> length(I) == N || error("wrong number of indexes") >> mysub2ind_gen(N) >> end >> mysub2ind (generic function with 1 method) >> >> julia> mysub2ind_gen(3) >> :(((I[1] - 1) + dims[1] * ((I[2] - 1) + dims[2] * (I[3] - 1))) + 1) >> >> julia> mysub2ind((5,5,5), 1, 2, 3) >> 56 >> >> julia> sub2ind((5,5,5), 1, 2, 3) >> 56 >> >> >> On Wednesday, February 10, 2016 03:31:15 AM Jeffrey Sarnoff wrote: >> > Tim -- would you repeat that with some simple content illustrative of a >> > useful use for generation --- thx >> > >> > On Wednesday, February 10, 2016 at 5:27:12 AM UTC-5, Tim Holy wrote: >> > > On Tuesday, February 09, 2016 08:52:22 PM Andy Ferris wrote: >> > > > What's the best way to find the code generated by a @generated >> function? >> > > >> > > This isn't easy unless you (or the author) provides a function to do >> so: >> > > @generated function foo(x, y) >> > > >> > > foo_generator(x, y) >> > > >> > > end >> > > >> > > function foo_generator{Tx,Ty}(::Type{Tx}, ::Type{Ty}) >> > > >> > > # generate and return the expression for the function body >> > > >> > > end >> > > >> > > Then you can call `foo_generator(typeof(x), typeof(y))` to see the >> > > returned >> > > code. >> > > >> > > Best, >> > > --Tim >> >>