Add (recur) for functions and stuff.
hy/cmdline.py: Add support for running with --spy -i

There's no reason why one would need to choose between --spy and -i, so
pass down options.spy to run_icommand, and then to HyREPL, so we can
have both.

Signed-off-by: Gergely Nagy <algernon@balabit.hu>
Refactor (loop) in terms of fnr; change to use decorator.
Move "hy on meth" example to eg/.
bin/hy2py: Add a bunch of command-line options

The hy2py tool has been very useful for me, but most of the time, it's
only a part of its output that one is interested in. The whole output,
with source code, AST and python code together is one big monstrosity.
So instead of printing all that, lets have a few handy command-line
options to control which part gets printed.

By default, only the generated python source is, as that's what the name
of the tool implies.

Also, don't run it. That's what hy is for.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Missing "of"
Missing comma
Add set comprehensions, dict comprehensions and generator expressions

Closes: #14 (woo, two-digit tickets)
Correcting a typo
Rewording

Not sure if the rewording is much better.
Correcting typos.
Merge pull request #446 from rubberduckdev/patch-1

Missing "of"
Merge pull request #449 from rubberduckdev/patch-3

Correcting a typo
Silence a "Title underline too short" warning.
Merge pull request #452 from berkerpeksag/silence-title-too-short

Silence a "Title underline too short" warning.
Merge pull request #447 from rubberduckdev/patch-2

Missing comma
Merge pull request #448 from olasd/feature/genexpr

Add set comprehensions, dict comprehensions and generator expressions
hy/lex/parser.py: Move most of the identifier mangling into a def

As a refactoring step, move the identifier mangling done in t_identifier
into a separate def.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
tests/lex/test_lex.py: Add a few tests to cover identifier mangling

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
hy/lex/parser.py: Add support for sub-object mangling

With this patch, every identifier is split up along dots, each part gets
separately mangled, and then it is all joined back together. This allows
for fun stuff like (.foo? (Foo)), and even more contrived examples.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>