Theano/Theano — pull request #246 by delallea (2011-11-30 16:50:08+00:00)
Title: Changed default compiledir under Windows

This change was advocated by Sebastian Urban, who explained:
When you use roaming profiles in a domain environment the contents of
the user profile directory C:\user\xxx are transferred (copied) from a
file server at login. Login will become slow when many temporary files
are stored in this directory. Therefore they should be stored in
C:\user\xxx\appdata\local because this directory is not synchronized
with a file server. theanorc can stay where it is, because it should
roam with the user profile.

This commit actually changes `config.home` rather than
`config.base_compiledir`, because it is likely that if Theano ever wants
to save more data files (in addition to compiled C modules), the same
remark would apply.

At the same time, `config.home` is being changed to be the home
directory for Theano files, rather than the user home directory. It
was not used anywhere in Theano except to define the location of the
compilation directory, so there was no reason to keep a pointer to the
user home directory while moving the Theano compiled files to another
location.

In order for this change to be safe, an error is raised if a user
attempts to redefine `config.home` without also changing the location of
the compilation directory. Otherwise, Theano files would be compiled in
the parent of the intended folder (if the user is not aware of this
change).

Finally, note that currently, having both `config.home` and
`config.base_compiledir` is redundant, since `home` is only used to
define the default value of `base_compiledir`. So we could just decide
to get rid of `home` (this is out of the scope of this pull request though).