Hmm, I read errors from top-to-bottom, but I agree that if you start at the 
bottom it's not helpful at all.

Maybe I need to add a second check to ProfileView. I always do this from the 
REPL, so then you see the warning and don't even try to view the results. It 
seems odd to give the warning a second time, but it would also be weird for it 
to silently fail. I'll probably have it throw a more descriptive error.

--Tim

On Tuesday, August 26, 2014 01:29:08 PM Stefan Karpinski wrote:
> The warning is super clear. I think it may be the "ERROR: `start` has no
> method matching start(::Nothing)" part that's causing the confusion.
> 
> On Tue, Aug 26, 2014 at 1:26 PM, Tim Holy <[email protected]> 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
> > > >> ​
> > > >> 
> > > >  ​

Reply via email to