Yep, that was what was tripping me up. To test I was re-starting the REPL and the complication time was making @profile work for that step only. Thanks!
On Tuesday, August 26, 2014 10:44:11 AM UTC-7, Tim Holy wrote: > > You do get that error from the REPL. I think you're being tripped up by > "did I > remember to call the function once first and force compilation?" If > compilation > takes longer than a millisecond, it will generate a sample. > > --Tim > > On Tuesday, August 26, 2014 10:38:10 AM Ethan Anderes wrote: > > My confusion is that I don’t get that error message when entered > directly > > into the REPL: > > > > julia> using ProfileView > > > > julia> Profile.clear() > > > > julia> @profile sin(10) > > -0.5440211108893698 > > > > julia> ProfileView.view() > > > > On Tuesday, August 26, 2014 10:27:00 AM UTC-7, Tim Holy wrote: > > > > 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 > > > > >> > > > > >> > > > > > > > > > > > > >
