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