Can you clarify what about that warning message _doesn't_ explain what you need to do to fix the situation? I'm asking seriously because we're always interested in improving error messages, but I thought this one was admirably clear and specific.
--Tim On Tuesday, August 26, 2014 10:20:52 AM Ethan Anderes wrote: > Right, I had tried using esc (even though I don’t really understand why I > need it) but I still get an error. > > Here’s the macro (I took out using ProfileView) > > macro profileview(ex) > quote > Profile.clear() > @profile $(esc(ex)) > # using ProfileView > ProfileView.view() > end > end > > and here is the error > > julia> using ProfileView > > julia> @profileview sin(10) > WARNING: There were no samples collected. Run your program longer (perhaps > by running it multiple times), or adjust the delay between samples with > Profile.init(). > ERROR: `start` has no method matching start(::Nothing) > in view at > /Users/ethananderes/.julia/v0.3/ProfileView/src/ProfileView.jl:116 (repeats > 2 times) in anonymous at none:6 > > Maybe this is a ProfileView thing? Anyhoo, thanks. > > Ethan > > On Tuesday, August 26, 2014 10:02:30 AM UTC-7, Stefan Karpinski wrote: > > To make your macro hygienic, you need to do this: > > macro profileview(ex) > > > > quote > > > > Profile.clear() > > @profile $(esc(ex)) > > using ProfileView > > ProfileView.view() > > > > end > > > > end > > > > > > There also may be a problem with having `using ProfileView` emitted in a > > macro like this, but fixing the hygiene issue is a good first thing to > > try. > > > > On Tue, Aug 26, 2014 at 12:33 PM, Ethan Anderes <[email protected] > > > > <javascript:>> wrote: > >> Hi Folks, > >> I’m trying to write a macro for my .juliarc.jl file which lays down the > >> syntax for generating a ProfileView. I use ProfileView infrequent enough > >> that whenever I use it I need to refer to the github page. To fix this I > >> want to write something really quick and easy but I’m running into > >> problems > >> with the following macro. > >> > >> macro profileview(ex) > >> > >> quote > >> > >> Profile.clear() > >> @profile $ex > >> using ProfileView > >> ProfileView.view() # <---- this seems to be the problem > >> > >> end > >> > >> end > >> > >> I get the following error > >> > >> julia> @profileview sin(10) > >> ERROR: error compiling anonymous: unsupported or misplaced expression > >> using in function anonymous > >> > >> I don’t have any experience with macros so I can’t tell what I’m doing > >> wrong here. I would like to be able to write @profileview foo(x) and > >> have the profile window pop up. Any suggestions? > >> > >> Thanks, > >> Ethan > >> > >> > >
