Thanks for the question.
I'm not sure why the alias isn't working. It may have something to do with the way Cursive works. The call to
require works fine for me in the normal Leiningen command-line REPL. It is weird though that it doesn't work at first, then evaluating the current namespace makes it work. I wonder if it's a known Cursive bug.
The last part is simpler, where you can't refer to
halloween-2016. It's because you define it in the
user namespace, then change namespaces.
ns defines a namespace and changes to it. You will need to define
halloween-2016 again in the new namespace.