Bob Tolbert
c42492ad84
Fix missing docstrings from defclass issue #248
...
Added ability to parse doc strings set in defclass declarations,
likei:
(defclass Foo [object]
"this is the doc string"
[[x 1]])
2013-07-15 06:58:08 -06:00
Bob Tolbert
df7bb1d29a
Provide bin scripts for both Windows and *nix
...
Summary: This update does away with the scripts in bin and changes
setup.py to use entry_points in cmdline.py for the scripts 'hy' and
'hyc'.
This fixes installing and running on Windows.
The tests are updated to run the 'hy' script produced by setup.py
and not from bin/hy. This is more correct and makes the tox tests
run on both Window and *nix.
For running hy or nosetests directly in the source tree, you do have
to run 'python setup.py develop' first. But since tox runs and builds
dists, all tox tests pass on all platforms.
Also, since there is no built-in readline on Windows, the setup.py
only on Windows requires 'pyreadline' as a replacement.
Switched from optparse to argparse in cmdline.py
Instead of trying to manually separate args meant for
hy from args meant for a hy script, this switches from
optparse to argparse for the CLI.
argparse automatically peels out args meant for hy and leaves
the rest, including the user hy script in options.args.
This fixes the issue @paultag found running "hy foo" where
foo is not a real file. Also added a test that makes sure
trying to run a non-existent script exits instead of dropping
the user into the REPL.
Added argparse as setup.py resource (and removed from tox.ini) as well as removed uses of deprecated setf
2013-07-14 09:06:42 -06:00
Joe H. Rahme
236ebccc74
Removes setf
in favor of setv
2013-07-10 02:16:49 +02:00
Nicolas Dandrimont
1cb8db1cb2
Fix flake error
2013-07-06 20:39:02 +02:00
Morten Linderud
e4ae9880f4
Don't leave cruft around in sys.modules when an import fails.
...
Closes : #214 , #225
Squashed from a bunch of commits by @olasd
2013-07-06 20:37:44 +02:00
Paul Tagliamonte
b78be9a594
Jank @olasd's hack, clean up core.
...
The core shall from now on be only for the core language bits. Macro
bits shall live in hy.macros and in hy.compiler. This cleans up
garbage.
2013-07-06 14:00:11 -04:00
Paul Tagliamonte
86af7eacf1
Add in a new core language file.
...
This will let us implement common functions seen in other lisps,
and allow them to be importable, without explicit imports. The goal
is to keep this as small as we can; we don't want too much magic.
I've added `take' and `drop' as examples of what we can do.
2013-06-29 18:51:11 -04:00
Nicolas Dandrimont
b65c2a4596
whitespace fix
2013-06-26 08:50:37 +02:00
Guillermo Vaya
7b7b953410
set the value of empty hy expression to []
2013-06-26 08:50:37 +02:00
Paul Tagliamonte
59550c9abd
tell flake8 to shut up
2013-06-25 19:23:44 -04:00
Paul Tagliamonte
2f16ad6e78
Merge branch 'master' into pr/208
2013-06-25 19:20:58 -04:00
Morten Linderud
42468051f5
Builtins fix for 2 and 3, tests aswell
2013-06-25 17:02:02 +02:00
Morten Linderud
73c1f218e2
fixed a bug and added tests
2013-06-24 03:26:40 +02:00
Paul Tagliamonte
289586b340
Adding back in keywords.
...
Yes, I'm your hero, @algernon
2013-06-18 22:57:51 -04:00
Paul Tagliamonte
b00f181e1e
Merge branch 'master' into pr/187
2013-06-18 21:17:13 -04:00
Paul Tagliamonte
4aca7842cd
Add regression test for UTF and escapes.
2013-06-08 20:17:50 -04:00
Konrad Hinsen
2674016d3d
More tests
2013-06-07 16:36:04 +02:00
Konrad Hinsen
6eacf63b53
Provide both eval-and-compile and eval-when-compile
2013-06-07 16:36:04 +02:00
Konrad Hinsen
80105d9731
eval-when-compile permits compile-time definitions that can be used from macros
2013-06-07 16:36:04 +02:00
Konrad Hinsen
12abef5ed5
Forgot boolean constants..
2013-06-07 16:35:28 +02:00
Konrad Hinsen
e47bac1f96
Permit macros to return constants
2013-06-05 12:19:06 +02:00
Paul Tagliamonte
9c28e0292d
Merge branch 'master' into pr/185
...
Conflicts:
hy/macros.py
tests/compilers/test_compiler.py
Hoodoggy!
2013-05-17 11:17:51 -04:00
Paul Tagliamonte
c0fd41620f
Merge branch 'master' into pr/182
2013-05-17 11:09:37 -04:00
Paul Tagliamonte
5a1b004bfb
Merge branch 'master' into pr/179
2013-05-17 11:08:30 -04:00
Konrad Hinsen
269da19d76
Make macros module-specific.
...
A macro is available in the module where it was defined and
in any module that does a require of the defining module.
Only macros defined in hy.core are globally available.
Fixes #181
2013-05-16 15:34:14 +02:00
Konrad Hinsen
b7c5ff2991
Refactor test_ast.py to eliminate the lots of hy_compile(tokenize(...)) calls
2013-05-16 15:30:44 +02:00
Nicolas Dandrimont
f939ae9544
Test quoting dicts
2013-05-14 12:10:29 +02:00
Nicolas Dandrimont
3252af3129
Add tests for expr-in-dict
2013-05-14 12:01:23 +02:00
Nicolas Dandrimont
9e03e0e6ec
Modify HyDict semantics to allow nesting expressions
...
HyDicts are now HyLists, that get compiled down to dicts
only by the compiler.
2013-05-14 11:43:17 +02:00
Julien Danjou
66e5af4a82
Write a test for builds() check
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-05-14 11:03:13 +02:00
Julien Danjou
4e202aa1a5
Check that compiler error are user always user friendly
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-05-13 18:14:39 +02:00
Nicolas Dandrimont
1e7c90c44e
Test requires from native code
2013-05-11 21:25:21 +02:00
Nicolas Dandrimont
bd478590fa
Make that test macro more lispy
2013-05-11 21:25:21 +02:00
Nicolas Dandrimont
31c14e4167
Merge remote-tracking branch 'paultag/feature/native-macros' into feature/native-macros
...
Conflicts:
hy/compiler.py
tests/__init__.py
2013-05-11 20:18:40 +02:00
Paul Tagliamonte
636eec8f51
style fixes
2013-05-11 13:59:19 -04:00
Nicolas Dandrimont
0bbce2a819
Add a native macros test
2013-05-11 19:40:48 +02:00
Nicolas Dandrimont
0986f9001e
Change macros to be called with separate arguments
...
This provides free argument-length checking for macros.
2013-05-11 09:09:34 +02:00
Paul Tagliamonte
2426237916
Add the (require) form.
2013-05-10 23:43:34 -04:00
Nicolas Dandrimont
2860ef6ff7
Don't macro-expand inside quotes
2013-05-11 00:29:42 +02:00
Nicolas Dandrimont
68399b9fc3
Make sure splicing works at all times
2013-05-11 00:26:37 +02:00
Nicolas Dandrimont
e039c73abd
Add tests for quasiquoting
2013-05-10 23:42:38 +02:00
Paul Tagliamonte
9811b7514e
Merge branch 'master' into pr/171
2013-05-09 20:39:49 -04:00
Paul Tagliamonte
1fa53f9255
Try/Except: Ensure that we return properly
...
From both inside a try and in an exception handler.
2013-05-08 20:41:16 -04:00
Nicolas Dandrimont
488fa89e09
Add some tests for kwapplying expressions
2013-05-09 02:33:14 +02:00
Paul Tagliamonte
98134e7396
Merge branch 'master' into bugfix/paultag/fix-try-except
2013-05-08 20:22:51 -04:00
Paul Tagliamonte
066c9781c7
Merge branch 'master' into pr/170
2013-05-08 20:11:57 -04:00
Paul Tagliamonte
72461a5cdb
style tweak
2013-05-08 20:07:38 -04:00
Paul Tagliamonte
058197a24f
Allow returning inside a try / except. Closes #163
2013-05-08 20:00:09 -04:00
Paul Tagliamonte
ceedc69b7d
Correct existing tests for future try / except work.
2013-05-08 19:58:36 -04:00
Nicolas Dandrimont
4e3f842972
Add &optional arguments.
...
Python doesn't really have that concept, so make them clash with &key arguments.
2013-05-08 21:11:33 +02:00