<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 16 February 2013 23:19, Jason Grout <span dir="ltr">&lt;<a href="mailto:jason-sage@creativetrax.com" target="_blank">jason-sage@creativetrax.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id=":1pp">k=4<br>
%timeit(runs=k) 2+3<br></div></blockquote><div><br>Give us some credit, that&#39;s already possible ;-)<br><br>%timeit -r $k 2+3 <br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div id=":1pp">
Using straight python instead of a custom string-based file format is<br>
something I learned from IPython when you guys made your config files<br>
actually just python files.  I find it somewhat ironic now that you are<br>
arguing against making something more pythonic, and implicitly rejecting<br>
the programmability and power of having a pythonic syntax :).</div></blockquote></div><br><div class="gmail_extra">For what it&#39;s worth, with hindsight, I&#39;m not sure executable config files were such a great idea:<br>

<br></div>- There&#39;s lots of reasons that we want config that we can modify from the program - to allow GUI configuration dialogs, or changing config from with something like the %config magic. There&#39;s no really good way to do that with an executable config file. If we write the new values into the file, we could be blowing away whatever logic the user already has there. If we store them separately, then sooner or later, the user finds a config value that doesn&#39;t appear to work, because it&#39;s overridden by a value somewhere else.<br>

<br></div><div class="gmail_extra">- More generally, executable config files force you to have a full implementation of the language to load them. That&#39;s not such a problem for us, but I noticed with the xdg-user-dirs mechanism, you can only reliably access the information by running sh in a subprocess. Config in INI, JSON or even sqlite (like Firefox) can be accessed with a simple library.<br>

<br><br></div><div class="gmail_extra">Thomas<br></div></div>