<div dir="ltr">For example, I can easily define entry points for arbitrary functions. At run time I can choose which entry point to call and benchmark that entry point using existing performance benchmarking tools like the very powerful and comprehensive "perf" tool on linux. This provides a very powerful way to analyze the performance for free and in a convenient manner with little instrumentation. I do not want the main entry point to be clobbered for such things. Ideally I would just use a simple annotation for any arbitrary function to convert it into an entry point that can be chosen at runtime. I am just giving a general idea here without going into specifics.<div><br></div><div>-harendra</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 12 November 2017 at 21:58, Shea Levy <span dir="ltr"><<a href="mailto:shea@shealevy.com" target="_blank">shea@shealevy.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">What would you be able to achieve with this that you couldn't achieve<br>
with branching in a fixed custom main function?<br>
<br>
Thanks,<br>
Shea<br>
<div><div class="h5"><br>
Harendra Kumar <<a href="mailto:harendra.kumar@gmail.com">harendra.kumar@gmail.com</a>> writes:<br>
<br>
> Hi,<br>
><br>
> GHC allows choosing a main function at link time using the "-main-is"<br>
> option. I was wondering if there is a possibility to choose the main<br>
> function at runtime. Or even better, if something equivalent to "ghc -e"<br>
> is somehow possible in a linked binary executable. If not, are there any<br>
> plans to achieve something like that in future? Are there any theoretical,<br>
> practical obstacles to that?<br>
><br>
> Thanks,<br>
> Harendra<br>
</div></div>> ______________________________<wbr>_________________<br>
> ghc-devs mailing list<br>
> <a href="mailto:ghc-devs@haskell.org">ghc-devs@haskell.org</a><br>
> <a href="http://mail.haskell.org/cgi-">http://mail.haskell.org/cgi-</a><wbr>bin/mailman/listinfo/ghc-devs<br>
</blockquote></div><br></div>