On 10/17/07, Pierre [EMAIL PROTECTED] wrote:
a 'sage-import' command would also make a lot of sense.
Something like that definitely makes sense.
What about
load foo.sage
to load as usual, and
sage_import foo.sage
to do the same as load but put everything in the foo namespace?
I wonder if the command will be too hard to remember.
Another possibility would be:
load foo.sage as foo
would make it so everything in foo.sage is imported into the foo
namespace. Then
attach foo.sage as foo
could also be implemented. Also one could do
load foo.sage as bar
to put everything in the bar namespace.
Thoughts?
On 17 oct, 11:28, Pierre [EMAIL PROTECTED] wrote:
perhaps i'm being silly: i'm assuming that it is possible to preparse
right after 'import' has located the file, and still before it
actually does import it ! this would require modifying python, a bit
of a pain!
On 17 oct, 11:23, Pierre [EMAIL PROTECTED] wrote:
my suggestion is that the standard extension should not be .sage, but
rather .sage.py so import foo.sage would import foo.sage.py. It will
also help python IDEs (thanks for the emacs tweak btw). And i believe
it is true to sage's nature.
Then, import should preparse if the extension is .sage.py, not if it
is just .py.
what do you think ?
On 17 oct, 11:14, William Stein [EMAIL PROTECTED] wrote:
On 10/17/07, Pierre [EMAIL PROTECTED] wrote:
I was wondering how to have my scripts preparsed: now i know. And i
need to tell emacs that a .sage file needs to be treated like a .py
file...
Put this in your .emacs file:
(setq auto-mode-alist (cons '(\\.sage\\' . python-mode)
auto-mode-alist))
a problem with .sage files though is that the import command doesn't
work with them (foo.sage is not found by either 'import foo' or
'import foo.sage'). I *know* there is the 'load' or the 'attach'
command instead, but really i prefer import, because of what it does
with namespaces: having 'foo.f()' is less likely to clash with f()...
same with variables.
I understand. It would indeed be god to have some sort of preparse
then import command. Any suggestions for how it would work (i.e.,
from the user's point of view)? Making
import foo
work if foo.sage is there isn't really an option, since Python directly
does the import, and won't know to look for foo.sage.
William
--
William Stein
Associate Professor of Mathematics
University of Washington
http://wstein.org
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~--~~~~--~~--~--~---